fate/mxf: Fix d10-user-comments test

The mxf_d10 muxer is very picky regarding the input it accepts:
The only video accepted is MPEG-2 with absolutely constant bitrate,
i.e. all packets need to have exactly the same size; and only a few
bitrates are accepted.

The sample file used did not abide by this: Writing the first packet
(a video packet) errors out and afterwards an audio packet from the
muxing queue has been written. That's all besides metadata (which this
test is about). The FFmpeg cli returned an error, but said error has
been ignored by the md5 test.

This commit changes the test to actually send a compliant stream to the
muxer, so that it does not error out; furthermore, the test is changed
to explicitly check the metadata instead of it only being implicitly
included in the md5 checksum. The compliant stream is created by our
encoder at runtime.

Finally, the test now also covers writing user-specified
product/company/version identification.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-12-04 23:11:00 +01:00
parent 815515445a
commit a47f5e55e2
2 changed files with 31 additions and 5 deletions

View File

@ -45,9 +45,8 @@ FATE_MXF_USER_COMMENTS-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF) += fate-mxf-u
fate-mxf-user-comments: $(SAMPLES)/mxf/Sony-00001.mxf fate-mxf-user-comments: $(SAMPLES)/mxf/Sony-00001.mxf
fate-mxf-user-comments: CMD = md5 -y -i $(TARGET_SAMPLES)/mxf/Sony-00001.mxf -c copy -metadata "comment_test=value" -fflags +bitexact -f mxf fate-mxf-user-comments: CMD = md5 -y -i $(TARGET_SAMPLES)/mxf/Sony-00001.mxf -c copy -metadata "comment_test=value" -fflags +bitexact -f mxf
FATE_MXF_D10_USER_COMMENTS-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF) += fate-mxf-d10-user-comments FATE_MXF_D10_USER_COMMENTS-$(call ALLYES, FILE_PROTOCOL MXF_DEMUXER DVVIDEO_DECODER SCALE_FILTER MPEG2VIDEO_ENCODER MXF_D10_MUXER EXTRACT_EXTRADATA_BSF MPEGVIDEO_PARSER PIPE_PROTOCOL FRAMECRC_MUXER) += fate-mxf-d10-user-comments
fate-mxf-d10-user-comments: $(SAMPLES)/mxf/Sony-00001.mxf fate-mxf-d10-user-comments: CMD = transcode mxf $(TARGET_SAMPLES)/mxf/Avid-00005.mxf mxf_d10 "-c:v mpeg2video -b:v 30000k -minrate:v 30000k -maxrate:v 30000k -bufsize:v 30000k -rc_init_occupancy 30000k -vf scale=w=1280:h=720 -an -metadata comment_test=value -metadata company_name=FATE-company -metadata product_name=FATE-test -metadata product_version=3.14159 -store_user_comments 1" "-c copy -frames:v 5" "" "-show_entries format_tags"
fate-mxf-d10-user-comments: CMD = md5 -y -i $(TARGET_SAMPLES)/mxf/Sony-00001.mxf -c copy -metadata "comment_test=value" -store_user_comments 1 -fflags +bitexact -f mxf_d10
FATE_MXF_OPATOM_USER_COMMENTS-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF) += fate-mxf-opatom-user-comments FATE_MXF_OPATOM_USER_COMMENTS-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF) += fate-mxf-opatom-user-comments
fate-mxf-opatom-user-comments: $(SAMPLES)/mxf/Sony-00001.mxf fate-mxf-opatom-user-comments: $(SAMPLES)/mxf/Sony-00001.mxf
@ -56,7 +55,8 @@ fate-mxf-opatom-user-comments: CMD = md5 -y -i $(TARGET_SAMPLES)/mxf/Sony-00001.
FATE_MXF-$(CONFIG_MXF_DEMUXER) += $(FATE_MXF) FATE_MXF-$(CONFIG_MXF_DEMUXER) += $(FATE_MXF)
FATE_SAMPLES_AVCONV += $(FATE_MXF-yes) $(FATE_MXF_REEL_NAME-yes) FATE_SAMPLES_AVCONV += $(FATE_MXF-yes) $(FATE_MXF_REEL_NAME-yes)
FATE_SAMPLES_AVCONV += $(FATE_MXF_USER_COMMENTS-yes) $(FATE_MXF_D10_USER_COMMENTS-yes) $(FATE_MXF_OPATOM_USER_COMMENTS-yes) FATE_SAMPLES_AVCONV += $(FATE_MXF_USER_COMMENTS-yes) $(FATE_MXF_OPATOM_USER_COMMENTS-yes)
FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_MXF_D10_USER_COMMENTS-yes)
FATE_SAMPLES_FFPROBE += $(FATE_MXF_PROBE-yes) FATE_SAMPLES_FFPROBE += $(FATE_MXF_PROBE-yes)
fate-mxf: $(FATE_MXF-yes) $(FATE_MXF_PROBE-yes) $(FATE_MXF_REEL_NAME-yes) $(FATE_MXF_USER_COMMENTS-yes) $(FATE_MXF_D10_USER_COMMENTS-yes) $(FATE_MXF_OPATOM_USER_COMMENTS-yes) fate-mxf: $(FATE_MXF-yes) $(FATE_MXF_PROBE-yes) $(FATE_MXF_REEL_NAME-yes) $(FATE_MXF_USER_COMMENTS-yes) $(FATE_MXF_D10_USER_COMMENTS-yes) $(FATE_MXF_OPATOM_USER_COMMENTS-yes)

View File

@ -1 +1,27 @@
7bb9f39e8e05724525154de17f0235d8 6dc13ae283257e898e069e5041ac8435 *tests/data/fate/mxf-d10-user-comments.mxf_d10
3782189 tests/data/fate/mxf-d10-user-comments.mxf_d10
#extradata 0: 34, 0x716b05c4
#tb 0: 1/25
#media_type 0: video
#codec_id 0: mpeg2video
#dimensions 0: 1280x720
#sar 0: 3/4
0, -1, 0, 1, 150000, 0x0547870d, S=1, 24, 0x5aa90ad0
0, 0, 1, 1, 150000, 0xe80a1612, F=0x0
0, 1, 2, 1, 150000, 0xc5c50e2f, F=0x0
0, 2, 3, 1, 150000, 0x51e28a04, F=0x0
0, 3, 4, 1, 150000, 0x9bbe6feb, F=0x0
[FORMAT]
TAG:operational_pattern_ul=060e2b34.04010101.0d010201.01010900
TAG:uid=adab4424-2f25-4dc7-92ff-29bd000c0000
TAG:generation_uid=adab4424-2f25-4dc7-92ff-29bd000c0001
TAG:company_name=FATE-company
TAG:product_name=FATE-test
TAG:product_version=3.14159
TAG:application_platform=Lavf
TAG:product_uid=adab4424-2f25-4dc7-92ff-29bd000c0002
TAG:toolkit_version=0.0.0.0.0
TAG:material_package_umid=0x060A2B340101010501010D001300000000000000000000000000000000000000
TAG:comment_test=value
TAG:timecode=01:00:00:00
[/FORMAT]