| /rockchip-linux_mpp/mpp/codec/dec/h264/ |
| H A D | h264d_sps.c | 390 static void update_video_pars(H264dVideoCtx_t *p_Vid, H264_SPS_t *sps) in update_video_pars() argument 398 p_Vid->max_frame_num = 1 << (sps->log2_max_frame_num_minus4 + 4); in update_video_pars() 399 p_Vid->PicWidthInMbs = (sps->pic_width_in_mbs_minus1 + 1); in update_video_pars() 400 …p_Vid->FrameHeightInMbs = (2 - sps->frame_mbs_only_flag) * (sps->pic_height_in_map_units_minus1 + … in update_video_pars() 401 p_Vid->yuv_format = sps->chroma_format_idc; in update_video_pars() 402 p_Vid->frame_mbs_only_flag = sps->frame_mbs_only_flag; in update_video_pars() 404 p_Vid->width = p_Vid->PicWidthInMbs * 16; in update_video_pars() 405 p_Vid->height = p_Vid->FrameHeightInMbs * 16; in update_video_pars() 406 p_Vid->bit_depth_luma = sps->bit_depth_luma_minus8 + 8; in update_video_pars() 407 p_Vid->bit_depth_chroma = sps->bit_depth_chroma_minus8 + 8; in update_video_pars() [all …]
|
| H A D | h264d_scalist.c | 66 static void set_sps_scanlist_matrix(H264_SPS_t *sps, H264dVideoCtx_t *p_Vid) in set_sps_scanlist_matrix() argument 73 p_Vid->qmatrix[i] = Default4x4Intra; in set_sps_scanlist_matrix() 75 p_Vid->qmatrix[i] = Default4x4Inter; in set_sps_scanlist_matrix() 77 p_Vid->qmatrix[i] = p_Vid->qmatrix[i - 1]; in set_sps_scanlist_matrix() 82 p_Vid->qmatrix[i] = (i < 3) ? Default4x4Intra : Default4x4Inter; in set_sps_scanlist_matrix() 84 p_Vid->qmatrix[i] = sps->ScalingList4x4[i]; in set_sps_scanlist_matrix() 92 p_Vid->qmatrix[i] = Default8x8Intra; in set_sps_scanlist_matrix() 94 p_Vid->qmatrix[i] = Default8x8Inter; in set_sps_scanlist_matrix() 96 p_Vid->qmatrix[i] = p_Vid->qmatrix[i - 2]; in set_sps_scanlist_matrix() 101 … p_Vid->qmatrix[i] = (i == 6 || i == 8 || i == 10) ? Default8x8Intra : Default8x8Inter; in set_sps_scanlist_matrix() [all …]
|
| H A D | h264d_fill.c | 76 void fill_scanlist(H264dVideoCtx_t *p_Vid, DXVA_Qmatrix_H264 *qm) in fill_scanlist() argument 83 qm->bScalingLists4x4[i][j] = p_Vid->qmatrix[i][j]; in fill_scanlist() 86 for (i = 6; i < ((p_Vid->active_sps->chroma_format_idc != H264_CHROMA_444) ? 8 : 12); ++i) { in fill_scanlist() 88 qm->bScalingLists8x8[i - 6][j] = p_Vid->qmatrix[i][j]; in fill_scanlist() 99 void fill_picparams(H264dVideoCtx_t *p_Vid, DXVA_PicParams_H264_MVC *pp) in fill_picparams() argument 102 H264_StorePic_t *dec_pic = p_Vid->dec_pic; in fill_picparams() 103 H264_DpbInfo_t *dpb_info = p_Vid->p_Dec->dpb_info; in fill_picparams() 132 pp->spspps_update = p_Vid->spspps_update; in fill_picparams() 134 pp->wFrameWidthInMbsMinus1 = p_Vid->active_sps->pic_width_in_mbs_minus1; in fill_picparams() 135 pp->wFrameHeightInMbsMinus1 = p_Vid->active_sps->pic_height_in_map_units_minus1; in fill_picparams() [all …]
|
| H A D | h264d_api.c | 137 static MPP_RET free_vid_ctx(H264dVideoCtx_t *p_Vid) in free_vid_ctx() argument 142 INP_CHECK(ret, !p_Vid); in free_vid_ctx() 145 MPP_FREE(p_Vid->spsSet[i]); in free_vid_ctx() 146 if (p_Vid->subspsSet[i]) in free_vid_ctx() 147 recycle_subsps(p_Vid->subspsSet[i]); in free_vid_ctx() 148 MPP_FREE(p_Vid->subspsSet[i]); in free_vid_ctx() 152 MPP_FREE(p_Vid->ppsSet[i]); in free_vid_ctx() 155 free_dpb(p_Vid->p_Dpb_layer[i]); in free_vid_ctx() 156 MPP_FREE(p_Vid->p_Dpb_layer[i]); in free_vid_ctx() 159 free_storable_picture(p_Vid->p_Dec, p_Vid->dec_pic); in free_vid_ctx() [all …]
|
| H A D | h264d_dpb.c | 49 static RK_S32 getDpbSize(H264dVideoCtx_t *p_Vid, H264_SPS_t *active_sps) in getDpbSize() argument 115 if (p_Vid->active_mvc_sps_flag && in getDpbSize() 116 … (p_Vid->profile_idc == H264_PROFILE_MVC_HIGH || p_Vid->profile_idc == H264_PROFILE_STEREO_HIGH)) { in getDpbSize() 117 num_views = p_Vid->active_subsps->num_views_minus1 + 1; in getDpbSize() 276 unmark_for_reference(p_Dpb->p_Vid->p_Dec, p_Dpb->fs_ref[i]); in mm_unmark_short_term_for_reference() 362 H264dVideoCtx_t *p_Vid = p_Dpb->p_Vid; in unmark_long_term_field_for_reference_by_frame_idx() local 366 curr_pic_num += (2 * p_Vid->max_frame_num); in unmark_long_term_field_for_reference_by_frame_idx() 549 unmark_for_reference(p_Dpb->p_Vid->p_Dec, p_Dpb->fs_ref[i]); in mm_unmark_all_short_term_for_reference() 580 unmark_for_reference(p_Dpb->p_Vid->p_Dec, p_Dpb->fs[i]); in sliding_window_memory_management() 660 INP_CHECK(ret, !p_Dpb->p_Vid); in remove_frame_from_dpb() [all …]
|
| H A D | h264d_slice.c | 140 …if ((currSlice->slice_type == H264_B_SLICE) && currSlice->p_Vid->active_pps->weighted_bipred_idc =… in pred_weight_table() 171 H264dVideoCtx_t *p_Vid = pSlice->p_Vid; in dec_ref_pic_marking() local 181 p_Vid->no_output_of_prior_pics_flag = pSlice->no_output_of_prior_pics_flag; in dec_ref_pic_marking() 242 H264dVideoCtx_t *p_Vid = currSlice->p_Vid; in init_slice_parmeters() local 250 p_Vid->p_Dec->errctx.used_ref_flag = currSlice->nal_reference_idc ? 1 : 0; in init_slice_parmeters() 252 p_Vid->p_Dec->errctx.dpb_err_flag = 0; in init_slice_parmeters() 260 currSlice->view_id = currSlice->mvcExt.valid ? p_Vid->active_subsps->view_id[0] : 0; in init_slice_parmeters() 266 currSlice->p_Dpb = p_Vid->p_Dpb_layer[currSlice->layer_id]; in init_slice_parmeters() 352 H264dVideoCtx_t *p_Vid = currSlice->p_Vid; in set_slice_user_parmeters() local 356 cur_pps = p_Vid->ppsSet[currSlice->pic_parameter_set_id]; in set_slice_user_parmeters() [all …]
|
| H A D | h264d_init.c | 35 static MPP_RET decode_poc(H264dVideoCtx_t *p_Vid, H264_SLICE_t *pSlice) in decode_poc() argument 40 H264_SPS_t *active_sps = p_Vid->active_sps; in decode_poc() 48 p_Vid->PrevPicOrderCntMsb = 0; in decode_poc() 49 p_Vid->PrevPicOrderCntLsb = 0; in decode_poc() 51 if (p_Vid->last_has_mmco_5) { in decode_poc() 52 if (p_Vid->last_pic_bottom_field) { in decode_poc() 53 p_Vid->PrevPicOrderCntMsb = 0; in decode_poc() 54 p_Vid->PrevPicOrderCntLsb = 0; in decode_poc() 56 p_Vid->PrevPicOrderCntMsb = 0; in decode_poc() 57 p_Vid->PrevPicOrderCntLsb = pSlice->toppoc; in decode_poc() [all …]
|
| H A D | h264d_pps.c | 143 if (!currSlice->p_Vid->ppsSet[cur_pps->pic_parameter_set_id]) { in process_pps() 144 currSlice->p_Vid->ppsSet[cur_pps->pic_parameter_set_id] = mpp_calloc(H264_PPS_t, 1); in process_pps() 147 memcpy(currSlice->p_Vid->ppsSet[cur_pps->pic_parameter_set_id], cur_pps, sizeof(H264_PPS_t)); in process_pps() 148 p_Cur->p_Vid->spspps_update = 1; in process_pps() 162 MPP_RET activate_pps(H264dVideoCtx_t *p_Vid, H264_PPS_t *pps) in activate_pps() argument 166 INP_CHECK(ret, !p_Vid && !pps); in activate_pps() 167 if (p_Vid->active_pps != pps) { in activate_pps() 168 if (p_Vid->dec_pic) { in activate_pps() 170 FUN_CHECK(ret = exit_picture(p_Vid, &p_Vid->dec_pic)); in activate_pps() 172 p_Vid->active_pps = pps; in activate_pps()
|
| H A D | h264d_dpb.h | 37 MPP_RET insert_picture_in_dpb(H264dVideoCtx_t *p_Vid, H264_FrameStore_t *fs, H264_StorePic_t *p,… 40 MPP_RET check_mvc_dpb(H264dVideoCtx_t*p_Vid, H264_DpbBuf_t *p_Dpb_layer_0, H264_DpbBuf_t* p_Dpb_la… 41 MPP_RET init_dpb (H264dVideoCtx_t *p_Vid, H264_DpbBuf_t *p_Dpb, RK_S32 type); 46 MPP_RET exit_picture(H264dVideoCtx_t *p_Vid, H264_StorePic_t **dec_pic); 49 H264_StorePic_t *alloc_storable_picture(H264dVideoCtx_t *p_Vid, RK_S32 structure);
|
| H A D | h264d_fill.h | 33 void fill_picparams(H264dVideoCtx_t *p_Vid, DXVA_PicParams_H264_MVC *pp); 34 void fill_scanlist(H264dVideoCtx_t *p_Vid, DXVA_Qmatrix_H264 *qm);
|
| H A D | h264d_parse.c | 75 static void reset_slice(H264dVideoCtx_t *p_Vid) in reset_slice() argument 78 H264_SLICE_t *currSlice = &p_Vid->p_Cur->slice; in reset_slice() 83 currSlice->p_Vid = p_Vid; in reset_slice() 84 currSlice->p_Dec = p_Vid->p_Dec; in reset_slice() 85 currSlice->p_Cur = p_Vid->p_Cur; in reset_slice() 86 currSlice->p_Inp = p_Vid->p_Inp; in reset_slice() 87 currSlice->active_sps = p_Vid->active_sps; in reset_slice() 88 currSlice->active_pps = p_Vid->active_pps; in reset_slice() 89 currSlice->active_subsps = p_Vid->active_subsps; in reset_slice() 92 currSlice->listP[i] = p_Vid->p_Cur->listP[i]; in reset_slice() [all …]
|
| H A D | h264d_sei.c | 290 … FUN_CHECK(ret = interpret_buffering_period_info(&payload_bitctx, sei_msg, currSlice->p_Vid)); in process_sei() 293 FUN_CHECK(interpret_picture_timing_info(&payload_bitctx, sei_msg, currSlice->p_Vid)); in process_sei() 296 …HECK(check_encoder_sei_info(&payload_bitctx, sei_msg->payload_size, &currSlice->p_Vid->deny_flag)); in process_sei() 298 if (currSlice->p_Vid->deny_flag) in process_sei() 302 FUN_CHECK(interpret_recovery_point(&payload_bitctx, currSlice->p_Vid)); in process_sei()
|
| H A D | h264d_pps.h | 31 MPP_RET activate_pps(H264dVideoCtx_t *p_Vid, H264_PPS_t *pps);
|
| H A D | h264d_sps.h | 33 MPP_RET activate_sps(H264dVideoCtx_t *p_Vid, H264_SPS_t *sps, H264_subSPS_t *subset_sps);
|
| H A D | h264d_global.h | 410 struct h264d_video_ctx_t *p_Vid; member 835 struct h264d_video_ctx_t *p_Vid; member 881 struct h264d_video_ctx_t *p_Vid; //!< parameters for video decoder member 961 struct h264d_video_ctx_t *p_Vid; //!< parameters for video decoder member 1135 struct h264d_video_ctx_t *p_Vid; //!< parameters for video decoder member
|