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

Michael Niedermayer michael at niedermayer.cc
Fri Nov 29 21:22:40 EET 2024


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

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 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20241129/278ac951/attachment.sig>


More information about the ffmpeg-devel mailing list