[FFmpeg-devel] [PATCH] avcodec: Pass the HDR10+ metadata to the packet side data in VP9 encoder

Mohammad Izadi izadi at google.com
Tue Jun 8 21:25:20 EEST 2021


On Mon, Jun 7, 2021 at 12:59 PM Andreas Rheinhardt <
andreas.rheinhardt at outlook.com> wrote:

> Michael Niedermayer:
> > On Mon, Jun 07, 2021 at 10:39:19AM -0700, Mohammad Izadi wrote:
> >> HDR10+ metadata is stored in the bit stream for HEVC. The story is
> different for VP9 and cannot store the metadata in the bit stream. HDR10+
> should be passed to packet side data an stored in the container (mkv) for
> VP9.
> >>
> >> This CL is taking HDR10+ from AVFrame side data in libvpxenc and is
> passing it to the AVPacket side data.
> >> ---
> >>  doc/APIchanges         |  2 +
> >>  libavcodec/avpacket.c  |  1 +
> >>  libavcodec/decode.c    |  1 +
> >>  libavcodec/libvpxenc.c | 98 ++++++++++++++++++++++++++++++++++++++++++
> >>  libavcodec/packet.h    |  8 ++++
> >>  libavcodec/version.h   |  4 +-
> >>  6 files changed, 112 insertions(+), 2 deletions(-)
> >
> > still crashing  ...
> >
> >  heres a test with a fate sample:
> >
> >  -i ~/fate/msmpeg4v1/mpg4.avi -vcodec libvpx -y   vpx.webm
> >
> >
> > frame=   50 fps=0.7 q=0.0 Lsize=      58kB time=00:00:01.63 bitrate=
> 288.0kbits/s speed=0.0229x
> > video:57kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 1.558648%
> > ==26333== Invalid read of size 4
> > ==26333==    at 0x1220B5E: av_fifo_size (fifo.c:79)
> > ==26333==    by 0x9F64C5: free_hdr10_plus_fifo (libvpxenc.c:346)
> > ==26333==    by 0x9F699D: vpx_free (libvpxenc.c:443)
> > ==26333==    by 0x7A20D6: avcodec_close (avcodec.c:472)
> > ==26333==    by 0xAE5002: avcodec_free_context (options.c:163)
> > ==26333==    by 0x24AC0F: ffmpeg_cleanup (ffmpeg.c:609)
> > ==26333==    by 0x24258A: exit_program (cmdutils.c:135)
> > ==26333==    by 0x25C5AF: main (ffmpeg.c:5034)
> > ==26333==  Address 0x24 is not stack'd, malloc'd or (recently) free'd
> >
> >
> The reason is that the fifo is not allocated unconditionally, but when
> freeing it is checked whether the fifo is empty even when the fifo has
> never been allocated at all.
>
Fixed. Verified and passes now.

>
> - Andreas
> _______________________________________________
> 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