blob: a431d58f12cd09e0d0060ab87b29da960198dbcf [file] [log] [blame]
Diego Biurrun04d7f602006-09-10 14:02:421/*
2 * copyright (c) 2000,2001 Fabrice Bellard
Vittorio Giovara41ed7ab2016-04-27 17:45:233 * H.263+ support
Diego Biurrun406792e2009-01-19 15:46:404 * copyright (c) 2001 Juan J. Sierralta P
Diego Biurrun04d7f602006-09-10 14:02:425 * copyright (c) 2002-2004 Michael Niedermayer <[email protected]>
6 *
Mans Rullgard2912e872011-03-18 17:35:107 * This file is part of Libav.
Diego Biurrunb78e7192006-10-07 15:30:468 *
Mans Rullgard2912e872011-03-18 17:35:109 * Libav is free software; you can redistribute it and/or
Diego Biurrun04d7f602006-09-10 14:02:4210 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
Diego Biurrunb78e7192006-10-07 15:30:4612 * version 2.1 of the License, or (at your option) any later version.
Diego Biurrun04d7f602006-09-10 14:02:4213 *
Mans Rullgard2912e872011-03-18 17:35:1014 * Libav is distributed in the hope that it will be useful,
Diego Biurrun04d7f602006-09-10 14:02:4215 * 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
Mans Rullgard2912e872011-03-18 17:35:1020 * License along with Libav; if not, write to the Free Software
Diego Biurrun04d7f602006-09-10 14:02:4221 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
Michael Niedermayer983e3242003-03-06 11:32:0424/**
Diego Biurrunba87f082010-04-20 14:45:3425 * @file
Michael Niedermayer983e3242003-03-06 11:32:0426 * H.263 tables.
27 */
28
Stefano Sabatini98790382008-08-31 07:39:4729#ifndef AVCODEC_H263DATA_H
30#define AVCODEC_H263DATA_H
Måns Rullgård699b3f92007-06-17 00:01:3031
Måns Rullgård99545452007-06-16 22:59:1332#include <stdint.h>
Vittorio Giovarae3d0f492015-06-10 13:29:0533
34#include "libavutil/rational.h"
35
36#include "rl.h"
37
38extern const AVRational ff_h263_pixel_aspect[16];
Fabrice Bellardde6d9b62001-07-22 14:18:5639
40/* intra MCBPC, mb_type = (intra), then (intraq) */
Vittorio Giovarae3d0f492015-06-10 13:29:0541extern const uint8_t ff_h263_intra_MCBPC_code[9];
42extern const uint8_t ff_h263_intra_MCBPC_bits[9];
Fabrice Bellardde6d9b62001-07-22 14:18:5643
44/* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */
Juanjo96815ce2001-11-17 21:14:5445/* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */
Vittorio Giovarae3d0f492015-06-10 13:29:0546extern const uint8_t ff_h263_inter_MCBPC_code[28];
47extern const uint8_t ff_h263_inter_MCBPC_bits[28];
Juanjo49490282001-11-03 00:49:5348
Vittorio Giovarae3d0f492015-06-10 13:29:0549extern const uint8_t ff_h263_mbtype_b_tab[15][2];
Michael Niedermayerb40cd4e2003-12-04 18:34:4750
Vittorio Giovarae3d0f492015-06-10 13:29:0551extern const uint8_t ff_cbpc_b_tab[4][2];
52extern const uint8_t ff_h263_cbpy_tab[16][2];
Michael Niedermayerb40cd4e2003-12-04 18:34:4753
Vittorio Giovarae3d0f492015-06-10 13:29:0554extern const uint8_t ff_mvtab[33][2];
Fabrice Bellardde6d9b62001-07-22 14:18:5655
56/* third non intra table */
Vittorio Giovarae3d0f492015-06-10 13:29:0557extern const uint16_t ff_inter_vlc[103][2];
Fabrice Bellardde6d9b62001-07-22 14:18:5658
Vittorio Giovarae3d0f492015-06-10 13:29:0559extern const int8_t ff_inter_level[102];
60extern const int8_t ff_inter_run[102];
Fabrice Bellardde6d9b62001-07-22 14:18:5661
Vittorio Giovarae3d0f492015-06-10 13:29:0562extern RLTable ff_h263_rl_inter;
63extern RLTable ff_rl_intra_aic;
64extern uint8_t ff_h263_static_rl_table_store[2][2][2 * MAX_RUN + MAX_LEVEL + 3];
Fabrice Bellardde6d9b62001-07-22 14:18:5665
Vittorio Giovarae3d0f492015-06-10 13:29:0566extern const uint16_t ff_h263_format[8][2];
Fabrice Bellardde6d9b62001-07-22 14:18:5667
Vittorio Giovarae3d0f492015-06-10 13:29:0568extern const uint8_t ff_aic_dc_scale_table[32];
Juanjod1406232002-02-18 19:33:2769
Vittorio Giovarae3d0f492015-06-10 13:29:0570extern const uint8_t ff_modified_quant_tab[2][32];
Juanjoef5b1b52002-05-02 04:39:4571
Vittorio Giovarae3d0f492015-06-10 13:29:0572extern const uint8_t ff_h263_chroma_qscale_table[32];
Juanjod1406232002-02-18 19:33:2773
Vittorio Giovarae3d0f492015-06-10 13:29:0574extern uint16_t ff_mba_max[6];
75extern uint8_t ff_mba_length[7];
Michael Niedermayerca334dd2010-01-07 23:53:4976
Stefano Sabatini98790382008-08-31 07:39:4777#endif /* AVCODEC_H263DATA_H */