Lines Matching defs:_DecStruct
738 typedef struct _DecStruct struct
743 dec_bit_stream_t *ps_bitstrm;
744 dec_seq_params_t *ps_cur_sps;
745 dec_pic_params_t *ps_cur_pps;
746 dec_slice_params_t *ps_cur_slice;
748 dec_pic_params_t *ps_pps;
749 dec_seq_params_t *ps_sps;
750 const UWORD16 *pu2_quant_scale_y;
751 const UWORD16 *pu2_quant_scale_u;
752 const UWORD16 *pu2_quant_scale_v;
753 UWORD16 u2_mbx;
754 UWORD16 u2_mby;
756 UWORD16 u2_frm_wd_y; /** Width for luma buff */
757 UWORD16 u2_frm_ht_y; /** Height for luma buff */
758 UWORD16 u2_frm_wd_uv; /** Width for chroma buff */
759 UWORD16 u2_frm_ht_uv; /** Height for chroma buff */
760 UWORD16 u2_frm_wd_in_mbs; /** Frame width expressed in MB units */
761 UWORD16 u2_frm_ht_in_mbs; /** Frame height expressed in MB units */
762 WORD32 i4_submb_ofst; /** Offset in subMbs from the top left edge */
770 UWORD8 *pu1_col_zero_flag;
772 UWORD8 i4_threads_active; /** Keeps thread active*/
774 UWORD16 u2_pic_wd; /** Width of the picture being decoded */
775 UWORD16 u2_pic_ht; /** Height of the picture being decoded */
776 UWORD32 u4_total_mbs; /** Total MBs in the picture being decoded */
778 UWORD8 u1_first_slice_in_stream;
779 UWORD8 u1_mb_ngbr_availablity;
780 UWORD8 u1_ref_idxl0_active_minus1;
781 UWORD8 u1_qp;
782 UWORD8 u1_qp_y_div6;
783 UWORD8 u1_qp_u_div6;
784 UWORD8 u1_qp_y_rem6;
785 UWORD8 u1_qp_u_rem6;
788 UWORD8 u1_enable_mb_info;
789 UWORD8 *pu1_qp_map_base;
790 UWORD8 *pu1_mb_type_map_base;
798 UWORD8 u1_recon_mb_grp;
799 UWORD8 u1_recon_mb_grp_pair;
801 decoding_envirnoment_t s_cab_dec_env; /* < Structure for decoding_envirnoment_t */
803 WORD8 i1_next_ctxt_idx; /* < next Ctxt Index */
804 UWORD8 u1_currB_type;
805 WORD8 i1_prev_mb_qp_delta; /* Prev MbQpDelta */
806 UWORD8 u1_nal_unit_type;
808 ctxt_inc_mb_info_t *p_ctxt_inc_mb_map; /* Pointer to ctxt_inc_mb_info_t map */
809 ctxt_inc_mb_info_t *p_left_ctxt_mb_info; /* Pointer to left ctxt_inc_mb_info_t */
810 ctxt_inc_mb_info_t *p_top_ctxt_mb_info; /* Pointer to top ctxt_inc_mb_info_t */
811 ctxt_inc_mb_info_t *ps_curr_ctxt_mb_info; /* Pointer to current ctxt_inc_mb_info_t */
812 ctxt_inc_mb_info_t *ps_def_ctxt_mb_info; /* Pointer to default ctxt_inc_mb_info_t */
817 UWORD8 u1_left_mv_ctxt_inc_arr[2][4][4];
818 UWORD8 (*pu1_left_mv_ctxt_inc)[4];
820 UWORD8 u1_sub_mb_num;
821 UWORD8 u1_B; /** if B slice u1_B = 1 else 0 */
822 WORD16 i2_only_backwarddma_info_idx;
823 mv_pred_t *ps_mv; /** Pointer to the MV bank array */
824 mv_pred_t *ps_mv_bank_cur; /** Pointer to the MV bank array */
825 mv_pred_t s_default_mv_pred; /** Structure containing the default values
828 pred_info_t *ps_pred; /** Stores info to cfg MC */
829 pred_info_t *ps_pred_start;
831 UWORD32 u4_pred_info_idx;
832 pred_info_pkd_t *ps_pred_pkd;
833 pred_info_pkd_t *ps_pred_pkd_start;
834 UWORD32 u4_pred_info_pkd_idx;
835 UWORD8 *pu1_ref_buff; /** Destination buffer for DMAs */
836 UWORD32 u4_dma_buf_idx;
838 UWORD8 *pu1_y;
839 UWORD8 *pu1_u;
840 UWORD8 *pu1_v;
842 WORD16 *pi2_y_coeff;
843 UWORD8 *pu1_inv_scan;
848 void *pv_pic_tu_coeff_data;
855 void *pv_parse_tu_coeff_data;
856 void *pv_prev_mb_parse_tu_coeff_data;
858 void *pv_proc_tu_coeff_data;
860 WORD16 *pi2_coeff_data;
862 cavlc_cntxt_t s_cavlc_ctxt;
864 UWORD32 u4_n_leftY[2];
865 UWORD32 u4_n_left_cr[2];
866 UWORD32 u4_n_left_temp_y;
868 UWORD8 pu1_left_nnz_y[4];
869 UWORD8 pu1_left_nnz_uv[4];
870 UWORD32 u4_n_left_temp_uv;
874 bin_ctxt_model_t *p_cabac_ctxt_table_t;
879 bin_ctxt_model_t *p_mb_type_t;
880 bin_ctxt_model_t *p_mb_skip_flag_t;
881 bin_ctxt_model_t *p_sub_mb_type_t;
882 bin_ctxt_model_t *p_mvd_x_t;
883 bin_ctxt_model_t *p_mvd_y_t;
884 bin_ctxt_model_t *p_ref_idx_t;
885 bin_ctxt_model_t *p_mb_qp_delta_t;
886 bin_ctxt_model_t *p_intra_chroma_pred_mode_t;
887 bin_ctxt_model_t *p_prev_intra4x4_pred_mode_flag_t;
888 bin_ctxt_model_t *p_rem_intra4x4_pred_mode_t;
889 bin_ctxt_model_t *p_mb_field_dec_flag_t;
890 bin_ctxt_model_t *p_cbp_luma_t;
891 bin_ctxt_model_t *p_cbp_chroma_t;
892 bin_ctxt_model_t *p_cbf_t[NUM_CTX_CAT];
893 bin_ctxt_model_t *p_significant_coeff_flag_t[NUM_CTX_CAT];
894 bin_ctxt_model_t *p_coeff_abs_level_minus1_t[NUM_CTX_CAT];
896 UWORD32 u4_num_pmbair; /** MB pair number */
897 mv_pred_t *ps_mv_left; /** Pointer to left motion vector bank */
898 mv_pred_t *ps_mv_top_left; /** Pointer to top left motion vector bank */
899 mv_pred_t *ps_mv_top_right; /** Pointer to top right motion vector bank */
901 UWORD8 *pu1_left_yuv_dc_csbp;
904 deblkmb_neighbour_t deblk_left_mb[2];
905 deblkmb_neighbour_t *ps_deblk_top_mb;
906 neighbouradd_t (*ps_left_mvpred_addr)[2]; /* Left MvPred Address Ping Pong*/
915 WORD8 i1_left_ref_idx_ctx_inc_arr[2][4];
916 WORD8 *pi1_left_ref_idx_ctxt_inc;
926 UWORD8 u1_yuv_dc_csbp_topmb;
927 UWORD8 u1_yuv_dc_csbp_bot_mb;
930 tfr_ctxt_t s_tran_addrecon_parse;
931 tfr_ctxt_t s_tran_addrecon;
932 tfr_ctxt_t s_tran_iprecon;
933 tfr_ctxt_t *ps_frame_buf_ip_recon;
934 WORD8 i1_recon_in_thread3_flag;
937 UWORD8 u1_pr_sl_type;
938 WORD32 i4_frametype;
939 UWORD32 u4_app_disp_width;
940 WORD32 i4_error_code;
941 UWORD32 u4_bitoffset;
945 UWORD8 u1_second_field;
946 WORD32 i4_pic_type;
947 WORD32 i4_content_type;
948 WORD32 i4_decode_header;
949 WORD32 i4_header_decoded;
950 UWORD32 u4_total_frames_decoded;
952 ctxt_inc_mb_info_t *ps_left_mb_ctxt_info; /* structure containing the left MB's
954 pocstruct_t s_prev_pic_poc;
955 pocstruct_t s_cur_pic_poc;
956 WORD32 i4_cur_display_seq;
957 WORD32 i4_prev_max_display_seq;
958 WORD32 i4_max_poc;
959 deblk_mb_t *ps_cur_deblk_mb;
962 deblk_mb_t *ps_deblk_pic;
965 struct pic_buffer_t *ps_cur_pic; /** Pointer to Current picture buffer */
989 WORD32 (*pf_parse_inter_mb)(struct _DecStruct * ps_dec, argument
993 WORD32 (*pf_mvpred_ref_tfr_nby2mb)(struct _DecStruct * ps_dec, argument
997 WORD32 (*pf_parse_inter_slice)(struct _DecStruct * ps_dec, argument
1001 UWORD32 (*pf_get_mb_info)(struct _DecStruct * ps_dec, argument
1007 dpb_manager_t *ps_dpb_mgr;
1008 dpb_commands_t *ps_dpb_cmds;
1009 dpb_commands_t s_dpb_cmds_scratch;
1012 dec_mb_info_t *ps_nmb_info;
1014 UWORD8 *pu1_y_intra_pred_line;
1015 UWORD8 *pu1_u_intra_pred_line;
1016 UWORD8 *pu1_v_intra_pred_line;
1018 UWORD8 *pu1_cur_y_intra_pred_line;
1019 UWORD8 *pu1_cur_u_intra_pred_line;
1020 UWORD8 *pu1_cur_v_intra_pred_line;
1022 UWORD8 *pu1_cur_y_intra_pred_line_base;
1023 UWORD8 *pu1_cur_u_intra_pred_line_base;
1024 UWORD8 *pu1_cur_v_intra_pred_line_base;
1026 UWORD8 *pu1_prev_y_intra_pred_line;
1027 UWORD8 *pu1_prev_u_intra_pred_line;
1028 UWORD8 *pu1_prev_v_intra_pred_line;
1030 UWORD32 u4_intra_pred_line_ofst;
1032 UWORD8 u1_res_changed;
1034 mv_pred_t *ps_mv_cur; /** pointer to current motion vector bank */
1035 mv_pred_t *ps_mv_top; /** pointer to top motion vector bank */
1036 mv_pred_t *ps_mv_top_right2;/** Pointer to top right motion vector bank */
1037 mv_pred_t *ps_mv_p[2]; /** Scratch ping motion vector bank */
1038 mv_pred_t *ps_mv_top_p[MV_SCRATCH_BUFS]; /** Scratch top pong motion vector bank */
1039 UWORD8 u1_mv_top_p;
1041 deblk_mb_t *ps_deblk_mbn;
1066 void (*pf_parse_mvdirect)(struct _DecStruct*, argument
1085 UWORD8 (*pf_mvpred)(struct _DecStruct *ps_dec, argument
1095 void (*pf_compute_bs)(struct _DecStruct * ps_dec, argument
1098 UWORD8 u1_init_dec_flag;
1099 WORD32 i4_reorder_depth;
1100 prev_seq_params_t s_prev_seq_params;
1101 UWORD8 u1_cur_mb_fld_dec_flag; /* current Mb fld or Frm */
1103 UWORD8 u1_topleft_mb_fld;
1104 UWORD8 u1_topleft_mbtype;
1105 UWORD8 u1_topleft_mb_fld_bot;
1106 UWORD8 u1_topleft_mbtype_bot;
1107 WORD16 i2_prev_slice_mbx;
1108 WORD16 i2_prev_slice_mby;
1109 UWORD16 u2_top_left_mask;
1110 UWORD16 u2_top_right_mask;
1111 dec_err_status_t * ps_dec_err_status;
1114 WORD8 pi1_left_pred_mode[8];
1116 UWORD8 u1_mb_idx_mv;
1117 UWORD16 u2_mv_2mb[2];
1118 UWORD32 u4_skip_frm_mask;
1121 UWORD16 u2_total_mbs_coded;
1125 WORD32 i4_vui_frame_rate;
1128 UWORD8 u1_num_ref_idx_lx_active_prev;
1131 UWORD8 u1_frame_decoded_flag;
1135 UWORD8 u1_last_pic_not_decoded;
1137 WORD32 e_dec_status;
1138 UWORD32 u4_num_fld_in_frm;
1162 struct _DecStruct *ps_dec, /** Decoder Parameters */ argument
1172 struct _DecStruct *ps_dec, argument
1182 mb_neigbour_params_t *ps_nbr_mb_row;
1183 mb_neigbour_params_t *ps_cur_mb_row;
1207 void (*p_motion_compensate)(struct _DecStruct * ps_dec, argument
1211 void (*p_mc_dec_thread)(struct _DecStruct * ps_dec, dec_mb_info_t *ps_cur_mb_info); argument
1216 struct _DecStruct * ps_dec, argument
1223 struct _DecStruct * ps_dec, argument
1233 void (*p_DeblockPicture[2])(struct _DecStruct *); argument
1236 UWORD32 u4_ts;
1237 UWORD8 u1_flushfrm;
1240 UWORD8 u1_chroma_format;
1241 UWORD8 u1_pic_decode_done;
1242 UWORD8 u1_slice_header_done;
1243 WORD32 init_done;
1248 high_profile_tools_t s_high_profile;
1250 UWORD8 u1_qp_v_div6;
1251 UWORD8 u1_qp_v_rem6;
1256 UWORD16 u2_prv_frame_num;
1257 UWORD8 u1_top_bottom_decoded;
1258 UWORD8 u1_dangling_field;
1260 IVD_DISPLAY_FRAME_OUT_MODE_T e_frm_out_mode;
1262 UWORD8 *pu1_bits_buf_static;
1263 UWORD8 *pu1_bits_buf_dynamic;
1265 UWORD32 u4_static_bits_buf_size;
1266 UWORD32 u4_dynamic_bits_buf_size;
1268 UWORD32 u4_num_disp_bufs_requested;
1269 WORD32 i4_display_delay;
1270 UWORD32 u4_slice_start_code_found;
1272 UWORD32 u4_nmb_deblk;
1273 UWORD32 u4_use_intrapred_line_copy;
1274 UWORD32 u4_num_mbs_prev_nmb;
1275 UWORD32 u4_num_mbs_cur_nmb;
1276 UWORD32 u4_app_deblk_disable_level;
1277 UWORD32 u4_app_disable_deblk_frm;
1278 WORD32 i4_mv_frac_mask;
1280 disp_buf_t disp_bufs[MAX_DISP_BUFS_NEW];
1281 UWORD32 u4_disp_buf_mapping[MAX_DISP_BUFS_NEW];
1282 UWORD32 u4_disp_buf_to_be_freed[MAX_DISP_BUFS_NEW];
1283 UWORD32 u4_share_disp_buf;
1284 UWORD32 u4_num_disp_bufs;
1286 UWORD32 u4_bs_deblk_thread_created;
1287 volatile UWORD32 u4_start_recon_deblk;
1288 void *pv_bs_deblk_thread_handle;
1290 UWORD32 u4_cur_bs_mb_num;
1291 UWORD32 u4_bs_cur_slice_num_mbs;
1292 UWORD32 u4_cur_deblk_mb_num;
1293 UWORD32 u4_sps_cnt_in_process;
1294 volatile UWORD16 u2_cur_slice_num_bs;
1296 UWORD32 u4_deblk_mb_x;
1297 UWORD32 u4_deblk_mb_y;
1301 iv_yuv_buf_t s_disp_frame_info;
1302 UWORD32 u4_fmt_conv_num_rows;
1303 UWORD32 u4_fmt_conv_cur_row;
1304 ivd_out_bufdesc_t *ps_out_buffer;
1305 ivd_get_display_frame_op_t s_disp_op;
1306 UWORD32 u4_output_present;
1308 volatile UWORD16 cur_dec_mb_num;
1309 volatile UWORD16 cur_recon_mb_num;
1310 volatile UWORD16 u2_cur_mb_addr;
1311 WORD16 i2_dec_thread_mb_y;
1312 WORD16 i2_recon_thread_mb_y;
1314 UWORD8 u1_separate_parse;
1315 UWORD32 u4_dec_thread_created;
1316 void *pv_dec_thread_handle;
1321 void *apv_proc_start_condition[2];
1326 void *apv_proc_start_mutex[2];
1331 void *apv_proc_done_condition[2];
1336 void *apv_proc_done_mutex[2];
1341 proc_state_t ai4_process_start[2];
1346 proc_state_t ai4_process_done[2];
1351 WORD32 i4_break_threads;
1353 volatile UWORD8 *pu1_dec_mb_map;
1354 volatile UWORD8 *pu1_recon_mb_map;
1355 volatile UWORD16 *pu2_slice_num_map;
1356 dec_slice_struct_t *ps_dec_slice_buf;
1357 void *pv_map_ref_idx_to_poc_buf;
1358 dec_mb_info_t *ps_frm_mb_info;
1359 volatile dec_slice_struct_t * volatile ps_parse_cur_slice;
1360 volatile dec_slice_struct_t * volatile ps_decode_cur_slice;
1361 volatile dec_slice_struct_t * volatile ps_computebs_cur_slice;
1362 UWORD32 u4_cur_slice_decode_done;
1363 UWORD32 u4_extra_mem_used;
1366 UWORD32 u4_first_slice_in_pic;
1367 UWORD32 u4_num_cores;
1368 IVD_ARCH_T e_processor_arch;
1369 IVD_SOC_T e_processor_soc;
1379 WORD32 i4_degrade_pics;
1384 WORD32 i4_nondegrade_interval;
1392 WORD32 i4_degrade_type;
1397 WORD32 i4_degrade_pic_cnt;
1398 WORD32 i4_display_index;
1399 UWORD32 u4_pic_buf_got;
1404 void *pv_mv_buf_mgr;
1409 void *pv_pic_buf_mgr;
1414 void *pv_disp_buf_mgr;
1416 void *apv_buf_id_pic_buf_map[MAX_DISP_BUFS_NEW];
1418 ref_map_t as_buf_id_info_map[MAX_DISP_BUFS_NEW];
1420 UWORD8 au1_pic_buf_ref_flag[MAX_DISP_BUFS_NEW];
1422 struct pic_buffer_t *ps_pic_buf_base;
1424 UWORD8 *pu1_ref_buff_base;
1425 col_mv_buf_t *ps_col_mv_base;
1426 void *(*pf_aligned_alloc)(void *pv_mem_ctxt, WORD32 alignment, WORD32 size);
1427 void (*pf_aligned_free)(void *pv_mem_ctxt, void *pv_buf);
1428 void *pv_mem_ctxt;
1430 UWORD8 *pu1_pic_buf_base;
1431 UWORD8 *pu1_mv_bank_buf_base;
1432 UWORD8 *pu1_init_dpb_base;
1434 ih264_default_weighted_pred_ft *pf_default_weighted_pred_luma;
1436 ih264_default_weighted_pred_ft *pf_default_weighted_pred_chroma;
1438 ih264_weighted_pred_ft *pf_weighted_pred_luma;
1440 ih264_weighted_pred_ft *pf_weighted_pred_chroma;
1442 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_luma;
1444 ih264_weighted_bi_pred_ft *pf_weighted_bi_pred_chroma;
1446 ih264_pad *pf_pad_top;
1447 ih264_pad *pf_pad_bottom;
1448 ih264_pad *pf_pad_left_luma;
1449 ih264_pad *pf_pad_left_chroma;
1450 ih264_pad *pf_pad_right_luma;
1451 ih264_pad *pf_pad_right_chroma;
1453 ih264_inter_pred_chroma_ft *pf_inter_pred_chroma;
1455 ih264_inter_pred_luma_ft *apf_inter_pred_luma[16];
1457 ih264_intra_pred_luma_ft *apf_intra_pred_luma_16x16[4];
1459 ih264_intra_pred_luma_ft *apf_intra_pred_luma_8x8[9];
1461 ih264_intra_pred_luma_ft *apf_intra_pred_luma_4x4[9];
1463 ih264_intra_pred_ref_filtering_ft *pf_intra_pred_ref_filtering;
1465 ih264_intra_pred_chroma_ft *apf_intra_pred_chroma[4];
1467 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4;
1469 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_4x4_dc;
1471 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8;
1473 ih264_iquant_itrans_recon_ft *pf_iquant_itrans_recon_luma_8x8_dc;
1475 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4;
1477 ih264_iquant_itrans_recon_chroma_ft *pf_iquant_itrans_recon_chroma_4x4_dc;
1479 ih264_ihadamard_scaling_ft *pf_ihadamard_scaling_4x4;
1484 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4;
1489 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4;
1494 ih264_deblk_edge_bs4_ft *pf_deblk_luma_vert_bs4_mbaff;
1499 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_vert_bslt4_mbaff;
1504 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4;
1509 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4;
1514 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_vert_bs4_mbaff;
1519 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_vert_bslt4_mbaff;
1524 ih264_deblk_edge_bs4_ft *pf_deblk_luma_horz_bs4;
1529 ih264_deblk_edge_bslt4_ft *pf_deblk_luma_horz_bslt4;
1534 ih264_deblk_chroma_edge_bs4_ft *pf_deblk_chroma_horz_bs4;
1539 ih264_deblk_chroma_edge_bslt4_ft *pf_deblk_chroma_horz_bslt4;