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

Function vaapi_vc1_start_frame

libavcodec/vaapi_vc1.c:252–452  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252static int vaapi_vc1_start_frame(AVCodecContext *avctx,
253 av_unused const AVBufferRef *buffer_ref,
254 av_unused const uint8_t *buffer,
255 av_unused uint32_t size)
256{
257 const VC1Context *v = avctx->priv_data;
258 const MpegEncContext *s = &v->s;
259 VAAPIDecodePicture *pic = s->cur_pic.ptr->hwaccel_picture_private;
260 VAPictureParameterBufferVC1 pic_param;
261 int err;
262
263 pic->output_surface = ff_vaapi_get_surface_id(s->cur_pic.ptr->f);
264
265 pic_param = (VAPictureParameterBufferVC1) {
266 .forward_reference_picture = VA_INVALID_ID,
267 .backward_reference_picture = VA_INVALID_ID,
268 .inloop_decoded_picture = VA_INVALID_ID,
269 .sequence_fields.bits = {
270 .pulldown = v->broadcast,
271 .interlace = v->interlace,
272 .tfcntrflag = v->tfcntrflag,
273 .finterpflag = v->finterpflag,
274 .psf = v->psf,
275 .multires = v->multires,
276 .overlap = v->overlap,
277 .syncmarker = v->resync_marker,
278 .rangered = v->rangered,
279 .max_b_frames = s->avctx->max_b_frames,
280 .profile = v->profile,
281 },
282 .coded_width = s->avctx->coded_width,
283 .coded_height = s->avctx->coded_height,
284 .entrypoint_fields.bits = {
285 .broken_link = v->broken_link,
286 .closed_entry = v->closed_entry,
287 .panscan_flag = v->panscanflag,
288 .loopfilter = v->loop_filter,
289 },
290 .conditional_overlap_flag = v->condover,
291 .fast_uvmc_flag = v->fastuvmc,
292 .range_mapping_fields.bits = {
293 .luma_flag = v->range_mapy_flag,
294 .luma = v->range_mapy,
295 .chroma_flag = v->range_mapuv_flag,
296 .chroma = v->range_mapuv,
297 },
298 .b_picture_fraction = v->bfraction_lut_index,
299 .cbp_table = (v->fcm == PROGRESSIVE ? v->cbptab : v->icbptab),
300 .mb_mode_table = v->mbmodetab,
301 .range_reduction_frame = v->rangeredfrm,
302 .rounding_control = v->rnd,
303 .post_processing = v->postproc,
304 .picture_resolution_index = v->respic,
305 .picture_fields.bits = {
306 .picture_type = (v->fcm == ILACE_FIELD ? vc1_get_FPTYPE(v) : vc1_get_PTYPE(v)),
307 .frame_coding_mode = v->fcm,
308 .top_field_first = v->tff,
309 .is_first_field = !v->second_field,

Callers

nothing calls this directly

Calls 15

ff_vaapi_get_surface_idFunction · 0.85
vc1_get_FPTYPEFunction · 0.85
vc1_get_PTYPEFunction · 0.85
vc1_get_LUMSCALEFunction · 0.85
vc1_get_LUMSHIFTFunction · 0.85
vc1_get_LUMSCALE2Function · 0.85
vc1_get_LUMSHIFT2Function · 0.85
vc1_get_INTCOMPFIELDFunction · 0.85
vc1_has_SKIPMB_bitplaneFunction · 0.85
vc1_has_FIELDTX_bitplaneFunction · 0.85

Tested by

no test coverage detected