[FFmpeg-devel] [FFmpeg-cvslog] libavformat/isom_tags.c: add ipcm to list of tags

Jan Ekström jeebjp at gmail.com
Sat Aug 14 20:09:38 EEST 2021


On Sat, Aug 14, 2021 at 7:43 PM Andriy Gelman <andriy.gelman at gmail.com> wrote:
>
> On Sat, 14. Aug 12:14, Stephen Hutchinson wrote:
> > ffmpeg | branch: master | Stephen Hutchinson <qyot27 at gmail.com> | Wed Jul 14 20:16:41 2021 -0400| [1c42fd93236e7869ef4d9fe3650dd3e951387321] | committer: Paul B Mahol
> >
> > libavformat/isom_tags.c: add ipcm to list of tags
> >
> > Fixes http://trac.ffmpeg.org/ticket/9219
> >
> > > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1c42fd93236e7869ef4d9fe3650dd3e951387321
> > ---
> >
> >  libavformat/isom_tags.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/libavformat/isom_tags.c b/libavformat/isom_tags.c
> > index 1666b9d4a5..e2e589b658 100644
> > --- a/libavformat/isom_tags.c
> > +++ b/libavformat/isom_tags.c
> > @@ -312,6 +312,8 @@ const AVCodecTag ff_codec_movaudio_tags[] = {
> >      { AV_CODEC_ID_PCM_S16LE,       MKTAG('s', 'o', 'w', 't') },
> >      { AV_CODEC_ID_PCM_S16BE,       MKTAG('l', 'p', 'c', 'm') },
> >      { AV_CODEC_ID_PCM_S16LE,       MKTAG('l', 'p', 'c', 'm') },
> > +    { AV_CODEC_ID_PCM_S24BE,       MKTAG('i', 'p', 'c', 'm') },
> > +    { AV_CODEC_ID_PCM_S24LE,       MKTAG('i', 'p', 'c', 'm') },
> >      { AV_CODEC_ID_PCM_S24BE,       MKTAG('i', 'n', '2', '4') },
> >      { AV_CODEC_ID_PCM_S24LE,       MKTAG('i', 'n', '2', '4') },
> >      { AV_CODEC_ID_PCM_S32BE,       MKTAG('i', 'n', '3', '2') },
> >
>
> This break fate for me:
> https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210715001641.2598-1-qyot27@gmail.com/
>

Seems like it just wasn't noticed that ff_codec_movaudio_tags is
utilized for both demux and mux; Thus putting ipcm earlier in the list
compared to in24 meant that instead of the standard MOV/QTFF PCM tag
the ipcm one got picked by default (as it was the first matching
identifier).

After a cursory look I cannot find references to ipcm in either QTFF
or ISOBMFF specs, so I'd say we just pull in24 to before ipcm in the
order for signed 24bit audio (both of the lines visible in the
context). This fixes the test as well as makes us default to the QTFF
specified identifier again.

Jan


More information about the ffmpeg-devel mailing list