[FFmpeg-devel] [PATCH v2 2/3] avcodec/rawenc: propagate the Producer Reference time

Clément Péron peron.clem at gmail.com
Fri Nov 29 22:38:49 EET 2024


Hi Michael,

On Fri, 29 Nov 2024 at 20:22, Michael Niedermayer
<michael at niedermayer.cc> wrote:
>
> Hi
>
> On Fri, Nov 01, 2024 at 06:21:23PM +0100, Clément Péron wrote:
> > The Producer Reference time contains the source time when the frame
> > has been produced. This is usefull in the muxer so propagate it.
> >
> > Signed-off-by: Clément Péron <peron.clem at gmail.com>
> > ---
> >  libavcodec/rawenc.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/libavcodec/rawenc.c b/libavcodec/rawenc.c
> > index 8c577006d9..f238c8e165 100644
> > --- a/libavcodec/rawenc.c
> > +++ b/libavcodec/rawenc.c
> > @@ -49,6 +49,8 @@ static av_cold int raw_encode_init(AVCodecContext *avctx)
> >  static int raw_encode(AVCodecContext *avctx, AVPacket *pkt,
> >                        const AVFrame *frame, int *got_packet)
> >  {
> > +    AVFrameSideData *side_data;
> > +
> >      int ret = av_image_get_buffer_size(frame->format,
> >                                         frame->width, frame->height, 1);
> >
> > @@ -78,6 +80,16 @@ static int raw_encode(AVCodecContext *avctx, AVPacket *pkt,
> >          }
> >      }
> >      *got_packet = 1;
> > +
> > +    // Forward the PRFT to Mux
> > +    side_data = av_frame_get_side_data(frame, AV_FRAME_DATA_PRFT);
> > +    if (side_data && side_data->size) {
> > +        uint8_t *buf = av_packet_new_side_data(pkt, AV_PKT_DATA_PRFT, side_data->size);
> > +        if (!buf)
> > +            return AVERROR(ENOMEM);
> > +        memcpy(buf, side_data->data, side_data->size);
> > +    }
>
> It feels like there should be a simpler mechanism to forward side data
> but if theres not, then this is probably ok assuming the addition of PRFT
> and the rest of teh patchset is ok

Thanks for your feedback, I'm new to FFMpeg so I'm not in the best
place to comment.
But before writing this patch, I searched and saw this block code
multiple times in the FFMpeg base code.

It would be nice to introduce a helper function but I tried to keep
this MR as simple as possible.

Thanks,
Clement

>
> thx
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Those who are too smart to engage in politics are punished by being
> governed by those who are dumber. -- Plato
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list