MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / vaapi_vvc_start_frame

Function vaapi_vvc_start_frame

libavcodec/vaapi_vvc.c:82–462  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80}
81
82static int vaapi_vvc_start_frame(AVCodecContext *avctx,
83 av_unused const AVBufferRef *buffer_ref,
84 av_unused const uint8_t *buffer,
85 av_unused uint32_t size)
86{
87 const VVCContext *h = avctx->priv_data;
88 VVCFrameContext *fc = &h->fcs[(h->nb_frames + h->nb_fcs) % h->nb_fcs];
89 const H266RawSPS *sps = fc->ps.sps->r;
90 const H266RawPPS *pps = fc->ps.pps->r;
91 const H266RawPictureHeader *ph = fc->ps.ph.r;
92 VAAPIDecodePictureVVC *pic = fc->ref->hwaccel_picture_private;
93 VAPictureParameterBufferVVC *pic_param = &pic->pic_param;
94 uint16_t tile_dim, exp_slice_height_in_ctus[VVC_MAX_SLICES] = {0};
95 int i, j, k, err;
96
97 pic->pic.output_surface = ff_vaapi_get_surface_id(fc->ref->frame);
98
99 *pic_param = (VAPictureParameterBufferVVC) {
100 .pps_pic_width_in_luma_samples = pps->pps_pic_width_in_luma_samples,
101 .pps_pic_height_in_luma_samples = pps->pps_pic_height_in_luma_samples,
102 .sps_num_subpics_minus1 = sps->sps_num_subpics_minus1,
103 .sps_chroma_format_idc = sps->sps_chroma_format_idc,
104 .sps_bitdepth_minus8 = sps->sps_bitdepth_minus8,
105 .sps_log2_ctu_size_minus5 = sps->sps_log2_ctu_size_minus5,
106 .sps_log2_min_luma_coding_block_size_minus2 = sps->sps_log2_min_luma_coding_block_size_minus2,
107 .sps_log2_transform_skip_max_size_minus2 = sps->sps_log2_transform_skip_max_size_minus2,
108 .sps_six_minus_max_num_merge_cand = sps->sps_six_minus_max_num_merge_cand,
109 .sps_five_minus_max_num_subblock_merge_cand = sps->sps_five_minus_max_num_subblock_merge_cand,
110 .sps_max_num_merge_cand_minus_max_num_gpm_cand = sps->sps_max_num_merge_cand_minus_max_num_gpm_cand,
111 .sps_log2_parallel_merge_level_minus2 = sps->sps_log2_parallel_merge_level_minus2,
112 .sps_min_qp_prime_ts = sps->sps_min_qp_prime_ts,
113 .sps_six_minus_max_num_ibc_merge_cand = sps->sps_six_minus_max_num_ibc_merge_cand,
114 .sps_num_ladf_intervals_minus2 = sps->sps_num_ladf_intervals_minus2,
115 .sps_ladf_lowest_interval_qp_offset = sps->sps_ladf_lowest_interval_qp_offset,
116 .sps_flags.bits = {
117 .sps_subpic_info_present_flag = sps->sps_subpic_info_present_flag,
118 .sps_independent_subpics_flag = sps->sps_independent_subpics_flag,
119 .sps_subpic_same_size_flag = sps->sps_subpic_same_size_flag,
120 .sps_entropy_coding_sync_enabled_flag = sps->sps_entropy_coding_sync_enabled_flag,
121 .sps_qtbtt_dual_tree_intra_flag = sps->sps_qtbtt_dual_tree_intra_flag,
122 .sps_max_luma_transform_size_64_flag = sps->sps_max_luma_transform_size_64_flag,
123 .sps_transform_skip_enabled_flag = sps->sps_transform_skip_enabled_flag,
124 .sps_bdpcm_enabled_flag = sps->sps_bdpcm_enabled_flag,
125 .sps_mts_enabled_flag = sps->sps_mts_enabled_flag,
126 .sps_explicit_mts_intra_enabled_flag = sps->sps_explicit_mts_intra_enabled_flag,
127 .sps_explicit_mts_inter_enabled_flag = sps->sps_explicit_mts_inter_enabled_flag,
128 .sps_lfnst_enabled_flag = sps->sps_lfnst_enabled_flag,
129 .sps_joint_cbcr_enabled_flag = sps->sps_joint_cbcr_enabled_flag,
130 .sps_same_qp_table_for_chroma_flag = sps->sps_same_qp_table_for_chroma_flag,
131 .sps_sao_enabled_flag = sps->sps_sao_enabled_flag,
132 .sps_alf_enabled_flag = sps->sps_alf_enabled_flag,
133 .sps_ccalf_enabled_flag = sps->sps_ccalf_enabled_flag,
134 .sps_lmcs_enabled_flag = sps->sps_lmcs_enabled_flag,
135 .sps_sbtmvp_enabled_flag = sps->sps_sbtmvp_enabled_flag,
136 .sps_amvr_enabled_flag = sps->sps_amvr_enabled_flag,
137 .sps_smvd_enabled_flag = sps->sps_smvd_enabled_flag,
138 .sps_mmvd_enabled_flag = sps->sps_mmvd_enabled_flag,
139 .sps_sbt_enabled_flag = sps->sps_sbt_enabled_flag,

Callers

nothing calls this directly

Calls 5

ff_vaapi_get_surface_idFunction · 0.85
ff_vaapi_decode_cancelFunction · 0.85
fill_vaapi_picFunction · 0.70

Tested by

no test coverage detected