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;
971 dpb_commands_t s_dpb_cmds_scratch;
974 dec_mb_info_t *ps_nmb_info;
976 UWORD8 *pu1_y_intra_pred_line;
977 UWORD8 *pu1_u_intra_pred_line;
978 UWORD8 *pu1_v_intra_pred_line;
980 UWORD8 *pu1_cur_y_intra_pred_line;
981 UWORD8 *pu1_cur_u_intra_pred_line;
982 UWORD8 *pu1_cur_v_intra_pred_line;
984 UWORD8 *pu1_cur_y_intra_pred_line_base;
985 UWORD8 *pu1_cur_u_intra_pred_line_base;
986 UWORD8 *pu1_cur_v_intra_pred_line_base;
988 UWORD8 *pu1_prev_y_intra_pred_line;
989 UWORD8 *pu1_prev_u_intra_pred_line;
990 UWORD8 *pu1_prev_v_intra_pred_line;
992 UWORD32 u4_intra_pred_line_ofst;
994 UWORD8 u1_res_changed;
996 mv_pred_t *ps_mv_cur; /** pointer to current motion vector bank */
997 mv_pred_t *ps_mv_top; /** pointer to top motion vector bank */
998 mv_pred_t *ps_mv_top_right2;/** Pointer to top right motion vector bank */
999 mv_pred_t *ps_mv_p[2]; /** Scratch ping motion vector bank */
1023 void (*pf_parse_mvdirect)(struct _DecStruct*, argument
1042 UWORD8 (*pf_mvpred)(struct _DecStruct *ps_dec, argument
1052 void (*pf_compute_bs)(struct _DecStruct * ps_dec, argument
1055 UWORD8 u1_init_dec_flag;
1056 prev_seq_params_t s_prev_seq_params;
1057 UWORD8 u1_cur_mb_fld_dec_flag; /* current Mb fld or Frm */
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;
1070 WORD8 pi1_left_pred_mode[8];
1072 UWORD8 u1_mb_idx_mv;
1073 UWORD16 u2_mv_2mb[2];
1074 UWORD32 u4_skip_frm_mask;
1077 UWORD16 u2_total_mbs_coded;
1081 WORD32 i4_vui_frame_rate;
1084 UWORD8 u1_num_ref_idx_lx_active_prev;
1087 UWORD8 u1_frame_decoded_flag;
1091 UWORD8 u1_last_pic_not_decoded;
1093 WORD32 e_dec_status;
1094 UWORD32 u4_num_fld_in_frm;
1118 struct _DecStruct *ps_dec, /** Decoder Parameters */ argument
1128 struct _DecStruct *ps_dec, argument
1138 mb_neigbour_params_t *ps_nbr_mb_row;
1139 mb_neigbour_params_t *ps_cur_mb_row;
1163 void (*p_motion_compensate)(struct _DecStruct * ps_dec, argument
1167 void (*p_mc_dec_thread)(struct _DecStruct * ps_dec, dec_mb_info_t *ps_cur_mb_info); argument
1172 struct _DecStruct * ps_dec, argument
1179 struct _DecStruct * ps_dec, argument
1189 void (*p_DeblockPicture[2])(struct _DecStruct *); argument
1192 UWORD32 u4_ts;
1193 UWORD8 u1_flushfrm;
1196 UWORD8 u1_chroma_format;
1197 UWORD8 u1_pic_decode_done;
1198 UWORD8 u1_slice_header_done;
1199 WORD32 init_done;
1204 high_profile_tools_t s_high_profile;
1206 UWORD8 u1_qp_v_div6;
1207 UWORD8 u1_qp_v_rem6;
1212 UWORD16 u2_prv_frame_num;
1213 UWORD8 u1_top_bottom_decoded;
1214 UWORD8 u1_dangling_field;
1216 IVD_DISPLAY_FRAME_OUT_MODE_T e_frm_out_mode;
1218 UWORD8 *pu1_bits_buf_static;
1219 UWORD8 *pu1_bits_buf_dynamic;
1221 UWORD32 u4_static_bits_buf_size;
1222 UWORD32 u4_dynamic_bits_buf_size;
1224 UWORD32 u4_num_disp_bufs_requested;
1225 WORD32 i4_display_delay;
1226 UWORD32 u4_slice_start_code_found;
1228 UWORD32 u4_nmb_deblk;
1229 UWORD32 u4_use_intrapred_line_copy;
1230 UWORD32 u4_num_mbs_prev_nmb;
1231 UWORD32 u4_num_mbs_cur_nmb;
1232 UWORD32 u4_app_deblk_disable_level;
1233 UWORD32 u4_app_disable_deblk_frm;
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;
1242 UWORD32 u4_bs_deblk_thread_created;
1243 volatile UWORD32 u4_start_recon_deblk;
1244 void *pv_bs_deblk_thread_handle;
1246 UWORD32 u4_cur_bs_mb_num;
1247 UWORD32 u4_bs_cur_slice_num_mbs;
1248 UWORD32 u4_cur_deblk_mb_num;
1249 UWORD32 u4_sps_cnt_in_process;
1250 volatile UWORD16 u2_cur_slice_num_bs;
1252 UWORD32 u4_deblk_mb_x;
1253 UWORD32 u4_deblk_mb_y;
1257 iv_yuv_buf_t s_disp_frame_info;
1258 UWORD32 u4_fmt_conv_num_rows;
1259 UWORD32 u4_fmt_conv_cur_row;
1260 ivd_out_bufdesc_t *ps_out_buffer;
1261 ivd_get_display_frame_op_t s_disp_op;
1262 UWORD32 u4_output_present;
1264 volatile UWORD16 cur_dec_mb_num;
1265 volatile UWORD16 cur_recon_mb_num;
1266 volatile UWORD16 u2_cur_mb_addr;
1267 WORD16 i2_dec_thread_mb_y;
1268 WORD16 i2_recon_thread_mb_y;
1270 UWORD8 u1_separate_parse;
1271 UWORD32 u4_dec_thread_created;
1272 void *pv_dec_thread_handle;
1273 volatile UWORD8 *pu1_dec_mb_map;
1274 volatile UWORD8 *pu1_recon_mb_map;
1275 volatile UWORD16 *pu2_slice_num_map;
1276 dec_slice_struct_t *ps_dec_slice_buf;
1277 void *pv_map_ref_idx_to_poc_buf;
1278 dec_mb_info_t *ps_frm_mb_info;
1279 volatile dec_slice_struct_t * volatile ps_parse_cur_slice;
1280 volatile dec_slice_struct_t * volatile ps_decode_cur_slice;
1281 volatile dec_slice_struct_t * volatile ps_computebs_cur_slice;
1282 UWORD32 u4_cur_slice_decode_done;
1283 UWORD32 u4_extra_mem_used;
1286 UWORD32 u4_first_slice_in_pic;
1287 UWORD32 u4_num_cores;
1288 IVD_ARCH_T e_processor_arch;
1289 IVD_SOC_T e_processor_soc;
1299 WORD32 i4_degrade_pics;
1304 WORD32 i4_nondegrade_interval;
1312 WORD32 i4_degrade_type;
1317 WORD32 i4_degrade_pic_cnt;
1319 UWORD32 u4_pic_buf_got;
1324 void *pv_mv_buf_mgr;
1329 void *pv_pic_buf_mgr;
1334 void *pv_disp_buf_mgr;
1336 void *apv_buf_id_pic_buf_map[MAX_DISP_BUFS_NEW];
1338 UWORD8 au1_pic_buf_id_mv_buf_id_map[MAX_DISP_BUFS_NEW];
1340 UWORD8 au1_pic_buf_ref_flag[MAX_DISP_BUFS_NEW];
1342 struct pic_buffer_t *ps_pic_buf_base;
1344 UWORD8 *pu1_ref_buff_base;
1345 col_mv_buf_t *ps_col_mv_base;
1346 void *(*pf_aligned_alloc)(void *pv_mem_ctxt, WORD32 alignment, WORD32 size);
1347 void (*pf_aligned_free)(void *pv_mem_ctxt, void *pv_buf);
1348 void *pv_mem_ctxt;
1350 UWORD8 *pu1_pic_buf_base;
1351 UWORD8 *pu1_mv_bank_buf_base;
1352 UWORD8 *pu1_init_dpb_base;
1354 ih264_default_weighted_pred_ft *pf_default_weighted_pred_luma;
1356 ih264_default_weighted_pred_ft *pf_default_weighted_pred_chroma;
1358 ih264_weighted_pred_ft *pf_weighted_pred_luma;
1360 ih264_weighted_pred_ft *pf_weighted_pred_chroma;
1362 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_luma;
1364 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_chroma;
1366 ih264_pad *pf_pad_top;
1367 ih264_pad *pf_pad_bottom;
1368 ih264_pad *pf_pad_left_luma;
1369 ih264_pad *pf_pad_left_chroma;
1370 ih264_pad *pf_pad_right_luma;
1371 ih264_pad *pf_pad_right_chroma;
1373 ih264_inter_pred_chroma_ft *pf_inter_pred_chroma;
1375 ih264_inter_pred_luma_ft *apf_inter_pred_luma[16];
1377 ih264_intra_pred_luma_ft *apf_intra_pred_luma_16x16[4];
1379 ih264_intra_pred_luma_ft *apf_intra_pred_luma_8x8[9];
1381 ih264_intra_pred_luma_ft *apf_intra_pred_luma_4x4[9];
1383 ih264_intra_pred_ref_filtering_ft *pf_intra_pred_ref_filtering;
1385 ih264_intra_pred_chroma_ft *apf_intra_pred_chroma[4];
1387 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4;
1389 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4_dc;
1391 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8;
1393 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8_dc;
1395 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4;
1397 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4_dc;
1399 ih264_ihadamard_scaling_ft *pf_ihadamard_scaling_4x4;
1404 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4;
1409 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4;
1414 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4_mbaff;
1419 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4_mbaff;
1424 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4;
1429 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4;
1434 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4_mbaff;
1439 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4_mbaff;
1444 ih264_deblk_edge_bs4_ft *pf_deblk_luma_horz_bs4;
1449 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_horz_bslt4;
1454 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_horz_bs4;
1459 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_horz_bslt4;