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 WORD8 pi1_left_pred_mode[8];
1059 UWORD8 u1_topleft_mb_fld;
1060 UWORD8 u1_topleft_mbtype;
1061 UWORD8 u1_topleft_mb_fld_bot;
1062 UWORD8 u1_topleft_mbtype_bot;
1063 WORD16 i2_prev_slice_mbx;
1064 WORD16 i2_prev_slice_mby;
1065 UWORD16 u2_top_left_mask;
1066 UWORD16 u2_top_right_mask;
1067 dec_err_status_t * ps_dec_err_status;
1069 UWORD8 u1_mb_idx_mv;
1070 UWORD16 u2_mv_2mb[2];
1071 UWORD32 u4_skip_frm_mask;
1074 UWORD16 u2_total_mbs_coded;
1078 WORD32 i4_vui_frame_rate;
1081 UWORD8 u1_num_ref_idx_lx_active_prev;
1084 UWORD8 u1_frame_decoded_flag;
1088 UWORD8 u1_last_pic_not_decoded;
1090 WORD32 e_dec_status;
1091 UWORD32 u4_num_fld_in_frm;
1115 struct _DecStruct *ps_dec, /** Decoder Parameters */ argument
1125 struct _DecStruct *ps_dec, argument
1135 mb_neigbour_params_t *ps_nbr_mb_row;
1136 mb_neigbour_params_t *ps_cur_mb_row;
1160 void (*p_motion_compensate)(struct _DecStruct * ps_dec, argument
1164 void (*p_mc_dec_thread)(struct _DecStruct * ps_dec, dec_mb_info_t *ps_cur_mb_info); argument
1169 struct _DecStruct * ps_dec, argument
1176 struct _DecStruct * ps_dec, argument
1186 void (*p_DeblockPicture[2])(struct _DecStruct *); argument
1189 UWORD32 u4_ts;
1190 UWORD8 u1_flushfrm;
1193 UWORD8 u1_chroma_format;
1194 UWORD8 u1_pic_decode_done;
1195 UWORD8 u1_slice_header_done;
1196 WORD32 init_done;
1201 high_profile_tools_t s_high_profile;
1203 UWORD8 u1_qp_v_div6;
1204 UWORD8 u1_qp_v_rem6;
1209 UWORD16 u2_prv_frame_num;
1210 UWORD8 u1_top_bottom_decoded;
1211 UWORD8 u1_dangling_field;
1213 IVD_DISPLAY_FRAME_OUT_MODE_T e_frm_out_mode;
1215 UWORD8 *pu1_bits_buf_static;
1216 UWORD8 *pu1_bits_buf_dynamic;
1218 UWORD32 u4_static_bits_buf_size;
1219 UWORD32 u4_dynamic_bits_buf_size;
1221 UWORD32 u4_num_disp_bufs_requested;
1222 WORD32 i4_display_delay;
1223 UWORD32 u4_slice_start_code_found;
1225 UWORD32 u4_nmb_deblk;
1226 UWORD32 u4_use_intrapred_line_copy;
1227 UWORD32 u4_num_mbs_prev_nmb;
1228 UWORD32 u4_num_mbs_cur_nmb;
1229 UWORD32 u4_app_deblk_disable_level;
1230 UWORD32 u4_app_disable_deblk_frm;
1231 WORD32 i4_app_skip_mode;
1232 WORD32 i4_mv_frac_mask;
1234 disp_buf_t disp_bufs[MAX_DISP_BUFS_NEW];
1235 UWORD32 u4_disp_buf_mapping[MAX_DISP_BUFS_NEW];
1236 UWORD32 u4_disp_buf_to_be_freed[MAX_DISP_BUFS_NEW];
1237 UWORD32 u4_share_disp_buf;
1238 UWORD32 u4_num_disp_bufs;
1239 UWORD32 u4_prev_nal_skipped;
1240 UWORD32 u4_return_to_app;
1241 WORD32 i4_dec_skip_mode;
1243 UWORD32 u4_bs_deblk_thread_created;
1244 volatile UWORD32 u4_start_recon_deblk;
1245 void *pv_bs_deblk_thread_handle;
1247 UWORD32 u4_cur_bs_mb_num;
1248 UWORD32 u4_bs_cur_slice_num_mbs;
1249 UWORD32 u4_cur_deblk_mb_num;
1250 UWORD32 u4_sps_cnt_in_process;
1251 volatile UWORD16 u2_cur_slice_num_bs;
1253 UWORD32 u4_deblk_mb_x;
1254 UWORD32 u4_deblk_mb_y;
1258 iv_yuv_buf_t s_disp_frame_info;
1259 UWORD32 u4_fmt_conv_num_rows;
1260 UWORD32 u4_fmt_conv_cur_row;
1261 ivd_out_bufdesc_t *ps_out_buffer;
1262 ivd_get_display_frame_op_t s_disp_op;
1263 UWORD32 u4_output_present;
1265 volatile UWORD16 cur_dec_mb_num;
1266 volatile UWORD16 cur_recon_mb_num;
1267 volatile UWORD16 u2_cur_mb_addr;
1268 WORD16 i2_dec_thread_mb_y;
1269 WORD16 i2_recon_thread_mb_y;
1271 UWORD8 u1_separate_parse;
1272 UWORD32 u4_dec_thread_created;
1273 void *pv_dec_thread_handle;
1274 volatile UWORD8 *pu1_dec_mb_map;
1275 volatile UWORD8 *pu1_recon_mb_map;
1276 volatile UWORD16 *pu2_slice_num_map;
1277 dec_slice_struct_t *ps_dec_slice_buf;
1278 void *pv_map_ref_idx_to_poc_buf;
1279 dec_mb_info_t *ps_frm_mb_info;
1280 volatile dec_slice_struct_t * volatile ps_parse_cur_slice;
1281 volatile dec_slice_struct_t * volatile ps_decode_cur_slice;
1282 volatile dec_slice_struct_t * volatile ps_computebs_cur_slice;
1283 UWORD32 u4_cur_slice_decode_done;
1284 UWORD32 u4_extra_mem_used;
1287 UWORD32 u4_first_slice_in_pic;
1288 UWORD32 u4_num_cores;
1289 IVD_ARCH_T e_processor_arch;
1290 IVD_SOC_T e_processor_soc;
1300 WORD32 i4_degrade_pics;
1305 WORD32 i4_nondegrade_interval;
1313 WORD32 i4_degrade_type;
1318 WORD32 i4_degrade_pic_cnt;
1320 UWORD32 u4_pic_buf_got;
1325 void *pv_mv_buf_mgr;
1330 void *pv_pic_buf_mgr;
1335 void *pv_disp_buf_mgr;
1337 void *apv_buf_id_pic_buf_map[MAX_DISP_BUFS_NEW];
1339 UWORD8 au1_pic_buf_id_mv_buf_id_map[MAX_DISP_BUFS_NEW];
1341 UWORD8 au1_pic_buf_ref_flag[MAX_DISP_BUFS_NEW];
1343 struct pic_buffer_t *ps_pic_buf_base;
1345 UWORD8 *pu1_ref_buff_base;
1346 col_mv_buf_t *ps_col_mv_base;
1347 void *(*pf_aligned_alloc)(void *pv_mem_ctxt, WORD32 alignment, WORD32 size);
1348 void (*pf_aligned_free)(void *pv_mem_ctxt, void *pv_buf);
1349 void *pv_mem_ctxt;
1351 UWORD8 *pu1_pic_buf_base;
1352 UWORD8 *pu1_mv_bank_buf_base;
1353 UWORD8 *pu1_init_dpb_base;
1355 ih264_default_weighted_pred_ft *pf_default_weighted_pred_luma;
1357 ih264_default_weighted_pred_ft *pf_default_weighted_pred_chroma;
1359 ih264_weighted_pred_ft *pf_weighted_pred_luma;
1361 ih264_weighted_pred_ft *pf_weighted_pred_chroma;
1363 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_luma;
1365 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_chroma;
1367 ih264_pad *pf_pad_top;
1368 ih264_pad *pf_pad_bottom;
1369 ih264_pad *pf_pad_left_luma;
1370 ih264_pad *pf_pad_left_chroma;
1371 ih264_pad *pf_pad_right_luma;
1372 ih264_pad *pf_pad_right_chroma;
1374 ih264_inter_pred_chroma_ft *pf_inter_pred_chroma;
1376 ih264_inter_pred_luma_ft *apf_inter_pred_luma[16];
1378 ih264_intra_pred_luma_ft *apf_intra_pred_luma_16x16[4];
1380 ih264_intra_pred_luma_ft *apf_intra_pred_luma_8x8[9];
1382 ih264_intra_pred_luma_ft *apf_intra_pred_luma_4x4[9];
1384 ih264_intra_pred_ref_filtering_ft *pf_intra_pred_ref_filtering;
1386 ih264_intra_pred_chroma_ft *apf_intra_pred_chroma[4];
1388 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4;
1390 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4_dc;
1392 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8;
1394 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8_dc;
1396 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4;
1398 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4_dc;
1400 ih264_ihadamard_scaling_ft *pf_ihadamard_scaling_4x4;
1405 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4;
1410 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4;
1415 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4_mbaff;
1420 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4_mbaff;
1425 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4;
1430 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4;
1435 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4_mbaff;
1440 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4_mbaff;
1445 ih264_deblk_edge_bs4_ft *pf_deblk_luma_horz_bs4;
1450 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_horz_bslt4;
1455 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_horz_bs4;
1460 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_horz_bslt4;