mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-08-09 01:21:06 +00:00
Add FATE tests for stale metadata during re-encoding.
This commit is contained in:
committed by
Romain Beauxis
parent
6179982c9c
commit
c1be9b4a81
@@ -22,6 +22,16 @@ FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-txxx
|
||||
fate-id3v2-txxx: $(ID3V2_TESTBIN)
|
||||
fate-id3v2-txxx: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata foobar=baz -f mp3 -y" "$(ID3V2_TESTBIN)" mp3
|
||||
|
||||
FATE_ID3V2_FFMPEG_FFPROBE-$(call ENCDEC, AAC MP3, NUT) += fate-id3v2-reenc-delete-metadata
|
||||
fate-id3v2-reenc-delete-metadata: CMD = transcode mp3 $(TARGET_SAMPLES)/gapless/gapless-itunes.mp3 nut "-c:a aac -bitexact -t 0.1" "-c copy -t 0.1" "-show_entries format_tags" "" "" "" null
|
||||
|
||||
# -map_metadata must not bypass stale metadata pruning
|
||||
FATE_ID3V2_FFMPEG_FFPROBE-$(call ENCDEC, AAC MP3, NUT) += fate-id3v2-reenc-delete-metadata-map-metadata
|
||||
fate-id3v2-reenc-delete-metadata-map-metadata: CMD = transcode mp3 $(TARGET_SAMPLES)/gapless/gapless-itunes.mp3 nut "-c:a aac -bitexact -map_metadata 0 -t 0.1" "-c copy -t 0.1" "-show_entries format_tags" "" "" "" null
|
||||
|
||||
FATE_ID3V2_FFMPEG_FFPROBE-$(call REMUX, MP3) += fate-id3v2-reenc-remux-keep
|
||||
fate-id3v2-reenc-remux-keep: CMD = transcode mp3 $(TARGET_SAMPLES)/gapless/gapless-itunes.mp3 mp3 "-c copy" "-c copy -t 0.1" "-show_entries format_tags" "" "" "" null
|
||||
|
||||
FATE_ID3V2_FFMPEG_FFPROBE-$(call REMUX, AIFF, WAV_DEMUXER) += fate-id3v2-chapters
|
||||
fate-id3v2-chapters: CMD = transcode wav $(TARGET_SAMPLES)/wav/200828-005.wav aiff "-c copy -metadata:c:0 description=foo -metadata:c:0 date=2021 -metadata:c copyright=none -metadata:c:1 genre=nonsense -write_id3v2 1" "-c copy -t 0.05" "-show_entries format_tags:chapters"
|
||||
|
||||
|
||||
@@ -297,6 +297,21 @@ fate-matroska-side-data-pref-packet: CMD = run ffprobe$(PROGSSUF)$(EXESUF) $(TAR
|
||||
-select_streams v:0 -show_streams -show_frames -show_entries stream=stream_side_data:frame=frame_side_data_list -side_data_prefer_packet mastering_display_metadata,content_light_level
|
||||
FATE_MATROSKA_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER HEVC_DECODER) += fate-matroska-side-data-pref-codec fate-matroska-side-data-pref-packet
|
||||
|
||||
FATE_MATROSKA_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG2VIDEO HEVC, NUT MATROSKA, SCALE_FILTER) += fate-matroska-reenc-delete-metadata
|
||||
fate-matroska-reenc-delete-metadata: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/hdr10tags-both.mkv nut "-map 0:v:0 -vf scale=iw:ih -c:v mpeg2video -bitexact" "-c copy -t 0.1" "-show_entries format_tags:stream_tags" "" "" "" null
|
||||
|
||||
# -metadata:s:a:0 specifier must not suppress deletion on a non-matching (video) stream
|
||||
FATE_MATROSKA_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG2VIDEO HEVC, NUT MATROSKA, SCALE_FILTER) += fate-matroska-reenc-delete-metadata-spec-scope
|
||||
fate-matroska-reenc-delete-metadata-spec-scope: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/hdr10tags-both.mkv nut "-map 0:v:0 -vf scale=iw:ih -c:v mpeg2video -bitexact -metadata:s:a:0 NUMBER_OF_BYTES=custom" "-c copy -t 0.1" "-show_entries format_tags:stream_tags" "" "" "" null
|
||||
|
||||
# stale stream tags must be pruned even for filter outputs (no ost->ist)
|
||||
FATE_MATROSKA_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG2VIDEO HEVC, NUT MATROSKA, SCALE_FILTER) += fate-matroska-reenc-delete-metadata-filter-output
|
||||
fate-matroska-reenc-delete-metadata-filter-output: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/hdr10tags-both.mkv nut "-filter_complex '[0:v]scale=iw:ih[v]' -map '[v]' -c:v mpeg2video -bitexact -map_metadata:s:v 0:s:v" "-c copy -t 0.1" "-show_entries stream_tags" "" "" "" null
|
||||
|
||||
# chapter metadata is not filtered on re-encode; NUMBER_OF_FRAMES must survive
|
||||
FATE_MATROSKA_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG2VIDEO HEVC, NUT MATROSKA, SCALE_FILTER) += fate-matroska-reenc-chapter-nofilter
|
||||
fate-matroska-reenc-chapter-nofilter: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/hdr10tags-both.mkv nut "-map 0:v:0 -vf scale=iw:ih -c:v mpeg2video -bitexact -metadata:c:0 NUMBER_OF_FRAMES=test" "-c copy -t 0.1" "-show_entries chapter_tags" "" "" "" null
|
||||
|
||||
FATE_SAMPLES_AVCONV += $(FATE_MATROSKA-yes)
|
||||
FATE_SAMPLES_FFPROBE += $(FATE_MATROSKA_FFPROBE-yes)
|
||||
FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_MATROSKA_FFMPEG_FFPROBE-yes)
|
||||
|
||||
@@ -381,6 +381,18 @@ FATE_MOV_FFMPEG_SAMPLES-$(call REMUX, MP4 MOV, AAC_PARSER) \
|
||||
+= fate-mov-mp4-edst-remainder
|
||||
fate-mov-mp4-edst-remainder: CMD = stream_remux mov $(TARGET_SAMPLES)/audiomatch/tones_fdkaac_44100_stereo_aac_lc.m4a "" mp4 "" "" "-c:a copy"
|
||||
|
||||
# format-level branding: major_brand, minor_version, compatible_brands should be deleted on re-encode
|
||||
FATE_MOV_FFMPEG_FFPROBE-$(call ENCDEC, AAC AAC, NUT MOV) += fate-mov-reenc-delete-format-metadata
|
||||
fate-mov-reenc-delete-format-metadata: CMD = transcode mov $(TARGET_SAMPLES)/cover_art/Owner-iTunes_9.0.3.15.m4a nut "-map 0:a:0 -c:a aac -bitexact -t 0.1" "-c copy -t 0.1" "-show_entries format_tags" "" "" "" null
|
||||
|
||||
# stream-level branding: vendor_id should be deleted on re-encode
|
||||
FATE_MOV_FFMPEG_FFPROBE-$(call ENCDEC, FLAC PCM_S16BE, NUT MOV) += fate-mov-reenc-delete-stream-metadata
|
||||
fate-mov-reenc-delete-stream-metadata: CMD = transcode mov $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-B-twos.mov nut "-c:a flac -bitexact -t 0.1" "-c copy -t 0.1" "-show_entries stream_tags" "" "" "" null
|
||||
|
||||
# plain -metadata (global scope) must not suppress stream-level vendor_id pruning
|
||||
FATE_MOV_FFMPEG_FFPROBE-$(call ENCDEC, FLAC PCM_S16BE, NUT MOV) += fate-mov-reenc-delete-stream-metadata-global-tag
|
||||
fate-mov-reenc-delete-stream-metadata-global-tag: CMD = transcode mov $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-B-twos.mov nut "-c:a flac -bitexact -t 0.1 -metadata vendor_id=custom" "-c copy -t 0.1" "-show_entries format_tags:stream_tags" "" "" "" null
|
||||
|
||||
FATE_FFMPEG += $(FATE_MOV_FFMPEG-yes)
|
||||
FATE_FFMPEG_FFPROBE += $(FATE_MOV_FFMPEG_FFPROBE-yes)
|
||||
|
||||
|
||||
9
tests/ref/fate/id3v2-reenc-delete-metadata
Normal file
9
tests/ref/fate/id3v2-reenc-delete-metadata
Normal file
@@ -0,0 +1,9 @@
|
||||
9b854b7dbe3fb779cd75f131e52372b0 *tests/data/fate/id3v2-reenc-delete-metadata.nut
|
||||
2667 tests/data/fate/id3v2-reenc-delete-metadata.nut
|
||||
[FORMAT]
|
||||
TAG:title=7rk
|
||||
TAG:iTunPGAP=0
|
||||
TAG:encoded_by=iTunes 12.7.0.166
|
||||
TAG:iTunNORM= 00000362 000004C0 0000308F 00003CC5 00000DAC 00000DAC 00007D14 00007AC9 000007C1 0000175E
|
||||
TAG:iTunSMPB= 00000000 00000210 0000086A 0000000000066486 00000000 0002DA9D 00000000 00000000 00000000 00000000 00000000 00000000
|
||||
[/FORMAT]
|
||||
9
tests/ref/fate/id3v2-reenc-delete-metadata-map-metadata
Normal file
9
tests/ref/fate/id3v2-reenc-delete-metadata-map-metadata
Normal file
@@ -0,0 +1,9 @@
|
||||
9b854b7dbe3fb779cd75f131e52372b0 *tests/data/fate/id3v2-reenc-delete-metadata-map-metadata.nut
|
||||
2667 tests/data/fate/id3v2-reenc-delete-metadata-map-metadata.nut
|
||||
[FORMAT]
|
||||
TAG:title=7rk
|
||||
TAG:iTunPGAP=0
|
||||
TAG:encoded_by=iTunes 12.7.0.166
|
||||
TAG:iTunNORM= 00000362 000004C0 0000308F 00003CC5 00000DAC 00000DAC 00007D14 00007AC9 000007C1 0000175E
|
||||
TAG:iTunSMPB= 00000000 00000210 0000086A 0000000000066486 00000000 0002DA9D 00000000 00000000 00000000 00000000 00000000 00000000
|
||||
[/FORMAT]
|
||||
9
tests/ref/fate/id3v2-reenc-remux-keep
Normal file
9
tests/ref/fate/id3v2-reenc-remux-keep
Normal file
@@ -0,0 +1,9 @@
|
||||
263462774b77f2b20a9cb5cbe492f910 *tests/data/fate/id3v2-reenc-remux-keep.mp3
|
||||
192072 tests/data/fate/id3v2-reenc-remux-keep.mp3
|
||||
[FORMAT]
|
||||
TAG:title=7rk
|
||||
TAG:iTunPGAP=0
|
||||
TAG:encoded_by=iTunes 12.7.0.166
|
||||
TAG:iTunNORM= 00000362 000004C0 0000308F 00003CC5 00000DAC 00000DAC 00007D14 00007AC9 000007C1 0000175E
|
||||
TAG:iTunSMPB= 00000000 00000210 0000086A 0000000000066486 00000000 0002DA9D 00000000 00000000 00000000 00000000 00000000 00000000
|
||||
[/FORMAT]
|
||||
10
tests/ref/fate/matroska-reenc-chapter-nofilter
Normal file
10
tests/ref/fate/matroska-reenc-chapter-nofilter
Normal file
@@ -0,0 +1,10 @@
|
||||
ee93018a787b4e9620dd27207e267ad6 *tests/data/fate/matroska-reenc-chapter-nofilter.nut
|
||||
28879 tests/data/fate/matroska-reenc-chapter-nofilter.nut
|
||||
[CHAPTER]
|
||||
TAG:title=Schloß
|
||||
TAG:NUMBER_OF_FRAMES=test
|
||||
[/CHAPTER]
|
||||
[CHAPTER]
|
||||
TAG:title=Carro
|
||||
TAG:DESCRIPTION=Chapter titles for regional variants of English/Spanish
|
||||
[/CHAPTER]
|
||||
19
tests/ref/fate/matroska-reenc-delete-metadata
Normal file
19
tests/ref/fate/matroska-reenc-delete-metadata
Normal file
@@ -0,0 +1,19 @@
|
||||
f3f1913ea5dffcff4789d178aed75e10 *tests/data/fate/matroska-reenc-delete-metadata.nut
|
||||
28856 tests/data/fate/matroska-reenc-delete-metadata.nut
|
||||
[STREAM]
|
||||
TAG:encoder=Lavc mpeg2video
|
||||
TAG:language=spa
|
||||
TAG:BPS-eng=216040
|
||||
TAG:DURATION-eng=00:00:00.400000000
|
||||
TAG:NUMBER_OF_FRAMES-eng=10
|
||||
TAG:NUMBER_OF_BYTES-eng=10802
|
||||
TAG:_STATISTICS_WRITING_APP-eng=mkvmerge v9.0.1 ('Mask Machine') 64bit
|
||||
TAG:_STATISTICS_WRITING_DATE_UTC-eng=2019-02-14 12:53:10
|
||||
TAG:_STATISTICS_TAGS-eng=BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
|
||||
[SIDE_DATA]
|
||||
[/SIDE_DATA]
|
||||
[/STREAM]
|
||||
[FORMAT]
|
||||
TAG:DESCRIPTION=Edition description
|
||||
TAG:TITLE=Edition title
|
||||
[/FORMAT]
|
||||
15
tests/ref/fate/matroska-reenc-delete-metadata-filter-output
Normal file
15
tests/ref/fate/matroska-reenc-delete-metadata-filter-output
Normal file
@@ -0,0 +1,15 @@
|
||||
9a7537256acd618b31e18a3d92fc907f *tests/data/fate/matroska-reenc-delete-metadata-filter-output.nut
|
||||
28835 tests/data/fate/matroska-reenc-delete-metadata-filter-output.nut
|
||||
[STREAM]
|
||||
TAG:encoder=Lavc mpeg2video
|
||||
TAG:language=spa
|
||||
TAG:BPS-eng=216040
|
||||
TAG:DURATION-eng=00:00:00.400000000
|
||||
TAG:NUMBER_OF_FRAMES-eng=10
|
||||
TAG:NUMBER_OF_BYTES-eng=10802
|
||||
TAG:_STATISTICS_WRITING_APP-eng=mkvmerge v9.0.1 ('Mask Machine') 64bit
|
||||
TAG:_STATISTICS_WRITING_DATE_UTC-eng=2019-02-14 12:53:10
|
||||
TAG:_STATISTICS_TAGS-eng=BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
|
||||
[SIDE_DATA]
|
||||
[/SIDE_DATA]
|
||||
[/STREAM]
|
||||
19
tests/ref/fate/matroska-reenc-delete-metadata-spec-scope
Normal file
19
tests/ref/fate/matroska-reenc-delete-metadata-spec-scope
Normal file
@@ -0,0 +1,19 @@
|
||||
f3f1913ea5dffcff4789d178aed75e10 *tests/data/fate/matroska-reenc-delete-metadata-spec-scope.nut
|
||||
28856 tests/data/fate/matroska-reenc-delete-metadata-spec-scope.nut
|
||||
[STREAM]
|
||||
TAG:encoder=Lavc mpeg2video
|
||||
TAG:language=spa
|
||||
TAG:BPS-eng=216040
|
||||
TAG:DURATION-eng=00:00:00.400000000
|
||||
TAG:NUMBER_OF_FRAMES-eng=10
|
||||
TAG:NUMBER_OF_BYTES-eng=10802
|
||||
TAG:_STATISTICS_WRITING_APP-eng=mkvmerge v9.0.1 ('Mask Machine') 64bit
|
||||
TAG:_STATISTICS_WRITING_DATE_UTC-eng=2019-02-14 12:53:10
|
||||
TAG:_STATISTICS_TAGS-eng=BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
|
||||
[SIDE_DATA]
|
||||
[/SIDE_DATA]
|
||||
[/STREAM]
|
||||
[FORMAT]
|
||||
TAG:DESCRIPTION=Edition description
|
||||
TAG:TITLE=Edition title
|
||||
[/FORMAT]
|
||||
21
tests/ref/fate/mov-reenc-delete-format-metadata
Normal file
21
tests/ref/fate/mov-reenc-delete-format-metadata
Normal file
@@ -0,0 +1,21 @@
|
||||
31a5be81f6278f7d62e901207bf59485 *tests/data/fate/mov-reenc-delete-format-metadata.nut
|
||||
894 tests/data/fate/mov-reenc-delete-format-metadata.nut
|
||||
[FORMAT]
|
||||
TAG:major_brand=M4A
|
||||
TAG:minor_version=0
|
||||
TAG:compatible_brands=M4A mp42isom
|
||||
TAG:comment=The comment...
|
||||
TAG:title=Owner
|
||||
TAG:compilation=0
|
||||
TAG:gapless_playback=0
|
||||
TAG:date=2010
|
||||
TAG:iTunSMPB= 00000000 00000840 000001FD 000000000013B5C3 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
|
||||
TAG:Encoding Params=vers
|
||||
TAG:iTunNORM= 0000085B 0000072C 00006BC3 0000D444 00004EBA 00004ED2 00008000 00008000 000037DF 000039C7
|
||||
TAG:artist=The Artist
|
||||
TAG:album_artist=The Album Artist
|
||||
TAG:album=The Album
|
||||
TAG:genre=Rock
|
||||
TAG:track=2/5
|
||||
TAG:disc=3/5
|
||||
[/FORMAT]
|
||||
9
tests/ref/fate/mov-reenc-delete-stream-metadata
Normal file
9
tests/ref/fate/mov-reenc-delete-stream-metadata
Normal file
@@ -0,0 +1,9 @@
|
||||
c3339d3d42a7f414fec083f0766fb79a *tests/data/fate/mov-reenc-delete-stream-metadata.nut
|
||||
6629 tests/data/fate/mov-reenc-delete-stream-metadata.nut
|
||||
[STREAM]
|
||||
TAG:encoder=Lavc flac
|
||||
TAG:creation_time=2002-06-02T18:38:54.000000Z
|
||||
TAG:language=eng
|
||||
TAG:handler_name=Apple Sound Media Handler
|
||||
TAG:vendor_id=[0][0][0][0]
|
||||
[/STREAM]
|
||||
12
tests/ref/fate/mov-reenc-delete-stream-metadata-global-tag
Normal file
12
tests/ref/fate/mov-reenc-delete-stream-metadata-global-tag
Normal file
@@ -0,0 +1,12 @@
|
||||
3b2b8f248a99168fa938c9767c350dca *tests/data/fate/mov-reenc-delete-stream-metadata-global-tag.nut
|
||||
6647 tests/data/fate/mov-reenc-delete-stream-metadata-global-tag.nut
|
||||
[STREAM]
|
||||
TAG:encoder=Lavc flac
|
||||
TAG:creation_time=2002-06-02T18:38:54.000000Z
|
||||
TAG:language=eng
|
||||
TAG:handler_name=Apple Sound Media Handler
|
||||
TAG:vendor_id=[0][0][0][0]
|
||||
[/STREAM]
|
||||
[FORMAT]
|
||||
TAG:vendor_id=custom
|
||||
[/FORMAT]
|
||||
Reference in New Issue
Block a user