blob: 6a43d7b38035bb93b52c7d8c18eb98ec5529dd3d [file] [log] [blame]
Hamsalekha S8d3d3032015-03-13 21:24:58 +05301/******************************************************************************
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
45WORD32 ih264d_parse_residual4x4_cavlc(dec_struct_t * ps_dec,
46 dec_mb_info_t *ps_cur_mb_info,
47 UWORD8 u1_offset);
48WORD32 ih264d_parse_residual4x4_cabac(dec_struct_t * ps_dec,
49 dec_mb_info_t *ps_cur_mb_info,
50 UWORD8 u1_offset);
51WORD32 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);
55WORD32 ih264d_parse_imb_cabac(dec_struct_t * ps_dec,
56 dec_mb_info_t * ps_cur_mb_info,
57 UWORD8 u1_mb_type);
58
59WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
60 dec_slice_params_t * ps_slice,
61 UWORD16 u2_first_mb_in_slice);
62WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
63 dec_slice_params_t * ps_slice,
64 UWORD16 u2_first_mb_in_slice);
65WORD32 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);
69WORD32 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
74WORD32 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
79WORD32 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
84WORD32 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
89WORD32 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
94WORD32 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
98WORD32 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
102WORD32 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
107WORD32 ih264d_parse_ipcm_mb(dec_struct_t * ps_dec,
108 dec_mb_info_t *ps_cur_mb_info,
109 UWORD8 u1_mbNum);
110WORD32 ih264d_parse_islice(dec_struct_t *ps_dec,
111 UWORD16 u2_first_mb_in_slice);
112
113#endif /* _IH264D_PARSE_ISLICE_H_ */