From: James Zern <jzern-at-google.com@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 5/8] lavc/libvpxenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE Date: Tue, 28 Feb 2023 13:11:29 -0800 Message-ID: <CABWgkXJowtL33fB3tmKsBwde6TC2TxXYCQ_nHfTZ9ncm_6WhRg@mail.gmail.com> (raw) In-Reply-To: <20230228120104.2347-5-anton@khirnov.net> On Tue, Feb 28, 2023 at 4:01 AM Anton Khirnov <anton@khirnov.net> wrote: > > --- > libavcodec/libvpxenc.c | 139 +++++++++++++++++++++++++++++------------ > libavcodec/version.h | 2 +- > 2 files changed, 100 insertions(+), 41 deletions(-) > lgtm > diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c > index 77921badba..af16e53deb 100644 > --- a/libavcodec/libvpxenc.c > +++ b/libavcodec/libvpxenc.c > @@ -68,6 +68,14 @@ struct FrameListData { > > typedef struct FrameData { > int64_t pts; > + int64_t duration; > + > +#if FF_API_REORDERED_OPAQUE > + int64_t reordered_opaque; > +#endif > + void *frame_opaque; > + AVBufferRef *frame_opaque_ref; > + > AVBufferRef *hdr10_plus; > } FrameData; > > @@ -329,32 +337,101 @@ static av_cold void free_frame_list(struct FrameListData *list) > } > } > > +static void frame_data_uninit(FrameData *fd) > +{ > + av_buffer_unref(&fd->frame_opaque_ref); > + av_buffer_unref(&fd->hdr10_plus); > +} > + > static av_cold void fifo_free(AVFifo **fifo) > { > FrameData fd; > while (av_fifo_read(*fifo, &fd, 1) >= 0) > - av_buffer_unref(&fd.hdr10_plus); > + frame_data_uninit(&fd); > av_fifo_freep2(fifo); > } > > -static int frame_data_apply(AVFifo *fifo, AVPacket *pkt) > +static int frame_data_submit(AVCodecContext *avctx, AVFifo *fifo, > + const AVFrame *frame) > +{ > + VPxContext *ctx = avctx->priv_data; > + const struct vpx_codec_enc_cfg *enccfg = ctx->encoder.config.enc; > + > + FrameData fd = { .pts = frame->pts }; > + The alignment of this declaration looks strange. > + AVFrameSideData *av_uninit(sd); > + int ret; > + > +#if CONFIG_LIBVPX_VP9_ENCODER > + // Keep HDR10+ if it has bit depth higher than 8 and > + // it has PQ trc (SMPTE2084). Out of curiosity are there any HDR10+ files in fate? > [...] > diff --git a/libavcodec/version.h b/libavcodec/version.h > index 06631ffa8c..789d9047c2 100644 > --- a/libavcodec/version.h > +++ b/libavcodec/version.h > @@ -30,7 +30,7 @@ > #include "version_major.h" > > #define LIBAVCODEC_VERSION_MINOR 4 > -#define LIBAVCODEC_VERSION_MICRO 100 > +#define LIBAVCODEC_VERSION_MICRO 101 > This needs a rebase to apply cleanly. _______________________________________________ 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:[~2023-02-28 21:11 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-02-28 12:00 [FFmpeg-devel] [PATCH 1/8] lavu/frame: improve AVFrame.opaque[_ref] documentation Anton Khirnov 2023-02-28 12:00 ` [FFmpeg-devel] [PATCH 2/8] lavc/libvpxenc: drop frame_number Anton Khirnov 2023-02-28 20:50 ` James Zern 2023-02-28 12:00 ` [FFmpeg-devel] [PATCH 3/8] lavc/libvpxenc: reindent Anton Khirnov 2023-02-28 20:50 ` James Zern 2023-02-28 12:01 ` [FFmpeg-devel] [PATCH 4/8] lavc/libvpxenc: rename hdr10_plus_fifo and related objects Anton Khirnov 2023-02-28 20:55 ` James Zern 2023-02-28 12:01 ` [FFmpeg-devel] [PATCH 5/8] lavc/libvpxenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE Anton Khirnov 2023-02-28 21:11 ` James Zern [this message] 2023-03-01 12:01 ` Anton Khirnov 2023-02-28 23:30 ` James Almer 2023-03-01 12:04 ` Anton Khirnov 2023-02-28 12:01 ` [FFmpeg-devel] [PATCH 6/8] lavc/libvpxenc: drop a useless condition Anton Khirnov 2023-02-28 21:12 ` James Zern 2023-02-28 12:01 ` [FFmpeg-devel] [PATCH 7/8] lavc/libvpxenc: handle queue desync more gracefully Anton Khirnov 2023-02-28 12:01 ` [FFmpeg-devel] [PATCH 8/8] lavc/libvpxenc: drop FrameListData.duration Anton Khirnov 2023-02-28 21:16 ` James Zern 2023-03-01 12:07 ` Anton Khirnov
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=CABWgkXJowtL33fB3tmKsBwde6TC2TxXYCQ_nHfTZ9ncm_6WhRg@mail.gmail.com \ --to=jzern-at-google.com@ffmpeg.org \ --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