1*a97c2a1fSXin Li /****************************************************************************** 2*a97c2a1fSXin Li * 3*a97c2a1fSXin Li * Copyright (C) 2015 The Android Open Source Project 4*a97c2a1fSXin Li * 5*a97c2a1fSXin Li * Licensed under the Apache License, Version 2.0 (the "License"); 6*a97c2a1fSXin Li * you may not use this file except in compliance with the License. 7*a97c2a1fSXin Li * You may obtain a copy of the License at: 8*a97c2a1fSXin Li * 9*a97c2a1fSXin Li * http://www.apache.org/licenses/LICENSE-2.0 10*a97c2a1fSXin Li * 11*a97c2a1fSXin Li * Unless required by applicable law or agreed to in writing, software 12*a97c2a1fSXin Li * distributed under the License is distributed on an "AS IS" BASIS, 13*a97c2a1fSXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*a97c2a1fSXin Li * See the License for the specific language governing permissions and 15*a97c2a1fSXin Li * limitations under the License. 16*a97c2a1fSXin Li * 17*a97c2a1fSXin Li ***************************************************************************** 18*a97c2a1fSXin Li * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*a97c2a1fSXin Li */ 20*a97c2a1fSXin Li #ifndef __IMPEG2D_VLD_TABLES_H__ 21*a97c2a1fSXin Li #define __IMPEG2D_VLD_TABLES_H__ 22*a97c2a1fSXin Li 23*a97c2a1fSXin Li 24*a97c2a1fSXin Li #define MB_ADDR_INCR_OFFSET 34 25*a97c2a1fSXin Li #define MB_ADDR_INCR_LEN 11 26*a97c2a1fSXin Li #define MB_TYPE_LEN 6 27*a97c2a1fSXin Li #define MV_CODE_LEN 11 28*a97c2a1fSXin Li #define MB_CBP_LEN 9 29*a97c2a1fSXin Li 30*a97c2a1fSXin Li 31*a97c2a1fSXin Li 32*a97c2a1fSXin Li #define MB_BIDRECT 0x20 33*a97c2a1fSXin Li #define MB_QUANT 0x10 34*a97c2a1fSXin Li #define MB_MV_FORW 0x8 35*a97c2a1fSXin Li #define MB_MV_BACK 0x4 36*a97c2a1fSXin Li #define MB_PATTERN 0x2 37*a97c2a1fSXin Li #define MB_TYPE_INTRA 0x1 38*a97c2a1fSXin Li #define MB_FORW_OR_BACK (MB_MV_FORW | MB_MV_BACK) 39*a97c2a1fSXin Li #define MB_CODED (MB_TYPE_INTRA | MB_PATTERN) 40*a97c2a1fSXin Li 41*a97c2a1fSXin Li 42*a97c2a1fSXin Li #define MPEG2_MB_ADDR_INCR_OFFSET 34 43*a97c2a1fSXin Li #define MPEG2_INTRA_MBTYPE_OFFSET 69 44*a97c2a1fSXin Li #define MPEG2_INTER_MBTYPE_OFFSET 105 45*a97c2a1fSXin Li #define MPEG2_BVOP_MBTYPE_OFFSET 125 46*a97c2a1fSXin Li #define MPEG2_DCT_DC_SIZE_OFFSET 12 47*a97c2a1fSXin Li #define MPEG2_CBP_OFFSET 64 48*a97c2a1fSXin Li #define MPEG2_MOTION_CODE_OFFSET 17 49*a97c2a1fSXin Li #define MPEG2_DMV_OFFSET 2 50*a97c2a1fSXin Li 51*a97c2a1fSXin Li #define MPEG2_AC_COEFF_MAX_LEN 16 52*a97c2a1fSXin Li #define MB_ADDR_INCR_LEN 11 53*a97c2a1fSXin Li #define MPEG2_INTRA_MBTYPE_LEN 2 54*a97c2a1fSXin Li #define MPEG2_INTER_MBTYPE_LEN 6 55*a97c2a1fSXin Li 56*a97c2a1fSXin Li #define MPEG2_DCT_DC_SIZE_LEN 9 57*a97c2a1fSXin Li #define MPEG2_DCT_DC_LUMA_SIZE_LEN 9 58*a97c2a1fSXin Li #define MPEG2_DCT_DC_CHROMA_SIZE_LEN 10 59*a97c2a1fSXin Li #define MPEG2_CBP_LEN 9 60*a97c2a1fSXin Li #define MPEG2_MOTION_CODE_LEN 11 61*a97c2a1fSXin Li #define MPEG2_DMV_LEN 2 62*a97c2a1fSXin Li 63*a97c2a1fSXin Li #define END_OF_BLOCK 0x01 64*a97c2a1fSXin Li #define ESCAPE_CODE 0x06 65*a97c2a1fSXin Li 66*a97c2a1fSXin Li /* Table to be used for decoding the MB increment value */ 67*a97c2a1fSXin Li extern const WORD16 gai2_impeg2d_mb_addr_incr[][2]; 68*a97c2a1fSXin Li extern const WORD16 gai2_impeg2d_dct_dc_size[][11][2]; 69*a97c2a1fSXin Li 70*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_dct_coeff_zero[]; 71*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_dct_coeff_one[]; 72*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_offset_zero[]; 73*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_offset_one[]; 74*a97c2a1fSXin Li 75*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_tab_zero_1_9[]; 76*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_tab_one_1_9[]; 77*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_tab_zero_10_16[]; 78*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_tab_one_10_16[]; 79*a97c2a1fSXin Li 80*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_p_mb_type[]; 81*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_b_mb_type[]; 82*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_mv_code[]; 83*a97c2a1fSXin Li extern const WORD16 gai2_impeg2d_dec_mv[4]; 84*a97c2a1fSXin Li extern const UWORD16 gau2_impeg2d_cbp_code[]; 85*a97c2a1fSXin Li 86*a97c2a1fSXin Li 87*a97c2a1fSXin Li #endif /* __IMPEG2D_VLD_TABLES_H__ */ 88*a97c2a1fSXin Li 89