1 /****************************************************************************** 2 * 3 * Copyright (C) 2015 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************************** 18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 */ 20 21 /*! 22 ************************************************************************** 23 * \file ih264d_parse_islice.h 24 * 25 * \brief 26 * Contains routines that decode a I slice type 27 * 28 * Detailed_description 29 * 30 * \date 31 * 07/07/2003 32 * 33 * \author NS 34 ************************************************************************** 35 */ 36 37 #ifndef _IH264D_PARSE_ISLICE_H_ 38 #define _IH264D_PARSE_ISLICE_H_ 39 40 #include "ih264_typedefs.h" 41 #include "ih264_macros.h" 42 #include "ih264_platform_macros.h" 43 #include "ih264d_tables.h" 44 45 WORD32 ih264d_parse_residual4x4_cavlc(dec_struct_t * ps_dec, 46 dec_mb_info_t *ps_cur_mb_info, 47 UWORD8 u1_offset); 48 WORD32 ih264d_parse_residual4x4_cabac(dec_struct_t * ps_dec, 49 dec_mb_info_t *ps_cur_mb_info, 50 UWORD8 u1_offset); 51 WORD32 ih264d_parse_imb_cavlc(dec_struct_t * ps_dec, 52 dec_mb_info_t * ps_cur_mb_info, 53 UWORD8 u1_mb_num, 54 UWORD8 u1_mb_type); 55 WORD32 ih264d_parse_imb_cabac(dec_struct_t * ps_dec, 56 dec_mb_info_t * ps_cur_mb_info, 57 UWORD8 u1_mb_type); 58 59 WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec, 60 dec_slice_params_t * ps_slice, 61 UWORD16 u2_first_mb_in_slice); 62 WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec, 63 dec_slice_params_t * ps_slice, 64 UWORD16 u2_first_mb_in_slice); 65 WORD32 ih264d_parse_pmb_cavlc(dec_struct_t * ps_dec, 66 dec_mb_info_t * ps_cur_mb_info, 67 UWORD8 u1_mb_num, 68 UWORD8 u1_num_mbsNby2); 69 WORD32 ih264d_parse_pmb_cabac(dec_struct_t * ps_dec, 70 dec_mb_info_t * ps_cur_mb_info, 71 UWORD8 u1_mb_num, 72 UWORD8 u1_num_mbsNby2); 73 74 WORD32 ih264d_parse_bmb_non_direct_cavlc(dec_struct_t * ps_dec, 75 dec_mb_info_t * ps_cur_mb_info, 76 UWORD8 u1_mb_num, 77 UWORD8 u1_mbNumModNBy2); 78 79 WORD32 ih264d_parse_bmb_non_direct_cabac(dec_struct_t * ps_dec, 80 dec_mb_info_t * ps_cur_mb_info, 81 UWORD8 u1_mb_num, 82 UWORD8 u1_mbNumModNBy2); 83 84 WORD32 ih264d_parse_bmb_cavlc(dec_struct_t * ps_dec, 85 dec_mb_info_t * ps_cur_mb_info, 86 UWORD8 u1_mb_num, 87 UWORD8 u1_num_mbsNby2); 88 89 WORD32 ih264d_parse_bmb_cabac(dec_struct_t * ps_dec, 90 dec_mb_info_t * ps_cur_mb_info, 91 UWORD8 u1_mb_num, 92 UWORD8 u1_num_mbsNby2); 93 94 WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec, 95 dec_slice_params_t * ps_slice, 96 UWORD16 u2_first_mb_in_slice); 97 98 WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec, 99 dec_slice_params_t * ps_slice, 100 UWORD16 u2_first_mb_in_slice); 101 102 WORD32 ParseBMb(dec_struct_t * ps_dec, 103 dec_mb_info_t * ps_cur_mb_info, 104 UWORD8 u1_mb_num, 105 UWORD8 u1_num_mbsNby2); 106 107 WORD32 ih264d_parse_ipcm_mb(dec_struct_t * ps_dec, 108 dec_mb_info_t *ps_cur_mb_info, 109 UWORD8 u1_mbNum); 110 WORD32 ih264d_parse_islice(dec_struct_t *ps_dec, 111 UWORD16 u2_first_mb_in_slice); 112 113 #endif /* _IH264D_PARSE_ISLICE_H_ */ 114