From: Anton Khirnov <anton@khirnov.net> To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 07/11] lavc/hevcdec: rename HEVCFrame.frame to just f Date: Fri, 31 May 2024 19:47:45 +0200 Message-ID: <20240531174804.17572-7-anton@khirnov.net> (raw) In-Reply-To: <20240531174804.17572-1-anton@khirnov.net> This is shorter, loses no information, and is consistent with other similar structs. --- libavcodec/dxva2_hevc.c | 8 +++---- libavcodec/hevc_refs.c | 34 +++++++++++++-------------- libavcodec/hevcdec.c | 50 ++++++++++++++++++++-------------------- libavcodec/hevcdec.h | 2 +- libavcodec/nvdec_hevc.c | 6 ++--- libavcodec/vaapi_hevc.c | 18 +++++++-------- libavcodec/vdpau_hevc.c | 10 ++++---- libavcodec/vulkan_hevc.c | 10 ++++---- 8 files changed, 69 insertions(+), 69 deletions(-) diff --git a/libavcodec/dxva2_hevc.c b/libavcodec/dxva2_hevc.c index 2d6c2f812f..08b3b1e785 100644 --- a/libavcodec/dxva2_hevc.c +++ b/libavcodec/dxva2_hevc.c @@ -170,7 +170,7 @@ void ff_dxva2_hevc_fill_picture_parameters(const AVCodecContext *avctx, AVDXVACo } if (frame) { - fill_picture_entry(&pp->RefPicList[i], ff_dxva2_get_surface_index(avctx, ctx, frame->frame, 0), !!(frame->flags & HEVC_FRAME_FLAG_LONG_REF)); + fill_picture_entry(&pp->RefPicList[i], ff_dxva2_get_surface_index(avctx, ctx, frame->f, 0), !!(frame->flags & HEVC_FRAME_FLAG_LONG_REF)); pp->PicOrderCntValList[i] = frame->poc; } else { pp->RefPicList[i].bPicEntry = 0xff; @@ -178,7 +178,7 @@ void ff_dxva2_hevc_fill_picture_parameters(const AVCodecContext *avctx, AVDXVACo } } - fill_picture_entry(&pp->CurrPic, ff_dxva2_get_surface_index(avctx, ctx, current_picture->frame, 1), 0); + fill_picture_entry(&pp->CurrPic, ff_dxva2_get_surface_index(avctx, ctx, current_picture->f, 1), 0); #define DO_REF_LIST(ref_idx, ref_list) { \ const RefPicList *rpl = &h->rps[ref_idx]; \ @@ -187,7 +187,7 @@ void ff_dxva2_hevc_fill_picture_parameters(const AVCodecContext *avctx, AVDXVACo while (!frame && j < rpl->nb_refs) \ frame = rpl->ref[j++]; \ if (frame && frame->flags & (HEVC_FRAME_FLAG_LONG_REF | HEVC_FRAME_FLAG_SHORT_REF)) \ - pp->ref_list[i] = get_refpic_index(pp, ff_dxva2_get_surface_index(avctx, ctx, frame->frame, 0)); \ + pp->ref_list[i] = get_refpic_index(pp, ff_dxva2_get_surface_index(avctx, ctx, frame->f, 0)); \ else \ pp->ref_list[i] = 0xff; \ } \ @@ -415,7 +415,7 @@ static int dxva2_hevc_end_frame(AVCodecContext *avctx) if (ctx_pic->slice_count <= 0 || ctx_pic->bitstream_size <= 0) return -1; - ret = ff_dxva2_common_end_frame(avctx, h->cur_frame->frame, + ret = ff_dxva2_common_end_frame(avctx, h->cur_frame->f, &ctx_pic->pp, sizeof(ctx_pic->pp), scale ? &ctx_pic->qm : NULL, scale ? sizeof(ctx_pic->qm) : 0, commit_bitstream_and_slice_buffer); diff --git a/libavcodec/hevc_refs.c b/libavcodec/hevc_refs.c index ca4b2b8bfd..6019818cf0 100644 --- a/libavcodec/hevc_refs.c +++ b/libavcodec/hevc_refs.c @@ -79,7 +79,7 @@ static HEVCFrame *alloc_frame(HEVCContext *s) int i, j, ret; for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) { HEVCFrame *frame = &s->DPB[i]; - if (frame->frame) + if (frame->f) continue; ret = ff_progress_frame_get_buffer(s->avctx, &frame->tf, @@ -104,10 +104,10 @@ static HEVCFrame *alloc_frame(HEVCContext *s) frame->rpl_tab[j] = frame->rpl; if (s->sei.picture_timing.picture_struct == AV_PICTURE_STRUCTURE_TOP_FIELD) - frame->frame->flags |= AV_FRAME_FLAG_TOP_FIELD_FIRST; + frame->f->flags |= AV_FRAME_FLAG_TOP_FIELD_FIRST; if ((s->sei.picture_timing.picture_struct == AV_PICTURE_STRUCTURE_TOP_FIELD) || (s->sei.picture_timing.picture_struct == AV_PICTURE_STRUCTURE_BOTTOM_FIELD)) - frame->frame->flags |= AV_FRAME_FLAG_INTERLACED; + frame->f->flags |= AV_FRAME_FLAG_INTERLACED; ret = ff_hwaccel_frame_priv_alloc(s->avctx, &frame->hwaccel_picture_private); if (ret < 0) @@ -131,7 +131,7 @@ int ff_hevc_set_new_ref(HEVCContext *s, AVFrame **frame, int poc) for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) { HEVCFrame *frame = &s->DPB[i]; - if (frame->frame && frame->sequence == s->seq_decode && + if (frame->f && frame->sequence == s->seq_decode && frame->poc == poc) { av_log(s->avctx, AV_LOG_ERROR, "Duplicate POC in a sequence: %d.\n", poc); @@ -143,7 +143,7 @@ int ff_hevc_set_new_ref(HEVCContext *s, AVFrame **frame, int poc) if (!ref) return AVERROR(ENOMEM); - *frame = ref->frame; + *frame = ref->f; s->cur_frame = ref; s->collocated_ref = NULL; @@ -154,10 +154,10 @@ int ff_hevc_set_new_ref(HEVCContext *s, AVFrame **frame, int poc) ref->poc = poc; ref->sequence = s->seq_decode; - ref->frame->crop_left = s->ps.sps->output_window.left_offset; - ref->frame->crop_right = s->ps.sps->output_window.right_offset; - ref->frame->crop_top = s->ps.sps->output_window.top_offset; - ref->frame->crop_bottom = s->ps.sps->output_window.bottom_offset; + ref->f->crop_left = s->ps.sps->output_window.left_offset; + ref->f->crop_right = s->ps.sps->output_window.right_offset; + ref->f->crop_top = s->ps.sps->output_window.top_offset; + ref->f->crop_bottom = s->ps.sps->output_window.bottom_offset; return 0; } @@ -212,7 +212,7 @@ int ff_hevc_output_frame(HEVCContext *s, AVFrame *out, int flush) if (nb_output) { HEVCFrame *frame = &s->DPB[min_idx]; - ret = av_frame_ref(out, frame->needs_fg ? frame->frame_grain : frame->frame); + ret = av_frame_ref(out, frame->needs_fg ? frame->frame_grain : frame->f); if (frame->flags & HEVC_FRAME_FLAG_BUMPING) ff_hevc_unref_frame(frame, HEVC_FRAME_FLAG_OUTPUT | HEVC_FRAME_FLAG_BUMPING); else @@ -220,7 +220,7 @@ int ff_hevc_output_frame(HEVCContext *s, AVFrame *out, int flush) if (ret < 0) return ret; - if (frame->needs_fg && (ret = av_frame_copy_props(out, frame->frame)) < 0) + if (frame->needs_fg && (ret = av_frame_copy_props(out, frame->f)) < 0) return ret; if (!(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN)) @@ -390,7 +390,7 @@ static HEVCFrame *find_ref_idx(HEVCContext *s, int poc, uint8_t use_msb) for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) { HEVCFrame *ref = &s->DPB[i]; - if (ref->frame && ref->sequence == s->seq_decode) { + if (ref->f && ref->sequence == s->seq_decode) { if ((ref->poc & mask) == poc && (use_msb || ref->poc != s->poc)) return ref; } @@ -419,13 +419,13 @@ static HEVCFrame *generate_missing_ref(HEVCContext *s, int poc) if (!s->avctx->hwaccel) { if (!s->ps.sps->pixel_shift) { - for (i = 0; frame->frame->data[i]; i++) - memset(frame->frame->data[i], 1 << (s->ps.sps->bit_depth - 1), - frame->frame->linesize[i] * AV_CEIL_RSHIFT(s->ps.sps->height, s->ps.sps->vshift[i])); + for (i = 0; frame->f->data[i]; i++) + memset(frame->f->data[i], 1 << (s->ps.sps->bit_depth - 1), + frame->f->linesize[i] * AV_CEIL_RSHIFT(s->ps.sps->height, s->ps.sps->vshift[i])); } else { - for (i = 0; frame->frame->data[i]; i++) + for (i = 0; frame->f->data[i]; i++) for (y = 0; y < (s->ps.sps->height >> s->ps.sps->vshift[i]); y++) { - uint8_t *dst = frame->frame->data[i] + y * frame->frame->linesize[i]; + uint8_t *dst = frame->f->data[i] + y * frame->f->linesize[i]; AV_WN16(dst, 1 << (s->ps.sps->bit_depth - 1)); av_memcpy_backptr(dst + 2, 2, 2*(s->ps.sps->width >> s->ps.sps->hshift[i]) - 2); } diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 39c23b532d..6283abbbe8 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -1975,13 +1975,13 @@ static void hls_prediction_unit(HEVCLocalContext *lc, int x0, int y0, if (current_mv.pred_flag & PF_L0) { ref0 = refPicList[0].ref[current_mv.ref_idx[0]]; - if (!ref0 || !ref0->frame) + if (!ref0 || !ref0->f) return; hevc_await_progress(s, ref0, ¤t_mv.mv[0], y0, nPbH); } if (current_mv.pred_flag & PF_L1) { ref1 = refPicList[1].ref[current_mv.ref_idx[1]]; - if (!ref1 || !ref1->frame) + if (!ref1 || !ref1->f) return; hevc_await_progress(s, ref1, ¤t_mv.mv[1], y0, nPbH); } @@ -1992,16 +1992,16 @@ static void hls_prediction_unit(HEVCLocalContext *lc, int x0, int y0, int nPbW_c = nPbW >> s->ps.sps->hshift[1]; int nPbH_c = nPbH >> s->ps.sps->vshift[1]; - luma_mc_uni(lc, dst0, s->frame->linesize[0], ref0->frame, + luma_mc_uni(lc, dst0, s->frame->linesize[0], ref0->f, ¤t_mv.mv[0], x0, y0, nPbW, nPbH, s->sh.luma_weight_l0[current_mv.ref_idx[0]], s->sh.luma_offset_l0[current_mv.ref_idx[0]]); if (s->ps.sps->chroma_format_idc) { - chroma_mc_uni(lc, dst1, s->frame->linesize[1], ref0->frame->data[1], ref0->frame->linesize[1], + chroma_mc_uni(lc, dst1, s->frame->linesize[1], ref0->f->data[1], ref0->f->linesize[1], 0, x0_c, y0_c, nPbW_c, nPbH_c, ¤t_mv, s->sh.chroma_weight_l0[current_mv.ref_idx[0]][0], s->sh.chroma_offset_l0[current_mv.ref_idx[0]][0]); - chroma_mc_uni(lc, dst2, s->frame->linesize[2], ref0->frame->data[2], ref0->frame->linesize[2], + chroma_mc_uni(lc, dst2, s->frame->linesize[2], ref0->f->data[2], ref0->f->linesize[2], 0, x0_c, y0_c, nPbW_c, nPbH_c, ¤t_mv, s->sh.chroma_weight_l0[current_mv.ref_idx[0]][1], s->sh.chroma_offset_l0[current_mv.ref_idx[0]][1]); } @@ -2011,17 +2011,17 @@ static void hls_prediction_unit(HEVCLocalContext *lc, int x0, int y0, int nPbW_c = nPbW >> s->ps.sps->hshift[1]; int nPbH_c = nPbH >> s->ps.sps->vshift[1]; - luma_mc_uni(lc, dst0, s->frame->linesize[0], ref1->frame, + luma_mc_uni(lc, dst0, s->frame->linesize[0], ref1->f, ¤t_mv.mv[1], x0, y0, nPbW, nPbH, s->sh.luma_weight_l1[current_mv.ref_idx[1]], s->sh.luma_offset_l1[current_mv.ref_idx[1]]); if (s->ps.sps->chroma_format_idc) { - chroma_mc_uni(lc, dst1, s->frame->linesize[1], ref1->frame->data[1], ref1->frame->linesize[1], + chroma_mc_uni(lc, dst1, s->frame->linesize[1], ref1->f->data[1], ref1->f->linesize[1], 1, x0_c, y0_c, nPbW_c, nPbH_c, ¤t_mv, s->sh.chroma_weight_l1[current_mv.ref_idx[1]][0], s->sh.chroma_offset_l1[current_mv.ref_idx[1]][0]); - chroma_mc_uni(lc, dst2, s->frame->linesize[2], ref1->frame->data[2], ref1->frame->linesize[2], + chroma_mc_uni(lc, dst2, s->frame->linesize[2], ref1->f->data[2], ref1->f->linesize[2], 1, x0_c, y0_c, nPbW_c, nPbH_c, ¤t_mv, s->sh.chroma_weight_l1[current_mv.ref_idx[1]][1], s->sh.chroma_offset_l1[current_mv.ref_idx[1]][1]); } @@ -2031,15 +2031,15 @@ static void hls_prediction_unit(HEVCLocalContext *lc, int x0, int y0, int nPbW_c = nPbW >> s->ps.sps->hshift[1]; int nPbH_c = nPbH >> s->ps.sps->vshift[1]; - luma_mc_bi(lc, dst0, s->frame->linesize[0], ref0->frame, + luma_mc_bi(lc, dst0, s->frame->linesize[0], ref0->f, ¤t_mv.mv[0], x0, y0, nPbW, nPbH, - ref1->frame, ¤t_mv.mv[1], ¤t_mv); + ref1->f, ¤t_mv.mv[1], ¤t_mv); if (s->ps.sps->chroma_format_idc) { - chroma_mc_bi(lc, dst1, s->frame->linesize[1], ref0->frame, ref1->frame, + chroma_mc_bi(lc, dst1, s->frame->linesize[1], ref0->f, ref1->f, x0_c, y0_c, nPbW_c, nPbH_c, ¤t_mv, 0); - chroma_mc_bi(lc, dst2, s->frame->linesize[2], ref0->frame, ref1->frame, + chroma_mc_bi(lc, dst2, s->frame->linesize[2], ref0->f, ref1->f, x0_c, y0_c, nPbW_c, nPbH_c, ¤t_mv, 1); } } @@ -2780,7 +2780,7 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) static int set_side_data(HEVCContext *s) { - AVFrame *out = s->cur_frame->frame; + AVFrame *out = s->cur_frame->f; int ret; // Decrement the mastering display and content light level flag when IRAP @@ -2896,9 +2896,9 @@ static int hevc_frame_start(HEVCContext *s) } if (IS_IRAP(s)) - s->cur_frame->frame->flags |= AV_FRAME_FLAG_KEY; + s->cur_frame->f->flags |= AV_FRAME_FLAG_KEY; else - s->cur_frame->frame->flags &= ~AV_FRAME_FLAG_KEY; + s->cur_frame->f->flags &= ~AV_FRAME_FLAG_KEY; s->cur_frame->needs_fg = (s->sei.common.film_grain_characteristics.present || s->sei.common.aom_film_grain.enable) && @@ -2912,17 +2912,17 @@ static int hevc_frame_start(HEVCContext *s) if (s->cur_frame->needs_fg && (s->sei.common.film_grain_characteristics.present && !ff_h274_film_grain_params_supported(s->sei.common.film_grain_characteristics.model_id, - s->cur_frame->frame->format) || - !av_film_grain_params_select(s->cur_frame->frame))) { + s->cur_frame->f->format) || + !av_film_grain_params_select(s->cur_frame->f))) { av_log_once(s->avctx, AV_LOG_WARNING, AV_LOG_DEBUG, &s->film_grain_warning_shown, "Unsupported film grain parameters. Ignoring film grain.\n"); s->cur_frame->needs_fg = 0; } if (s->cur_frame->needs_fg) { - s->cur_frame->frame_grain->format = s->cur_frame->frame->format; - s->cur_frame->frame_grain->width = s->cur_frame->frame->width; - s->cur_frame->frame_grain->height = s->cur_frame->frame->height; + s->cur_frame->frame_grain->format = s->cur_frame->f->format; + s->cur_frame->frame_grain->width = s->cur_frame->f->width; + s->cur_frame->frame_grain->height = s->cur_frame->f->height; if ((ret = ff_thread_get_buffer(s->avctx, s->cur_frame->frame_grain, 0)) < 0) goto fail; } @@ -2957,17 +2957,17 @@ static int hevc_frame_end(HEVCContext *s) if (out->needs_fg) { av_assert0(out->frame_grain->buf[0]); - fgp = av_film_grain_params_select(out->frame); + fgp = av_film_grain_params_select(out->f); switch (fgp->type) { case AV_FILM_GRAIN_PARAMS_NONE: av_assert0(0); return AVERROR_BUG; case AV_FILM_GRAIN_PARAMS_H274: - ret = ff_h274_apply_film_grain(out->frame_grain, out->frame, + ret = ff_h274_apply_film_grain(out->frame_grain, out->f, &s->h274db, fgp); break; case AV_FILM_GRAIN_PARAMS_AV1: - ret = ff_aom_apply_film_grain(out->frame_grain, out->frame, fgp); + ret = ff_aom_apply_film_grain(out->frame_grain, out->f, fgp); break; } av_assert1(ret >= 0); @@ -3400,7 +3400,7 @@ static int hevc_decode_frame(AVCodecContext *avctx, AVFrame *rframe, /* verify the SEI checksum */ if (avctx->err_recognition & AV_EF_CRCCHECK && s->cur_frame && s->is_decoded && s->sei.picture_hash.is_md5) { - ret = verify_md5(s, s->cur_frame->frame); + ret = verify_md5(s, s->cur_frame->f); if (ret < 0 && avctx->err_recognition & AV_EF_EXPLODE) { ff_hevc_unref_frame(s->cur_frame, ~0); return ret; @@ -3543,7 +3543,7 @@ static int hevc_update_thread_context(AVCodecContext *dst, for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) { ff_hevc_unref_frame(&s->DPB[i], ~0); - if (s0->DPB[i].frame) { + if (s0->DPB[i].f) { ret = hevc_ref_frame(&s->DPB[i], &s0->DPB[i]); if (ret < 0) return ret; diff --git a/libavcodec/hevcdec.h b/libavcodec/hevcdec.h index 0e44a72174..3eb8451734 100644 --- a/libavcodec/hevcdec.h +++ b/libavcodec/hevcdec.h @@ -355,7 +355,7 @@ typedef struct DBParams { typedef struct HEVCFrame { union { struct { - AVFrame *frame; + AVFrame *f; }; ProgressFrame tf; }; diff --git a/libavcodec/nvdec_hevc.c b/libavcodec/nvdec_hevc.c index 57d5ea17b1..381f8da97e 100644 --- a/libavcodec/nvdec_hevc.c +++ b/libavcodec/nvdec_hevc.c @@ -34,7 +34,7 @@ static void dpb_add(CUVIDHEVCPICPARAMS *pp, int idx, const HEVCFrame *src) { - FrameDecodeData *fdd = (FrameDecodeData*)src->frame->private_ref->data; + FrameDecodeData *fdd = (FrameDecodeData*)src->f->private_ref->data; const NVDECFrame *cf = fdd->hwaccel_priv; pp->RefPicIdx[idx] = cf ? cf->idx : -1; @@ -84,11 +84,11 @@ static int nvdec_hevc_start_frame(AVCodecContext *avctx, int i, j, dpb_size, ret; - ret = ff_nvdec_start_frame(avctx, s->cur_frame->frame); + ret = ff_nvdec_start_frame(avctx, s->cur_frame->f); if (ret < 0) return ret; - fdd = (FrameDecodeData*)s->cur_frame->frame->private_ref->data; + fdd = (FrameDecodeData*)s->cur_frame->f->private_ref->data; cf = (NVDECFrame*)fdd->hwaccel_priv; *pp = (CUVIDPICPARAMS) { diff --git a/libavcodec/vaapi_hevc.c b/libavcodec/vaapi_hevc.c index 8ff226b980..ae099a481c 100644 --- a/libavcodec/vaapi_hevc.c +++ b/libavcodec/vaapi_hevc.c @@ -53,39 +53,39 @@ static void init_vaapi_pic(VAPictureHEVC *va_pic) static void fill_vaapi_pic(VAPictureHEVC *va_pic, const HEVCFrame *pic, int rps_type) { - va_pic->picture_id = ff_vaapi_get_surface_id(pic->frame); + va_pic->picture_id = ff_vaapi_get_surface_id(pic->f); va_pic->pic_order_cnt = pic->poc; va_pic->flags = rps_type; if (pic->flags & HEVC_FRAME_FLAG_LONG_REF) va_pic->flags |= VA_PICTURE_HEVC_LONG_TERM_REFERENCE; - if (pic->frame->flags & AV_FRAME_FLAG_INTERLACED) { + if (pic->f->flags & AV_FRAME_FLAG_INTERLACED) { va_pic->flags |= VA_PICTURE_HEVC_FIELD_PIC; - if (!(pic->frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST)) + if (!(pic->f->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST)) va_pic->flags |= VA_PICTURE_HEVC_BOTTOM_FIELD; } } static int find_frame_rps_type(const HEVCContext *h, const HEVCFrame *pic) { - VASurfaceID pic_surf = ff_vaapi_get_surface_id(pic->frame); + VASurfaceID pic_surf = ff_vaapi_get_surface_id(pic->f); const HEVCFrame *current_picture = h->cur_frame; int i; for (i = 0; i < h->rps[ST_CURR_BEF].nb_refs; i++) { - if (pic_surf == ff_vaapi_get_surface_id(h->rps[ST_CURR_BEF].ref[i]->frame)) + if (pic_surf == ff_vaapi_get_surface_id(h->rps[ST_CURR_BEF].ref[i]->f)) return VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE; } for (i = 0; i < h->rps[ST_CURR_AFT].nb_refs; i++) { - if (pic_surf == ff_vaapi_get_surface_id(h->rps[ST_CURR_AFT].ref[i]->frame)) + if (pic_surf == ff_vaapi_get_surface_id(h->rps[ST_CURR_AFT].ref[i]->f)) return VA_PICTURE_HEVC_RPS_ST_CURR_AFTER; } for (i = 0; i < h->rps[LT_CURR].nb_refs; i++) { - if (pic_surf == ff_vaapi_get_surface_id(h->rps[LT_CURR].ref[i]->frame)) + if (pic_surf == ff_vaapi_get_surface_id(h->rps[LT_CURR].ref[i]->f)) return VA_PICTURE_HEVC_RPS_LT_CURR; } @@ -137,7 +137,7 @@ static int vaapi_hevc_start_frame(AVCodecContext *avctx, VAPictureParameterBufferHEVC *pic_param = (VAPictureParameterBufferHEVC *)&pic->pic_param; - pic->pic.output_surface = ff_vaapi_get_surface_id(h->cur_frame->frame); + pic->pic.output_surface = ff_vaapi_get_surface_id(h->cur_frame->f); *pic_param = (VAPictureParameterBufferHEVC) { .pic_width_in_luma_samples = sps->width, @@ -445,7 +445,7 @@ static uint8_t get_ref_pic_index(const HEVCContext *h, const HEVCFrame *frame) for (i = 0; i < FF_ARRAY_ELEMS(pp->ReferenceFrames); i++) { VASurfaceID pid = pp->ReferenceFrames[i].picture_id; int poc = pp->ReferenceFrames[i].pic_order_cnt; - if (pid != VA_INVALID_ID && pid == ff_vaapi_get_surface_id(frame->frame) && poc == frame->poc) + if (pid != VA_INVALID_ID && pid == ff_vaapi_get_surface_id(frame->f) && poc == frame->poc) return i; } diff --git a/libavcodec/vdpau_hevc.c b/libavcodec/vdpau_hevc.c index acee077cfa..0fec877570 100644 --- a/libavcodec/vdpau_hevc.c +++ b/libavcodec/vdpau_hevc.c @@ -248,7 +248,7 @@ static int vdpau_hevc_start_frame(AVCodecContext *avctx, } /* Array of video reference surfaces. Set any unused positions to VDP_INVALID_HANDLE. */ - info->RefPics[j] = ff_vdpau_get_surface_id(frame->frame); + info->RefPics[j] = ff_vdpau_get_surface_id(frame->f); /* Array of picture order counts. These correspond to positions in the RefPics array. */ info->PicOrderCntVal[j] = frame->poc; @@ -295,7 +295,7 @@ static int vdpau_hevc_start_frame(AVCodecContext *avctx, HEVCFrame *frame = h->rps[ST_CURR_BEF].ref[i]; if (frame) { uint8_t found = 0; - uintptr_t id = ff_vdpau_get_surface_id(frame->frame); + uintptr_t id = ff_vdpau_get_surface_id(frame->f); for (size_t k = 0; k < 16; k++) { if (id == info->RefPics[k]) { info->RefPicSetStCurrBefore[j] = k; @@ -318,7 +318,7 @@ static int vdpau_hevc_start_frame(AVCodecContext *avctx, HEVCFrame *frame = h->rps[ST_CURR_AFT].ref[i]; if (frame) { uint8_t found = 0; - uintptr_t id = ff_vdpau_get_surface_id(frame->frame); + uintptr_t id = ff_vdpau_get_surface_id(frame->f); for (size_t k = 0; k < 16; k++) { if (id == info->RefPics[k]) { info->RefPicSetStCurrAfter[j] = k; @@ -341,7 +341,7 @@ static int vdpau_hevc_start_frame(AVCodecContext *avctx, HEVCFrame *frame = h->rps[LT_CURR].ref[i]; if (frame) { uint8_t found = 0; - uintptr_t id = ff_vdpau_get_surface_id(frame->frame); + uintptr_t id = ff_vdpau_get_surface_id(frame->f); for (size_t k = 0; k < 16; k++) { if (id == info->RefPics[k]) { info->RefPicSetLtCurr[j] = k; @@ -423,7 +423,7 @@ static int vdpau_hevc_end_frame(AVCodecContext *avctx) struct vdpau_picture_context *pic_ctx = h->cur_frame->hwaccel_picture_private; int val; - val = ff_vdpau_common_end_frame(avctx, h->cur_frame->frame, pic_ctx); + val = ff_vdpau_common_end_frame(avctx, h->cur_frame->f, pic_ctx); if (val < 0) return val; diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c index 1a12f14652..f994b94e7e 100644 --- a/libavcodec/vulkan_hevc.c +++ b/libavcodec/vulkan_hevc.c @@ -139,7 +139,7 @@ static int vk_hevc_fill_pict(AVCodecContext *avctx, HEVCFrame **ref_src, HEVCVulkanDecodePicture *hp = pic->hwaccel_picture_private; FFVulkanDecodePicture *vkpic = &hp->vp; - int err = ff_vk_decode_prepare_frame(dec, pic->frame, vkpic, is_current, + int err = ff_vk_decode_prepare_frame(dec, pic->f, vkpic, is_current, dec->dedicated_dpb); if (err < 0) return err; @@ -160,7 +160,7 @@ static int vk_hevc_fill_pict(AVCodecContext *avctx, HEVCFrame **ref_src, *ref = (VkVideoPictureResourceInfoKHR) { .sType = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR, .codedOffset = (VkOffset2D){ 0, 0 }, - .codedExtent = (VkExtent2D){ pic->frame->width, pic->frame->height }, + .codedExtent = (VkExtent2D){ pic->f->width, pic->f->height }, .baseArrayLayer = dec->layered_dpb ? pic_id : 0, .imageViewBinding = vkpic->img_view_ref, }; @@ -837,7 +837,7 @@ static int vk_hevc_start_frame(AVCodecContext *avctx, .dstPictureResource = (VkVideoPictureResourceInfoKHR) { .sType = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR, .codedOffset = (VkOffset2D){ 0, 0 }, - .codedExtent = (VkExtent2D){ pic->frame->width, pic->frame->height }, + .codedExtent = (VkExtent2D){ pic->f->width, pic->f->height }, .baseArrayLayer = 0, .imageViewBinding = vp->img_view_out, }, @@ -904,14 +904,14 @@ static int vk_hevc_end_frame(AVCodecContext *avctx) for (int i = 0; i < vp->decode_info.referenceSlotCount; i++) { HEVCVulkanDecodePicture *rfhp = hp->ref_src[i]->hwaccel_picture_private; - rav[i] = hp->ref_src[i]->frame; + rav[i] = hp->ref_src[i]->f; rvp[i] = &rfhp->vp; } av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i slices\n", vp->slices_size, hp->h265_pic_info.sliceSegmentCount); - return ff_vk_decode_frame(avctx, pic->frame, vp, rav, rvp); + return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); } static void vk_hevc_free_frame_priv(FFRefStructOpaque _hwctx, void *data) -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2024-05-31 17:49 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-05-31 17:47 [FFmpeg-devel] [PATCH 01/11] lavc/hevcdec: move handling of byte alignment at the end of slice header Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 02/11] lavc/hevcdec: drop a useless condition Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 03/11] lavc/hevcdec: include first row in SliceHeader.offset/size Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 04/11] lavc/hevcdec: drop HEVCLocalContext.gb Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 05/11] lavc/hevcdec: drop HEVCContext.HEVClc Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 06/11] lavc/hevcdec: rename HEVCContext.ref to cur_frame Anton Khirnov 2024-05-31 17:47 ` Anton Khirnov [this message] 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 08/11] lavc/hevcdec: drop HEVCContext.frame Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 09/11] lavc/hevc*: move to hevc/ subdir Anton Khirnov 2024-06-02 0:39 ` James Almer 2024-06-02 6:50 ` Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 10/11] lavc/hevcdec: deduplicate calling hwaccel decode_params() Anton Khirnov 2024-05-31 17:47 ` [FFmpeg-devel] [PATCH 11/11] lavc/hevcdec: drop unused HEVCContext.width/height Anton Khirnov 2024-05-31 19:11 ` Vittorio Giovara
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240531174804.17572-7-anton@khirnov.net \ --to=anton@khirnov.net \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git