Diego Biurrun | 04d7f60 | 2006-09-10 14:02:42 | [diff] [blame] | 1 | /* |
| 2 | * copyright (c) 2000,2001 Fabrice Bellard |
Vittorio Giovara | 41ed7ab | 2016-04-27 17:45:23 | [diff] [blame] | 3 | * H.263+ support |
Diego Biurrun | 406792e | 2009-01-19 15:46:40 | [diff] [blame] | 4 | * copyright (c) 2001 Juan J. Sierralta P |
Diego Biurrun | 04d7f60 | 2006-09-10 14:02:42 | [diff] [blame] | 5 | * copyright (c) 2002-2004 Michael Niedermayer <[email protected]> |
| 6 | * |
Diego Biurrun | b78e719 | 2006-10-07 15:30:46 | [diff] [blame] | 7 | * This file is part of FFmpeg. |
| 8 | * |
| 9 | * FFmpeg is free software; you can redistribute it and/or |
Diego Biurrun | 04d7f60 | 2006-09-10 14:02:42 | [diff] [blame] | 10 | * modify it under the terms of the GNU Lesser General Public |
| 11 | * License as published by the Free Software Foundation; either |
Diego Biurrun | b78e719 | 2006-10-07 15:30:46 | [diff] [blame] | 12 | * version 2.1 of the License, or (at your option) any later version. |
Diego Biurrun | 04d7f60 | 2006-09-10 14:02:42 | [diff] [blame] | 13 | * |
Diego Biurrun | b78e719 | 2006-10-07 15:30:46 | [diff] [blame] | 14 | * FFmpeg is distributed in the hope that it will be useful, |
Diego Biurrun | 04d7f60 | 2006-09-10 14:02:42 | [diff] [blame] | 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 |
Diego Biurrun | b78e719 | 2006-10-07 15:30:46 | [diff] [blame] | 20 | * License along with FFmpeg; if not, write to the Free Software |
Diego Biurrun | 04d7f60 | 2006-09-10 14:02:42 | [diff] [blame] | 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| 22 | */ |
| 23 | |
Michael Niedermayer | 983e324 | 2003-03-06 11:32:04 | [diff] [blame] | 24 | /** |
Diego Biurrun | ba87f08 | 2010-04-20 14:45:34 | [diff] [blame] | 25 | * @file |
Michael Niedermayer | 983e324 | 2003-03-06 11:32:04 | [diff] [blame] | 26 | * H.263 tables. |
| 27 | */ |
| 28 | |
Stefano Sabatini | 9879038 | 2008-08-31 07:39:47 | [diff] [blame] | 29 | #ifndef AVCODEC_H263DATA_H |
| 30 | #define AVCODEC_H263DATA_H |
Måns Rullgård | 699b3f9 | 2007-06-17 00:01:30 | [diff] [blame] | 31 | |
Måns Rullgård | 9954545 | 2007-06-16 22:59:13 | [diff] [blame] | 32 | #include <stdint.h> |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 33 | |
| 34 | #include "libavutil/rational.h" |
| 35 | |
| 36 | #include "rl.h" |
| 37 | |
| 38 | extern const AVRational ff_h263_pixel_aspect[16]; |
Fabrice Bellard | de6d9b6 | 2001-07-22 14:18:56 | [diff] [blame] | 39 | |
| 40 | /* intra MCBPC, mb_type = (intra), then (intraq) */ |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 41 | extern const uint8_t ff_h263_intra_MCBPC_code[9]; |
| 42 | extern const uint8_t ff_h263_intra_MCBPC_bits[9]; |
Fabrice Bellard | de6d9b6 | 2001-07-22 14:18:56 | [diff] [blame] | 43 | |
| 44 | /* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */ |
Juanjo | 96815ce | 2001-11-17 21:14:54 | [diff] [blame] | 45 | /* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */ |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 46 | extern const uint8_t ff_h263_inter_MCBPC_code[28]; |
| 47 | extern const uint8_t ff_h263_inter_MCBPC_bits[28]; |
Juanjo | 4949028 | 2001-11-03 00:49:53 | [diff] [blame] | 48 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 49 | extern const uint8_t ff_h263_mbtype_b_tab[15][2]; |
Michael Niedermayer | b40cd4e | 2003-12-04 18:34:47 | [diff] [blame] | 50 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 51 | extern const uint8_t ff_cbpc_b_tab[4][2]; |
| 52 | extern const uint8_t ff_h263_cbpy_tab[16][2]; |
Michael Niedermayer | b40cd4e | 2003-12-04 18:34:47 | [diff] [blame] | 53 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 54 | extern const uint8_t ff_mvtab[33][2]; |
Fabrice Bellard | de6d9b6 | 2001-07-22 14:18:56 | [diff] [blame] | 55 | |
| 56 | /* third non intra table */ |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 57 | extern const uint16_t ff_inter_vlc[103][2]; |
Fabrice Bellard | de6d9b6 | 2001-07-22 14:18:56 | [diff] [blame] | 58 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 59 | extern const int8_t ff_inter_level[102]; |
| 60 | extern const int8_t ff_inter_run[102]; |
Fabrice Bellard | de6d9b6 | 2001-07-22 14:18:56 | [diff] [blame] | 61 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 62 | extern RLTable ff_h263_rl_inter; |
| 63 | extern RLTable ff_rl_intra_aic; |
Fabrice Bellard | de6d9b6 | 2001-07-22 14:18:56 | [diff] [blame] | 64 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 65 | extern const uint16_t ff_h263_format[8][2]; |
Fabrice Bellard | de6d9b6 | 2001-07-22 14:18:56 | [diff] [blame] | 66 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 67 | extern const uint8_t ff_aic_dc_scale_table[32]; |
Juanjo | d140623 | 2002-02-18 19:33:27 | [diff] [blame] | 68 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 69 | extern const uint8_t ff_modified_quant_tab[2][32]; |
Juanjo | ef5b1b5 | 2002-05-02 04:39:45 | [diff] [blame] | 70 | |
Vittorio Giovara | e3d0f49 | 2015-06-10 13:29:05 | [diff] [blame] | 71 | extern const uint8_t ff_h263_chroma_qscale_table[32]; |
Juanjo | d140623 | 2002-02-18 19:33:27 | [diff] [blame] | 72 | |
Michael Niedermayer | 218f58a | 2015-06-12 18:57:37 | [diff] [blame] | 73 | extern const uint16_t ff_mba_max[6]; |
| 74 | extern const uint8_t ff_mba_length[7]; |
Michael Niedermayer | ca334dd | 2010-01-07 23:53:49 | [diff] [blame] | 75 | |
Stefano Sabatini | 9879038 | 2008-08-31 07:39:47 | [diff] [blame] | 76 | #endif /* AVCODEC_H263DATA_H */ |