[FFmpeg-devel] [PATCH 2/2] tests/fate: disable compression for zlib-based codecs

Ramiro Polla ramiro.polla at gmail.com
Mon Sep 30 00:43:10 EEST 2024


On Sun, Sep 29, 2024 at 11:01 PM James Almer <jamrial at gmail.com> wrote:
> On 9/29/2024 3:07 PM, Ramiro Polla wrote:
> > FATE results differ when using the original zlib and zlib-ng.
> >
> > Since we don't need to test the result from zlib itself, this commit
> > disables compression on tests for zlib-based codecs, which ends up
> > giving the same results with both libraries.
> > ---
> >   tests/fate/cover-art.mak                  |  6 +--
> >   tests/fate/image.mak                      |  4 +-
> >   tests/fate/lavf-image.mak                 |  5 ++-
> >   tests/fate/lavf-video.mak                 |  4 +-
> >   tests/fate/mov.mak                        |  2 +-
> >   tests/fate/vcodec.mak                     |  4 +-
> >   tests/ref/fate/cover-art-aiff-id3v2-remux |  6 +--
> >   tests/ref/fate/cover-art-flac-remux       | 48 +++++++++++++++++------
> >   tests/ref/fate/cover-art-mp3-id3v2-remux  |  6 +--
> >   tests/ref/fate/mov-cover-image            |  6 +--
> >   tests/ref/fate/png-icc                    |  6 +--
> >   tests/ref/fate/png-mdcv                   |  4 +-
> >   tests/ref/lavf/apng                       |  4 +-
> >   tests/ref/lavf/apng.png                   |  4 +-
> >   tests/ref/lavf/gray16be.png               |  4 +-
> >   tests/ref/lavf/png                        |  4 +-
> >   tests/ref/lavf/rgb48be.png                |  4 +-
> >   tests/ref/vsynth/vsynth1-flashsv          |  4 +-
> >   tests/ref/vsynth/vsynth1-mpng             |  4 +-
> >   tests/ref/vsynth/vsynth1-zlib             |  4 +-
> >   tests/ref/vsynth/vsynth2-flashsv          |  4 +-
> >   tests/ref/vsynth/vsynth2-mpng             |  4 +-
> >   tests/ref/vsynth/vsynth2-zlib             |  4 +-
> >   tests/ref/vsynth/vsynth3-mpng             |  4 +-
> >   tests/ref/vsynth/vsynth3-zlib             |  4 +-
> >   tests/ref/vsynth/vsynth_lena-flashsv      |  4 +-
> >   tests/ref/vsynth/vsynth_lena-mpng         |  4 +-
> >   tests/ref/vsynth/vsynth_lena-zlib         |  4 +-
> >   28 files changed, 96 insertions(+), 69 deletions(-)
> >
> > diff --git a/tests/fate/cover-art.mak b/tests/fate/cover-art.mak
> > index faa2182745..63515ff65e 100644
> > --- a/tests/fate/cover-art.mak
> > +++ b/tests/fate/cover-art.mak
> > @@ -37,14 +37,14 @@ FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL FLAC_DEMUXER MJPEG_DECODER \
> >                                       AIFF_DEMUXER BMP_DECODER PNG_DECODER     \
> >                                       FRAMECRC_MUXER PIPE_PROTOCOL)            \
> >                          += fate-cover-art-aiff-id3v2-remux
> > -fate-cover-art-aiff-id3v2-remux: CMD = transcode flac $(TARGET_SAMPLES)/cover_art/cover_art.flac aiff "-map 0 -map 0:v -map 0:v -map 0:v -c:a pcm_s16be -c:v:0 copy -filter:v:1 scale -c:v:1 png -filter:v:2 scale -c:v:2 bmp -c:v:3 copy -write_id3v2 1 -metadata:g unknown_key=unknown_value -metadata compilation=foo -metadata:s:v:0 title=first -metadata:s:v:1 title=second -metadata:s:v:1 comment=Illustration -metadata:s:v:2 title=third -metadata:s:v:2 comment=Conductor -metadata:s:v:3 title=fourth -metadata:s:v:3 comment=Composer" "-map 0 -c copy -t 0.1" "-show_entries format_tags:stream_tags:stream_disposition=attached_pic:stream=index,codec_name"
> > +fate-cover-art-aiff-id3v2-remux: CMD = transcode flac $(TARGET_SAMPLES)/cover_art/cover_art.flac aiff "-map 0 -map 0:v -map 0:v -map 0:v -c:a pcm_s16be -c:v:0 copy -filter:v:1 scale -c:v:1 png -compression_level 0 -filter:v:2 scale -c:v:2 bmp -c:v:3 copy -write_id3v2 1 -metadata:g unknown_key=unknown_value -metadata compilation=foo -metadata:s:v:0 title=first -metadata:s:v:1 title=second -metadata:s:v:1 comment=Illustration -metadata:s:v:2 title=third -metadata:s:v:2 comment=Conductor -metadata:s:v:3 title=fourth -metadata:s:v:3 comment=Composer" "-map 0 -c copy -t 0.1" "-show_entries format_tags:stream_tags:stream_disposition=attached_pic:stream=index,codec_name"
> >
> >   FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL MP3_DEMUXER MJPEG_DECODER \
> >                                       SCALE_FILTER PNG_ENCODER BMP_ENCODER    \
> >                                       MP3_MUXER BMP_DECODER PNG_DECODER       \
> >                                       FRAMECRC_MUXER PIPE_PROTOCOL)           \
> >                          += fate-cover-art-mp3-id3v2-remux
> > -fate-cover-art-mp3-id3v2-remux: CMD = transcode mp3 $(TARGET_SAMPLES)/exif/embedded_small.mp3 mp3 "-map 0 -map 0:v -map 0:v -c:a copy -filter:v:0 scale -filter:v:2 scale -c:v:0 bmp -c:v:1 copy -c:v:2 png -metadata:s:v:0 comment=Band/Orchestra" "-map 0 -c copy -t 0.1" "-show_entries stream_tags:stream_disposition=attached_pic:stream=index,codec_name"
> > +fate-cover-art-mp3-id3v2-remux: CMD = transcode mp3 $(TARGET_SAMPLES)/exif/embedded_small.mp3 mp3 "-map 0 -map 0:v -map 0:v -c:a copy -filter:v:0 scale -filter:v:2 scale -c:v:0 bmp -c:v:1 copy -c:v:2 png -compression_level 0 -metadata:s:v:0 comment=Band/Orchestra" "-map 0 -c copy -t 0.1" "-show_entries stream_tags:stream_disposition=attached_pic:stream=index,codec_name"
> >
> >   # Also covers muxing and demuxing of nonstandard channel layouts into FLAC
> >   # as well as the unorthodox multi_dim_quant option of the FLAC encoder.
> > @@ -55,7 +55,7 @@ FATE_COVER_ART_REMUX-$(call ALLYES, FILE_PROTOCOL MOV_DEMUXER OGG_DEMUXER   \
> >                                       FLAC_MUXER FLAC_DEMUXER FLAC_DECODER    \
> >                                       FRAMECRC_MUXER PIPE_PROTOCOL)           \
> >                          += fate-cover-art-flac-remux
> > -fate-cover-art-flac-remux: CMD = transcode mov $(TARGET_SAMPLES)/lossless-audio/inside.m4a flac "-map 0 -map 1:v -map 1:v -af channelmap=channel_layout=FL+FC,aresample -c:a flac -multi_dim_quant 1 -c:v:0 copy -metadata:s:v:0 comment=Illustration -metadata:s:v:0 title=OpenMusic  -filter:v:1 scale -c:v:1 png -metadata:s:v:1 title=landscape -c:v:2 copy -filter:v:3 scale -metadata:s:v:2 title=portrait -c:v:3 bmp  -metadata:s:v:3 comment=Conductor -c:v:4 copy -t 0.4" "-map 0 -map 0:a -c:a:0 copy -c:v copy" "-show_entries format_tags:stream_tags:stream_disposition=attached_pic:stream=index,codec_name" "-f ogg -i $(TARGET_SAMPLES)/cover_art/ogg_vorbiscomment_cover.opus"
> > +fate-cover-art-flac-remux: CMD = transcode mov $(TARGET_SAMPLES)/lossless-audio/inside.m4a flac "-map 0 -map 1:v -map 1:v -af channelmap=channel_layout=FL+FC,aresample -c:a flac -multi_dim_quant 1 -c:v:0 copy -metadata:s:v:0 comment=Illustration -metadata:s:v:0 title=OpenMusic  -filter:v:1 scale -c:v:1 png -compression_level 0 -metadata:s:v:1 title=landscape -c:v:2 copy -filter:v:3 scale -metadata:s:v:2 title=portrait -c:v:3 bmp  -metadata:s:v:3 comment=Conductor -c:v:4 copy -t 0.4" "-map 0 -map 0:a -c:a:0 copy -c:v copy" "-show_entries format_tags:stream_tags:stream_disposition=attached_pic:stream=index,codec_name" "-f ogg -i $(TARGET_SAMPLES)/cover_art/ogg_vorbiscomment_cover.opus"
>
> You should use -compression_level:v:1 0 here (And maybe in others tests
> too?) to ensure it's not applied to every stream.

Good catch. I added stream specifiers to -compression_level where
there already were stream specifiers for the codec. That fixed
tests/ref/fate/cover-art-flac-remux.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v3-0002-tests-fate-disable-compression-for-zlib-based-cod.patch
Type: text/x-patch
Size: 32635 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240929/1a9dcd48/attachment.bin>


More information about the ffmpeg-devel mailing list