1cabdff1aSopenharmony_ci/* 2cabdff1aSopenharmony_ci * This file is part of FFmpeg. 3cabdff1aSopenharmony_ci * 4cabdff1aSopenharmony_ci * FFmpeg is free software; you can redistribute it and/or 5cabdff1aSopenharmony_ci * modify it under the terms of the GNU Lesser General Public 6cabdff1aSopenharmony_ci * License as published by the Free Software Foundation; either 7cabdff1aSopenharmony_ci * version 2.1 of the License, or (at your option) any later version. 8cabdff1aSopenharmony_ci * 9cabdff1aSopenharmony_ci * FFmpeg is distributed in the hope that it will be useful, 10cabdff1aSopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of 11cabdff1aSopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12cabdff1aSopenharmony_ci * Lesser General Public License for more details. 13cabdff1aSopenharmony_ci * 14cabdff1aSopenharmony_ci * You should have received a copy of the GNU Lesser General Public 15cabdff1aSopenharmony_ci * License along with FFmpeg; if not, write to the Free Software 16cabdff1aSopenharmony_ci * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17cabdff1aSopenharmony_ci */ 18cabdff1aSopenharmony_ci 19cabdff1aSopenharmony_ci#ifndef AVCODEC_H264DATA_H 20cabdff1aSopenharmony_ci#define AVCODEC_H264DATA_H 21cabdff1aSopenharmony_ci 22cabdff1aSopenharmony_ci#include <stdint.h> 23cabdff1aSopenharmony_ci 24cabdff1aSopenharmony_ci#include "libavutil/rational.h" 25cabdff1aSopenharmony_ci#include "h264.h" 26cabdff1aSopenharmony_ci 27cabdff1aSopenharmony_ciextern const uint8_t ff_h264_golomb_to_pict_type[5]; 28cabdff1aSopenharmony_ciextern const uint8_t ff_h264_golomb_to_intra4x4_cbp[48]; 29cabdff1aSopenharmony_ciextern const uint8_t ff_h264_golomb_to_inter_cbp[48]; 30cabdff1aSopenharmony_ci 31cabdff1aSopenharmony_ciextern const uint8_t ff_h264_chroma_dc_scan[4]; 32cabdff1aSopenharmony_ciextern const uint8_t ff_h264_chroma422_dc_scan[8]; 33cabdff1aSopenharmony_ci 34cabdff1aSopenharmony_citypedef struct IMbInfo { 35cabdff1aSopenharmony_ci uint16_t type; 36cabdff1aSopenharmony_ci uint8_t pred_mode; 37cabdff1aSopenharmony_ci uint8_t cbp; 38cabdff1aSopenharmony_ci} IMbInfo; 39cabdff1aSopenharmony_ci 40cabdff1aSopenharmony_ciextern const IMbInfo ff_h264_i_mb_type_info[26]; 41cabdff1aSopenharmony_ci 42cabdff1aSopenharmony_citypedef struct PMbInfo { 43cabdff1aSopenharmony_ci uint16_t type; 44cabdff1aSopenharmony_ci uint8_t partition_count; 45cabdff1aSopenharmony_ci} PMbInfo; 46cabdff1aSopenharmony_ci 47cabdff1aSopenharmony_ciextern const PMbInfo ff_h264_p_mb_type_info[5]; 48cabdff1aSopenharmony_ciextern const PMbInfo ff_h264_p_sub_mb_type_info[4]; 49cabdff1aSopenharmony_ciextern const PMbInfo ff_h264_b_mb_type_info[23]; 50cabdff1aSopenharmony_ciextern const PMbInfo ff_h264_b_sub_mb_type_info[13]; 51cabdff1aSopenharmony_ci 52cabdff1aSopenharmony_cistatic const AVRational ff_h264_pixel_aspect[17] = { 53cabdff1aSopenharmony_ci { 0, 1 }, 54cabdff1aSopenharmony_ci { 1, 1 }, 55cabdff1aSopenharmony_ci { 12, 11 }, 56cabdff1aSopenharmony_ci { 10, 11 }, 57cabdff1aSopenharmony_ci { 16, 11 }, 58cabdff1aSopenharmony_ci { 40, 33 }, 59cabdff1aSopenharmony_ci { 24, 11 }, 60cabdff1aSopenharmony_ci { 20, 11 }, 61cabdff1aSopenharmony_ci { 32, 11 }, 62cabdff1aSopenharmony_ci { 80, 33 }, 63cabdff1aSopenharmony_ci { 18, 11 }, 64cabdff1aSopenharmony_ci { 15, 11 }, 65cabdff1aSopenharmony_ci { 64, 33 }, 66cabdff1aSopenharmony_ci { 160, 99 }, 67cabdff1aSopenharmony_ci { 4, 3 }, 68cabdff1aSopenharmony_ci { 3, 2 }, 69cabdff1aSopenharmony_ci { 2, 1 }, 70cabdff1aSopenharmony_ci}; 71cabdff1aSopenharmony_ci 72cabdff1aSopenharmony_ciextern const uint8_t ff_h264_dequant4_coeff_init[6][3]; 73cabdff1aSopenharmony_ciextern const uint8_t ff_h264_dequant8_coeff_init_scan[16]; 74cabdff1aSopenharmony_ciextern const uint8_t ff_h264_dequant8_coeff_init[6][6]; 75cabdff1aSopenharmony_ciextern const uint8_t ff_h264_quant_rem6[QP_MAX_NUM + 1]; 76cabdff1aSopenharmony_ciextern const uint8_t ff_h264_quant_div6[QP_MAX_NUM + 1]; 77cabdff1aSopenharmony_ci 78cabdff1aSopenharmony_ciextern const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM + 1]; 79cabdff1aSopenharmony_ci 80cabdff1aSopenharmony_ci#endif /* AVCODEC_H264DATA_H */ 81