[FFmpeg-devel] [PATCH 2/2] fate: add mxf_dv25/dvcpro50 regression tests

Mark Thompson sw at jkqxz.net
Wed Sep 20 01:56:32 EEST 2017


On 19/09/17 23:24, Mark Thompson wrote:
> On 19/09/17 23:13, Mark Thompson wrote:
>> On 18/09/17 08:34, Tobias Rapp wrote:
>>> On 15.09.2017 22:43, Michael Niedermayer wrote:
>>>> On Thu, Sep 14, 2017 at 03:44:42PM +0200, Tobias Rapp wrote:
>>>>> Signed-off-by: Tobias Rapp <t.rapp at noa-archive.com>
>>>>> ---
>>>>>   tests/fate/avformat.mak          |  2 ++
>>>>>   tests/fate/seek.mak              |  4 +++
>>>>>   tests/lavf-regression.sh         |  8 ++++++
>>>>>   tests/ref/lavf/mxf_dv25          |  3 +++
>>>>>   tests/ref/lavf/mxf_dvcpro50      |  3 +++
>>>>>   tests/ref/seek/lavf-mxf_dv25     | 53 ++++++++++++++++++++++++++++++++++++++++
>>>>>   tests/ref/seek/lavf-mxf_dvcpro50 | 53 ++++++++++++++++++++++++++++++++++++++++
>>>>>   7 files changed, 126 insertions(+)
>>>>>   create mode 100644 tests/ref/lavf/mxf_dv25
>>>>>   create mode 100644 tests/ref/lavf/mxf_dvcpro50
>>>>>   create mode 100644 tests/ref/seek/lavf-mxf_dv25
>>>>>   create mode 100644 tests/ref/seek/lavf-mxf_dvcpro50
>>>>
>>>> probably ok
>>>
>>> Applied, thanks for the review.
>>>
>>> Tobias
>>
>> Could this contain some system-dependence or nondeterminism?
>>
>> (Debian stable, Skylake x86-64, nothing funny going on that I'm aware of...)
>>
>>
>> $ make V=1 fate-lavf-mxf_dvcpro50
>> TEST    lavf-mxf_dvcpro50
>> /home/mrt/video/ffmpeg/push/tests/fate-run.sh fate-lavf-mxf_dvcpro50 "/home/mrt/video/ffmpeg/fate/" "" "/home/mrt/video/ffmpeg/push/build" 'lavftest' '' '' '' '1' '' '' '' '' '' '' '' '' ''
>> /home/mrt/video/ffmpeg/push/build/ffmpeg -nostdin -nostats -y -cpuflags all -flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact -threads 1 -f image2 -vcodec pgmyuv -i /home/mrt/video/ffmpeg/push/build/tests/vsynth1/%02d.pgm -flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact -threads 1 -ar 44100 -f s16le -ar 48000 -ac 2 -i /home/mrt/video/ffmpeg/push/build/./tests/data/asynth1.sw -flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact -threads 1 -dct fastint -metadata title=lavftest -b:a 64k -t 1 -qscale:v 10 -r 25 -vf scale=720:576,setdar=16/9 -vcodec dvvideo -pix_fmt yuv422p -b 50000k -top 0 -f mxf /home/mrt/video/ffmpeg/push/build/./tests/data/lavf/lavf.mxf_dvcpro50
>> /home/mrt/video/ffmpeg/push/build/ffmpeg -nostdin -nostats -y -cpuflags all -flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact -threads 1 -i /home/mrt/video/ffmpeg/push/build/./tests/data/lavf/lavf.mxf_dvcpro50 -f crc /home/mrt/video/ffmpeg/push/build/./tests/data/mxf_dvcpro50.lavf.crc
>> --- /home/mrt/video/ffmpeg/push/tests/ref/lavf/mxf_dvcpro50     2017-09-19 22:46:36.169691617 +0100
>> +++ tests/data/fate/lavf-mxf_dvcpro50   2017-09-19 23:07:20.558751142 +0100
>> @@ -1,3 +1,3 @@
>> -6c9cb62911ac16c3b55f0ad0b052c05b *./tests/data/lavf/lavf.mxf_dvcpro50
>> +fe3f278b4deed2b89eba6f31cb092f98 *./tests/data/lavf/lavf.mxf_dvcpro50
>>  7430189 ./tests/data/lavf/lavf.mxf_dvcpro50
>>  ./tests/data/lavf/lavf.mxf_dvcpro50 CRC=0xe3bbe4b4
>> Test lavf-mxf_dvcpro50 failed. Look at tests/data/fate/lavf-mxf_dvcpro50.err for details.
>> ffmpeg version N-87333-gf952edaa73 Copyright (c) 2000-2017 the FFmpeg developers
>>   built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
>>   configuration: --samples=/home/mrt/video/ffmpeg/fate/ --enable-vaapi --enable-libdrm --enable-gpl --enable-libx264 --enable-shared
>>   libavutil      55. 75.100 / 55. 75.100
>>   libavcodec     57.106.101 / 57.106.101
>>   libavformat    57. 82.100 / 57. 82.100
>>   libavdevice    57.  8.101 / 57.  8.101
>>   libavfilter     6.105.100 /  6.105.100
>>   libswscale      4.  7.103 /  4.  7.103
>>   libswresample   2.  8.100 /  2.  8.100
>>   libpostproc    54.  6.100 / 54.  6.100
>> Input #0, image2, from '/home/mrt/video/ffmpeg/push/build/tests/vsynth1/%02d.pgm':
>>   Duration: 00:00:02.00, start: 0.000000, bitrate: N/A
>>     Stream #0:0: Video: pgmyuv, yuv420p, 352x288, 25 fps, 25 tbr, 25 tbn, 25 tbc
>> [s16le @ 0x5627ce70f2e0] Estimating duration from bitrate, this may be inaccurate
>> Guessed Channel Layout for Input Stream #1.0 : stereo
>> Input #1, s16le, from '/home/mrt/video/ffmpeg/push/build/./tests/data/asynth1.sw':
>>   Duration: 00:00:05.51, bitrate: 1536 kb/s
>>     Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
>> Codec AVOption idct (select IDCT implementation) specified for input file #1 (/home/mrt/video/ffmpeg/push/build/./tests/data/asynth1.sw) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some decoder which was not actually used for any stream.
>> Please use -b:a or -b:v, -b is ambiguous
>> Stream mapping:
>>   Stream #0:0 -> #0:0 (pgmyuv (native) -> dvvideo (native))
>>   Stream #1:0 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
>> [image2 @ 0x5627ce6f6fa0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
>> Output #0, mxf, to '/home/mrt/video/ffmpeg/push/build/./tests/data/lavf/lavf.mxf_dvcpro50':
>>   Metadata:
>>     title           : lavftest
>>     Stream #0:0: Video: dvvideo, yuv422p(progressive), 720x576 [SAR 64:45 DAR 16:9], q=2-31, 50000 kb/s, 25 fps, 25 tbn, 25 tbc
>>     Metadata:
>>       encoder         : Lavc dvvideo
>>     Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
>>     Metadata:
>>       encoder         : Lavc pcm_s16le
>> frame=   25 fps=0.0 q=-0.0 Lsize=    7256kB time=00:00:01.00 bitrate=59441.5kbits/s speed= 4.6x    
>> video:7031kB audio:188kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.516626%
>> ffmpeg version N-87333-gf952edaa73 Copyright (c) 2000-2017 the FFmpeg developers
>>   built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
>>   configuration: --samples=/home/mrt/video/ffmpeg/fate/ --enable-vaapi --enable-libdrm --enable-gpl --enable-libx264 --enable-shared
>>   libavutil      55. 75.100 / 55. 75.100
>>   libavcodec     57.106.101 / 57.106.101
>>   libavformat    57. 82.100 / 57. 82.100
>>   libavdevice    57.  8.101 / 57.  8.101
>>   libavfilter     6.105.100 /  6.105.100
>>   libswscale      4.  7.103 /  4.  7.103
>>   libswresample   2.  8.100 /  2.  8.100
>>   libpostproc    54.  6.100 / 54.  6.100
>> Guessed Channel Layout for Input Stream #0.1 : stereo
>> Input #0, mxf, from '/home/mrt/video/ffmpeg/push/build/./tests/data/lavf/lavf.mxf_dvcpro50':
>>   Metadata:
>>     uid             : adab4424-2f25-4dc7-92ff-29bd000c0000
>>     generation_uid  : adab4424-2f25-4dc7-92ff-29bd000c0001
>>     company_name    : FFmpeg
>>     product_name    : OP1a Muxer
>>     product_version : 0.0.0
>>     product_uid     : adab4424-2f25-4dc7-92ff-29bd000c0002
>>     modification_date: 0-01-02T00:00:00.000000Z
>>     material_package_umid: 0x060A2B340101010501010D001300000000000000000000000000000000000000
>>     timecode        : 00:00:00:00
>>   Duration: 00:00:01.00, start: 0.000000, bitrate: 59441 kb/s
>>     Stream #0:0: Video: dvvideo, yuv422p(bottom first), 720x576 [SAR 64:45 DAR 16:9], SAR 16:15 DAR 4:3, 25 fps, 25 tbr, 25 tbn, 25 tbc
>>     Metadata:
>>       file_package_umid: 0x060A2B340101010501010D001300000000000000000000000000000000000001
>>     Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
>>     Metadata:
>>       file_package_umid: 0x060A2B340101010501010D001300000000000000000000000000000000000001
>> Stream mapping:
>>   Stream #0:0 -> #0:0 (dvvideo (native) -> rawvideo (native))
>>   Stream #0:1 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
>> Output #0, crc, to '/home/mrt/video/ffmpeg/push/build/./tests/data/mxf_dvcpro50.lavf.crc':
>>   Metadata:
>>     uid             : adab4424-2f25-4dc7-92ff-29bd000c0000
>>     generation_uid  : adab4424-2f25-4dc7-92ff-29bd000c0001
>>     company_name    : FFmpeg
>>     product_name    : OP1a Muxer
>>     product_version : 0.0.0
>>     product_uid     : adab4424-2f25-4dc7-92ff-29bd000c0002
>>     modification_date: 0-01-02T00:00:00.000000Z
>>     material_package_umid: 0x060A2B340101010501010D001300000000000000000000000000000000000000
>>     timecode        : 00:00:00:00
>>     encoder         : Lavf57.82.100
>>     Stream #0:0: Video: rawvideo (Y42B / 0x42323459), yuv422p(bottom coded first (swapped)), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 165888 kb/s, 25 fps, 25 tbn, 25 tbc
>>     Metadata:
>>       file_package_umid: 0x060A2B340101010501010D001300000000000000000000000000000000000001
>>       encoder         : Lavc57.106.101 rawvideo
>>     Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
>>     Metadata:
>>       file_package_umid: 0x060A2B340101010501010D001300000000000000000000000000000000000001
>>       encoder         : Lavc57.106.101 pcm_s16le
>> frame=   25 fps=0.0 q=-0.0 Lsize=       0kB time=00:00:01.00 bitrate=   0.1kbits/s speed=14.3x    
>> video:20250kB audio:188kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
>> /home/mrt/video/ffmpeg/push/tests/Makefile:224: recipe for target 'fate-lavf-mxf_dvcpro50' failed
>> make: *** [fate-lavf-mxf_dvcpro50] Error 1
>>
> 
> Comparing to the right file helpfully supplied by jamrial:
> 
> $ diff -u right wrong
> --- right	2017-09-19 23:22:17.906204557 +0100
> +++ wrong	2017-09-19 23:22:23.958092926 +0100
> @@ -258,8 +258,8 @@
>  00001140  32 0b 00 04 00 00 00 00  33 01 00 04 00 00 00 08  |2.......3.......|
>  00001150  33 02 00 04 00 00 00 02  33 03 00 01 00 32 0c 00  |3.......3....2..|
>  00001160  01 01 32 0d 00 10 00 00  00 02 00 00 00 04 00 00  |..2.............|
> -00001170  00 17 00 00 01 4f 32 0e  00 08 00 00 00 10 00 00  |.....O2.........|
> -00001180  00 09 32 01 00 10 06 0e  2b 34 04 01 01 01 04 01  |..2.....+4......|
> +00001170  00 17 00 00 01 4f 32 0e  00 08 00 00 00 04 00 00  |.....O2.........|
> +00001180  00 03 32 01 00 10 06 0e  2b 34 04 01 01 01 04 01  |..2.....+4......|
>  00001190  02 02 02 02 04 00 06 0e  2b 34 02 53 01 01 0d 01  |........+4.S....|
>  000011a0  01 01 01 01 3b 00 50 3c  0a 00 10 ad ab 44 24 2f  |....;.P<.....D$/|
>  000011b0  25 4d c7 92 ff 29 bd 00  1a 00 01 48 01 00 04 00  |%M...).....H....|
> 

Ignore this: I was caught out by the shared libraries using an installed copy of the same version without the relevant fix for testing.

Apologies for the noise.

- Mark


More information about the ffmpeg-devel mailing list