Lines Matching defs:_DecStruct
707 typedef struct _DecStruct struct
712 dec_bit_stream_t *ps_bitstrm;
713 dec_seq_params_t *ps_cur_sps;
714 dec_pic_params_t *ps_cur_pps;
715 dec_slice_params_t *ps_cur_slice;
717 dec_pic_params_t *ps_pps;
718 dec_seq_params_t *ps_sps;
719 const UWORD16 *pu2_quant_scale_y;
720 const UWORD16 *pu2_quant_scale_u;
721 const UWORD16 *pu2_quant_scale_v;
722 UWORD16 u2_mbx;
723 UWORD16 u2_mby;
725 UWORD16 u2_frm_wd_y; /** Width for luma buff */
726 UWORD16 u2_frm_ht_y; /** Height for luma buff */
727 UWORD16 u2_frm_wd_uv; /** Width for chroma buff */
728 UWORD16 u2_frm_ht_uv; /** Height for chroma buff */
729 UWORD16 u2_frm_wd_in_mbs; /** Frame width expressed in MB units */
730 UWORD16 u2_frm_ht_in_mbs; /** Frame height expressed in MB units */
731 WORD32 i4_submb_ofst; /** Offset in subMbs from the top left edge */
739 UWORD8 *pu1_col_zero_flag;
741 UWORD16 u2_pic_wd; /** Width of the picture being decoded */
742 UWORD16 u2_pic_ht; /** Height of the picture being decoded */
744 UWORD8 u1_first_slice_in_stream;
745 UWORD8 u1_mb_ngbr_availablity;
746 UWORD8 u1_ref_idxl0_active_minus1;
747 UWORD8 u1_qp;
748 UWORD8 u1_qp_y_div6;
749 UWORD8 u1_qp_u_div6;
750 UWORD8 u1_qp_y_rem6;
751 UWORD8 u1_qp_u_rem6;
760 UWORD8 u1_recon_mb_grp;
761 UWORD8 u1_recon_mb_grp_pair;
763 decoding_envirnoment_t s_cab_dec_env; /* < Structure for decoding_envirnoment_t */
765 WORD8 i1_next_ctxt_idx; /* < next Ctxt Index */
766 UWORD8 u1_currB_type;
767 WORD8 i1_prev_mb_qp_delta; /* Prev MbQpDelta */
768 UWORD8 u1_nal_unit_type;
770 ctxt_inc_mb_info_t *p_ctxt_inc_mb_map; /* Pointer to ctxt_inc_mb_info_t map */
771 ctxt_inc_mb_info_t *p_left_ctxt_mb_info; /* Pointer to left ctxt_inc_mb_info_t */
772 ctxt_inc_mb_info_t *p_top_ctxt_mb_info; /* Pointer to top ctxt_inc_mb_info_t */
773 ctxt_inc_mb_info_t *ps_curr_ctxt_mb_info; /* Pointer to current ctxt_inc_mb_info_t */
774 ctxt_inc_mb_info_t *ps_def_ctxt_mb_info; /* Pointer to default ctxt_inc_mb_info_t */
779 UWORD8 u1_left_mv_ctxt_inc_arr[2][4][4];
780 UWORD8 (*pu1_left_mv_ctxt_inc)[4];
782 UWORD8 u1_sub_mb_num;
783 UWORD8 u1_B; /** if B slice u1_B = 1 else 0 */
784 WORD16 i2_only_backwarddma_info_idx;
785 mv_pred_t *ps_mv; /** Pointer to the MV bank array */
786 mv_pred_t *ps_mv_bank_cur; /** Pointer to the MV bank array */
787 mv_pred_t s_default_mv_pred; /** Structure containing the default values
790 pred_info_t *ps_pred; /** Stores info to cfg MC */
791 pred_info_t *ps_pred_start;
793 UWORD32 u4_pred_info_idx;
794 pred_info_pkd_t *ps_pred_pkd;
795 pred_info_pkd_t *ps_pred_pkd_start;
796 UWORD32 u4_pred_info_pkd_idx;
797 UWORD8 *pu1_ref_buff; /** Destination buffer for DMAs */
798 UWORD32 u4_dma_buf_idx;
800 UWORD8 *pu1_y;
801 UWORD8 *pu1_u;
802 UWORD8 *pu1_v;
804 WORD16 *pi2_y_coeff;
805 UWORD8 *pu1_inv_scan;
810 void *pv_pic_tu_coeff_data;
817 void *pv_parse_tu_coeff_data;
818 void *pv_prev_mb_parse_tu_coeff_data;
820 void *pv_proc_tu_coeff_data;
822 WORD16 *pi2_coeff_data;
824 cavlc_cntxt_t s_cavlc_ctxt;
826 UWORD32 u4_n_leftY[2];
827 UWORD32 u4_n_left_cr[2];
828 UWORD32 u4_n_left_temp_y;
830 UWORD8 pu1_left_nnz_y[4];
831 UWORD8 pu1_left_nnz_uv[4];
832 UWORD32 u4_n_left_temp_uv;
836 bin_ctxt_model_t *p_cabac_ctxt_table_t;
841 bin_ctxt_model_t *p_mb_type_t;
842 bin_ctxt_model_t *p_mb_skip_flag_t;
843 bin_ctxt_model_t *p_sub_mb_type_t;
844 bin_ctxt_model_t *p_mvd_x_t;
845 bin_ctxt_model_t *p_mvd_y_t;
846 bin_ctxt_model_t *p_ref_idx_t;
847 bin_ctxt_model_t *p_mb_qp_delta_t;
848 bin_ctxt_model_t *p_intra_chroma_pred_mode_t;
849 bin_ctxt_model_t *p_prev_intra4x4_pred_mode_flag_t;
850 bin_ctxt_model_t *p_rem_intra4x4_pred_mode_t;
851 bin_ctxt_model_t *p_mb_field_dec_flag_t;
852 bin_ctxt_model_t *p_cbp_luma_t;
853 bin_ctxt_model_t *p_cbp_chroma_t;
854 bin_ctxt_model_t *p_cbf_t[NUM_CTX_CAT];
855 bin_ctxt_model_t *p_significant_coeff_flag_t[NUM_CTX_CAT];
856 bin_ctxt_model_t *p_coeff_abs_level_minus1_t[NUM_CTX_CAT];
858 UWORD32 u4_num_pmbair; /** MB pair number */
859 mv_pred_t *ps_mv_left; /** Pointer to left motion vector bank */
860 mv_pred_t *ps_mv_top_left; /** Pointer to top left motion vector bank */
861 mv_pred_t *ps_mv_top_right; /** Pointer to top right motion vector bank */
863 UWORD8 *pu1_left_yuv_dc_csbp;
866 deblkmb_neighbour_t deblk_left_mb[2];
867 deblkmb_neighbour_t *ps_deblk_top_mb;
868 neighbouradd_t (*ps_left_mvpred_addr)[2]; /* Left MvPred Address Ping Pong*/
877 WORD8 i1_left_ref_idx_ctx_inc_arr[2][4];
878 WORD8 *pi1_left_ref_idx_ctxt_inc;
888 UWORD8 u1_yuv_dc_csbp_topmb;
889 UWORD8 u1_yuv_dc_csbp_bot_mb;
892 tfr_ctxt_t s_tran_addrecon_parse;
893 tfr_ctxt_t s_tran_addrecon;
894 tfr_ctxt_t s_tran_iprecon;
895 tfr_ctxt_t *ps_frame_buf_ip_recon;
896 WORD8 i1_recon_in_thread3_flag;
899 UWORD8 u1_pr_sl_type;
900 WORD32 i4_frametype;
901 UWORD32 u4_app_disp_width;
902 WORD32 i4_error_code;
903 UWORD32 u4_bitoffset;
907 UWORD8 u1_second_field;
908 WORD32 i4_pic_type;
909 WORD32 i4_content_type;
910 WORD32 i4_decode_header;
911 WORD32 i4_header_decoded;
912 UWORD32 u4_total_frames_decoded;
914 ctxt_inc_mb_info_t *ps_left_mb_ctxt_info; /* structure containing the left MB's
916 pocstruct_t s_prev_pic_poc;
917 pocstruct_t s_cur_pic_poc;
918 WORD32 i4_cur_display_seq;
919 WORD32 i4_prev_max_display_seq;
920 WORD32 i4_max_poc;
921 deblk_mb_t *ps_cur_deblk_mb;
924 deblk_mb_t *ps_deblk_pic;
927 struct pic_buffer_t *ps_cur_pic; /** Pointer to Current picture buffer */
951 WORD32 (*pf_parse_inter_mb)(struct _DecStruct * ps_dec, argument
955 WORD32 (*pf_mvpred_ref_tfr_nby2mb)(struct _DecStruct * ps_dec, argument
959 WORD32 (*pf_parse_inter_slice)(struct _DecStruct * ps_dec, argument
963 UWORD32 (*pf_get_mb_info)(struct _DecStruct * ps_dec, argument
969 dpb_manager_t *ps_dpb_mgr;
970 dpb_commands_t *ps_dpb_cmds;
973 dec_mb_info_t *ps_nmb_info;
975 UWORD8 *pu1_y_intra_pred_line;
976 UWORD8 *pu1_u_intra_pred_line;
977 UWORD8 *pu1_v_intra_pred_line;
979 UWORD8 *pu1_cur_y_intra_pred_line;
980 UWORD8 *pu1_cur_u_intra_pred_line;
981 UWORD8 *pu1_cur_v_intra_pred_line;
983 UWORD8 *pu1_cur_y_intra_pred_line_base;
984 UWORD8 *pu1_cur_u_intra_pred_line_base;
985 UWORD8 *pu1_cur_v_intra_pred_line_base;
987 UWORD8 *pu1_prev_y_intra_pred_line;
988 UWORD8 *pu1_prev_u_intra_pred_line;
989 UWORD8 *pu1_prev_v_intra_pred_line;
991 UWORD32 u4_intra_pred_line_ofst;
993 UWORD8 u1_res_changed;
995 mv_pred_t *ps_mv_cur; /** pointer to current motion vector bank */
996 mv_pred_t *ps_mv_top; /** pointer to top motion vector bank */
997 mv_pred_t *ps_mv_top_right2;/** Pointer to top right motion vector bank */
998 mv_pred_t *ps_mv_p[2]; /** Scratch ping motion vector bank */
1022 void (*pf_parse_mvdirect)(struct _DecStruct*, argument
1041 UWORD8 (*pf_mvpred)(struct _DecStruct *ps_dec, argument
1051 void (*pf_compute_bs)(struct _DecStruct * ps_dec, argument
1054 UWORD8 u1_init_dec_flag;
1055 prev_seq_params_t s_prev_seq_params;
1056 UWORD8 u1_cur_mb_fld_dec_flag; /* current Mb fld or Frm */
1058 UWORD8 u1_topleft_mb_fld;
1059 UWORD8 u1_topleft_mbtype;
1060 UWORD8 u1_topleft_mb_fld_bot;
1061 UWORD8 u1_topleft_mbtype_bot;
1062 WORD16 i2_prev_slice_mbx;
1063 WORD16 i2_prev_slice_mby;
1064 UWORD16 u2_top_left_mask;
1065 UWORD16 u2_top_right_mask;
1066 dec_err_status_t * ps_dec_err_status;
1069 WORD8 pi1_left_pred_mode[8];
1071 UWORD8 u1_mb_idx_mv;
1072 UWORD16 u2_mv_2mb[2];
1073 UWORD32 u4_skip_frm_mask;
1076 UWORD16 u2_total_mbs_coded;
1080 WORD32 i4_vui_frame_rate;
1083 UWORD8 u1_num_ref_idx_lx_active_prev;
1086 UWORD8 u1_frame_decoded_flag;
1090 UWORD8 u1_last_pic_not_decoded;
1092 WORD32 e_dec_status;
1093 UWORD32 u4_num_fld_in_frm;
1117 struct _DecStruct *ps_dec, /** Decoder Parameters */ argument
1127 struct _DecStruct *ps_dec, argument
1137 mb_neigbour_params_t *ps_nbr_mb_row;
1138 mb_neigbour_params_t *ps_cur_mb_row;
1162 void (*p_motion_compensate)(struct _DecStruct * ps_dec, argument
1166 void (*p_mc_dec_thread)(struct _DecStruct * ps_dec, dec_mb_info_t *ps_cur_mb_info); argument
1171 struct _DecStruct * ps_dec, argument
1178 struct _DecStruct * ps_dec, argument
1188 void (*p_DeblockPicture[2])(struct _DecStruct *); argument
1191 UWORD32 u4_ts;
1192 UWORD8 u1_flushfrm;
1195 UWORD8 u1_chroma_format;
1196 UWORD8 u1_pic_decode_done;
1197 UWORD8 u1_slice_header_done;
1198 WORD32 init_done;
1203 high_profile_tools_t s_high_profile;
1205 UWORD8 u1_qp_v_div6;
1206 UWORD8 u1_qp_v_rem6;
1211 UWORD16 u2_prv_frame_num;
1212 UWORD8 u1_top_bottom_decoded;
1213 UWORD8 u1_dangling_field;
1215 IVD_DISPLAY_FRAME_OUT_MODE_T e_frm_out_mode;
1217 UWORD8 *pu1_bits_buf_static;
1218 UWORD8 *pu1_bits_buf_dynamic;
1220 UWORD32 u4_static_bits_buf_size;
1221 UWORD32 u4_dynamic_bits_buf_size;
1223 UWORD32 u4_num_disp_bufs_requested;
1224 WORD32 i4_display_delay;
1225 UWORD32 u4_slice_start_code_found;
1227 UWORD32 u4_nmb_deblk;
1228 UWORD32 u4_use_intrapred_line_copy;
1229 UWORD32 u4_num_mbs_prev_nmb;
1230 UWORD32 u4_num_mbs_cur_nmb;
1231 UWORD32 u4_app_deblk_disable_level;
1232 UWORD32 u4_app_disable_deblk_frm;
1233 WORD32 i4_app_skip_mode;
1234 WORD32 i4_mv_frac_mask;
1236 disp_buf_t disp_bufs[MAX_DISP_BUFS_NEW];
1237 UWORD32 u4_disp_buf_mapping[MAX_DISP_BUFS_NEW];
1238 UWORD32 u4_disp_buf_to_be_freed[MAX_DISP_BUFS_NEW];
1239 UWORD32 u4_share_disp_buf;
1240 UWORD32 u4_num_disp_bufs;
1241 UWORD32 u4_prev_nal_skipped;
1242 UWORD32 u4_return_to_app;
1243 WORD32 i4_dec_skip_mode;
1245 UWORD32 u4_bs_deblk_thread_created;
1246 volatile UWORD32 u4_start_recon_deblk;
1247 void *pv_bs_deblk_thread_handle;
1249 UWORD32 u4_cur_bs_mb_num;
1250 UWORD32 u4_bs_cur_slice_num_mbs;
1251 UWORD32 u4_cur_deblk_mb_num;
1252 UWORD32 u4_sps_cnt_in_process;
1253 volatile UWORD16 u2_cur_slice_num_bs;
1255 UWORD32 u4_deblk_mb_x;
1256 UWORD32 u4_deblk_mb_y;
1260 iv_yuv_buf_t s_disp_frame_info;
1261 UWORD32 u4_fmt_conv_num_rows;
1262 UWORD32 u4_fmt_conv_cur_row;
1263 ivd_out_bufdesc_t *ps_out_buffer;
1264 ivd_get_display_frame_op_t s_disp_op;
1265 UWORD32 u4_output_present;
1267 volatile UWORD16 cur_dec_mb_num;
1268 volatile UWORD16 cur_recon_mb_num;
1269 volatile UWORD16 u2_cur_mb_addr;
1270 WORD16 i2_dec_thread_mb_y;
1271 WORD16 i2_recon_thread_mb_y;
1273 UWORD8 u1_separate_parse;
1274 UWORD32 u4_dec_thread_created;
1275 void *pv_dec_thread_handle;
1276 volatile UWORD8 *pu1_dec_mb_map;
1277 volatile UWORD8 *pu1_recon_mb_map;
1278 volatile UWORD16 *pu2_slice_num_map;
1279 dec_slice_struct_t *ps_dec_slice_buf;
1280 void *pv_map_ref_idx_to_poc_buf;
1281 dec_mb_info_t *ps_frm_mb_info;
1282 volatile dec_slice_struct_t * volatile ps_parse_cur_slice;
1283 volatile dec_slice_struct_t * volatile ps_decode_cur_slice;
1284 volatile dec_slice_struct_t * volatile ps_computebs_cur_slice;
1285 UWORD32 u4_cur_slice_decode_done;
1286 UWORD32 u4_extra_mem_used;
1289 UWORD32 u4_first_slice_in_pic;
1290 UWORD32 u4_num_cores;
1291 IVD_ARCH_T e_processor_arch;
1292 IVD_SOC_T e_processor_soc;
1302 WORD32 i4_degrade_pics;
1307 WORD32 i4_nondegrade_interval;
1315 WORD32 i4_degrade_type;
1320 WORD32 i4_degrade_pic_cnt;
1322 UWORD32 u4_pic_buf_got;
1327 void *pv_mv_buf_mgr;
1332 void *pv_pic_buf_mgr;
1337 void *pv_disp_buf_mgr;
1339 void *apv_buf_id_pic_buf_map[MAX_DISP_BUFS_NEW];
1341 UWORD8 au1_pic_buf_id_mv_buf_id_map[MAX_DISP_BUFS_NEW];
1343 UWORD8 au1_pic_buf_ref_flag[MAX_DISP_BUFS_NEW];
1345 struct pic_buffer_t *ps_pic_buf_base;
1347 UWORD8 *pu1_ref_buff_base;
1348 col_mv_buf_t *ps_col_mv_base;
1349 void *(*pf_aligned_alloc)(void *pv_mem_ctxt, WORD32 alignment, WORD32 size);
1350 void (*pf_aligned_free)(void *pv_mem_ctxt, void *pv_buf);
1351 void *pv_mem_ctxt;
1353 UWORD8 *pu1_pic_buf_base;
1354 UWORD8 *pu1_mv_bank_buf_base;
1355 UWORD8 *pu1_init_dpb_base;
1357 ih264_default_weighted_pred_ft *pf_default_weighted_pred_luma;
1359 ih264_default_weighted_pred_ft *pf_default_weighted_pred_chroma;
1361 ih264_weighted_pred_ft *pf_weighted_pred_luma;
1363 ih264_weighted_pred_ft *pf_weighted_pred_chroma;
1365 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_luma;
1367 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_chroma;
1369 ih264_pad *pf_pad_top;
1370 ih264_pad *pf_pad_bottom;
1371 ih264_pad *pf_pad_left_luma;
1372 ih264_pad *pf_pad_left_chroma;
1373 ih264_pad *pf_pad_right_luma;
1374 ih264_pad *pf_pad_right_chroma;
1376 ih264_inter_pred_chroma_ft *pf_inter_pred_chroma;
1378 ih264_inter_pred_luma_ft *apf_inter_pred_luma[16];
1380 ih264_intra_pred_luma_ft *apf_intra_pred_luma_16x16[4];
1382 ih264_intra_pred_luma_ft *apf_intra_pred_luma_8x8[9];
1384 ih264_intra_pred_luma_ft *apf_intra_pred_luma_4x4[9];
1386 ih264_intra_pred_ref_filtering_ft *pf_intra_pred_ref_filtering;
1388 ih264_intra_pred_chroma_ft *apf_intra_pred_chroma[4];
1390 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4;
1392 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4_dc;
1394 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8;
1396 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8_dc;
1398 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4;
1400 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4_dc;
1402 ih264_ihadamard_scaling_ft *pf_ihadamard_scaling_4x4;
1407 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4;
1412 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4;
1417 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4_mbaff;
1422 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4_mbaff;
1427 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4;
1432 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4;
1437 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4_mbaff;
1442 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4_mbaff;
1447 ih264_deblk_edge_bs4_ft *pf_deblk_luma_horz_bs4;
1452 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_horz_bslt4;
1457 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_horz_bs4;
1462 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_horz_bslt4;