h263data.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. * copyright (c) 2000,2001 Fabrice Bellard
  3. * H.263+ support
  4. * copyright (c) 2001 Juan J. Sierralta P
  5. * copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
  6. *
  7. * This file is part of FFmpeg.
  8. *
  9. * FFmpeg is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU Lesser General Public
  11. * License as published by the Free Software Foundation; either
  12. * version 2.1 of the License, or (at your option) any later version.
  13. *
  14. * FFmpeg is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  17. * Lesser General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU Lesser General Public
  20. * License along with FFmpeg; if not, write to the Free Software
  21. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  22. */
  23. /**
  24. * @file
  25. * H.263 tables.
  26. */
  27. #ifndef AVCODEC_H263DATA_H
  28. #define AVCODEC_H263DATA_H
  29. #include <stdint.h>
  30. #include "libavutil/rational.h"
  31. #include "rl.h"
  32. extern const AVRational ff_h263_pixel_aspect[16];
  33. /* intra MCBPC, mb_type = (intra), then (intraq) */
  34. extern const uint8_t ff_h263_intra_MCBPC_code[9];
  35. extern const uint8_t ff_h263_intra_MCBPC_bits[9];
  36. /* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */
  37. /* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */
  38. extern const uint8_t ff_h263_inter_MCBPC_code[28];
  39. extern const uint8_t ff_h263_inter_MCBPC_bits[28];
  40. extern const uint8_t ff_h263_mbtype_b_tab[15][2];
  41. extern const uint8_t ff_cbpc_b_tab[4][2];
  42. extern const uint8_t ff_h263_cbpy_tab[16][2];
  43. extern const uint8_t ff_mvtab[33][2];
  44. /* third non intra table */
  45. extern const uint16_t ff_inter_vlc[103][2];
  46. extern const int8_t ff_inter_level[102];
  47. extern const int8_t ff_inter_run[102];
  48. extern RLTable ff_h263_rl_inter;
  49. extern RLTable ff_rl_intra_aic;
  50. extern uint8_t ff_h263_static_rl_table_store[2][2][2 * MAX_RUN + MAX_LEVEL + 3];
  51. extern const uint16_t ff_h263_format[8][2];
  52. extern const uint8_t ff_aic_dc_scale_table[32];
  53. extern const uint8_t ff_modified_quant_tab[2][32];
  54. extern const uint8_t ff_h263_chroma_qscale_table[32];
  55. extern const uint16_t ff_mba_max[6];
  56. extern const uint8_t ff_mba_length[7];
  57. #endif /* AVCODEC_H263DATA_H */