tokenize.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
  3. *
  4. * Use of this source code is governed by a BSD-style license
  5. * that can be found in the LICENSE file in the root of the source
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. #ifndef VPX_VP8_ENCODER_TOKENIZE_H_
  11. #define VPX_VP8_ENCODER_TOKENIZE_H_
  12. #include "vp8/common/entropy.h"
  13. #include "block.h"
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. void vp8_tokenize_initialize();
  18. typedef struct {
  19. short Token;
  20. short Extra;
  21. } TOKENVALUE;
  22. typedef struct {
  23. const vp8_prob *context_tree;
  24. short Extra;
  25. unsigned char Token;
  26. unsigned char skip_eob_node;
  27. } TOKENEXTRA;
  28. int rd_cost_mby(MACROBLOCKD *);
  29. extern const short *const vp8_dct_value_cost_ptr;
  30. /* TODO: The Token field should be broken out into a separate char array to
  31. * improve cache locality, since it's needed for costing when the rest of the
  32. * fields are not.
  33. */
  34. extern const TOKENVALUE *const vp8_dct_value_tokens_ptr;
  35. #ifdef __cplusplus
  36. } // extern "C"
  37. #endif
  38. #endif // VPX_VP8_ENCODER_TOKENIZE_H_