[FFmpeg-user] trouble confirming ffv1 lossless encode

Paul B Mahol onemda at gmail.com
Wed Jan 30 21:28:13 CET 2013


On 1/30/13, Nathan Lewis <nlewis at mail.crawford.com> wrote:
> Hi,
>
> I'm attempting to verify that a transcode to ffv1 from 8 bit uncompressed
> is truly lossless.  Below you will find the complete output from my 8bit
> uncompressed to ffv1 transcode as well as my framemd5 passes of my original
> input and output file.  I have separated the ffmpeg outputs with "#####"
> for clarity.
>
> Please let me know if you have any suggestions or questions.
>
> Regards,
>
> Nathan
>
>
> $ ffmpeg -i 8bit_uncomp.mov -c:v ffv1 -coder 1 -context 1 -g 1 -c:a copy
> ffv1_lossless.mov
> ffmpeg version 1.0.3 Copyright (c) 2000-2012 the FFmpeg developers
>   built on Jan 27 2013 20:29:40 with llvm-gcc 4.2.1 (LLVM build 2335.15.00)
>   configuration: --enable-nonfree --enable-gpl --enable-libfaac
> --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx
> --enable-pthreads --enable-libx264 --enable-version3
>   libavutil      51. 73.101 / 51. 73.101
>   libavcodec     54. 59.100 / 54. 59.100
>   libavformat    54. 29.104 / 54. 29.104
>   libavdevice    54.  2.101 / 54.  2.101
>   libavfilter     3. 17.100 /  3. 17.100
>   libswscale      2.  1.101 /  2.  1.101
>   libswresample   0. 15.100 /  0. 15.100
>   libpostproc    52.  0.100 / 52.  0.100
> Guessed Channel Layout for  Input Stream #0.1 : stereo
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '8bit_uncomp.mov':
>   Metadata:
>     creation_time   : 2012-12-12 17:43:27
>   Duration: 00:15:34.53, start: 0.000000, bitrate: 171792 kb/s
>     Stream #0:0(eng): Video: rawvideo (yuvs / 0x73767579), yuyv422,
> 720x486, 167793 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 29970 tbc
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>       timecode        : 00:00:00:05
>     Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz,
> stereo, s16, 1536 kb/s
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>     Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>       timecode        : 00:00:00:05
> [mov @ 0x7f8be2874e00] Using MS style video codec tag, the file may be
> unplayable!
> Output #0, mov, to 'ffv1_lossless.mov':
>   Metadata:
>     encoder         : Lavf54.29.104
>     Stream #0:0(eng): Video: ffv1, yuv422p, 720x486, q=2-31, 200 kb/s, 2997
> tbn, 29.97 tbc
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>       timecode        : 00:00:00:05
>     Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz,
> stereo, 1536 kb/s
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo -> ffv1)
>   Stream #0:1 -> #0:1 (copy)
> Press [q] to stop, [?] for help
> frame=28008 fps= 15 q=0.0 Lsize= 6641236kB time=00:15:34.56
> bitrate=58214.1kbits/s
> video:6465435kB audio:175231kB subtitle:0 global headers:0kB muxing
> overhead 0.008581%
>
>
> ###################################################################################
>
>
>
> $ ffmpeg -i 8bit_uncomp.mov -an -f framemd5 8bit_uncomp.framemd5
> ffmpeg version 1.0.3 Copyright (c) 2000-2012 the FFmpeg developers
>   built on Jan 27 2013 20:29:40 with llvm-gcc 4.2.1 (LLVM build 2335.15.00)
>   configuration: --enable-nonfree --enable-gpl --enable-libfaac
> --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx
> --enable-pthreads --enable-libx264 --enable-version3
>   libavutil      51. 73.101 / 51. 73.101
>   libavcodec     54. 59.100 / 54. 59.100
>   libavformat    54. 29.104 / 54. 29.104
>   libavdevice    54.  2.101 / 54.  2.101
>   libavfilter     3. 17.100 /  3. 17.100
>   libswscale      2.  1.101 /  2.  1.101
>   libswresample   0. 15.100 /  0. 15.100
>   libpostproc    52.  0.100 / 52.  0.100
> Guessed Channel Layout for  Input Stream #0.1 : stereo
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '8bit_uncomp.mov':
>   Metadata:
>     creation_time   : 2012-12-12 17:43:27
>   Duration: 00:15:34.53, start: 0.000000, bitrate: 171792 kb/s
>     Stream #0:0(eng): Video: rawvideo (yuvs / 0x73767579), yuyv422,
> 720x486, 167793 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 29970 tbc
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>       timecode        : 00:00:00:05
>     Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz,
> stereo, s16, 1536 kb/s
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>     Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>       timecode        : 00:00:00:05
> Output #0, framemd5, to '8bit_uncomp.framemd5':
>   Metadata:
>     encoder         : Lavf54.29.104
>     Stream #0:0(eng): Video: rawvideo (YUY2 / 0x32595559), yuyv422,
> 720x486, q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
>     Metadata:
>       creation_time   : 2012-12-12 17:43:27
>       handler_name    : Apple Alias Data Handler
>       timecode        : 00:00:00:05
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo -> rawvideo)
> Press [q] to stop, [?] for help
> frame=28008 fps= 49 q=0.0 Lsize=    2188kB time=00:15:34.53 bitrate=
>  19.2kbits/s
> video:19141718kB audio:0kB subtitle:0 global headers:0kB muxing overhead
> -99.988569%
>
>
> #################################################################################
>
>
>
> $ ffmpeg -i ffv1_lossless.mov -an -f framemd5 ffv1_lossless.framemd5
> ffmpeg version 1.0.3 Copyright (c) 2000-2012 the FFmpeg developers
>   built on Jan 27 2013 20:29:40 with llvm-gcc 4.2.1 (LLVM build 2335.15.00)
>   configuration: --enable-nonfree --enable-gpl --enable-libfaac
> --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx
> --enable-pthreads --enable-libx264 --enable-version3
>   libavutil      51. 73.101 / 51. 73.101
>   libavcodec     54. 59.100 / 54. 59.100
>   libavformat    54. 29.104 / 54. 29.104
>   libavdevice    54.  2.101 / 54.  2.101
>   libavfilter     3. 17.100 /  3. 17.100
>   libswscale      2.  1.101 /  2.  1.101
>   libswresample   0. 15.100 /  0. 15.100
>   libpostproc    52.  0.100 / 52.  0.100
> Guessed Channel Layout for  Input Stream #0.1 : stereo
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'ffv1_lossless.mov':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 512
>     compatible_brands: qt
>     encoder         : Lavf54.29.104
>   Duration: 00:15:34.56, start: 0.000000, bitrate: 58214 kb/s
>     Stream #0:0(eng): Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x486,
> 56675 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 2997 tbc
>     Metadata:
>       handler_name    : DataHandler
>       timecode        : 00:00:00:05
>     Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz,
> stereo, s16, 1536 kb/s
>     Metadata:
>       handler_name    : DataHandler
>     Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
>     Metadata:
>       handler_name    : DataHandler
>       timecode        : 00:00:00:05
> Output #0, framemd5, to 'ffv1_lossless.framemd5':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 512
>     compatible_brands: qt
>     encoder         : Lavf54.29.104
>     Stream #0:0(eng): Video: rawvideo (Y42B / 0x42323459), yuv422p,
> 720x486, q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
>     Metadata:
>       handler_name    : DataHandler
>       timecode        : 00:00:00:05
> Stream mapping:
>   Stream #0:0 -> #0:0 (ffv1 -> rawvideo)
> Press [q] to stop, [?] for help
> frame=28008 fps= 22 q=0.0 Lsize=    2188kB time=00:15:34.53 bitrate=
>  19.2kbits/s
> video:19141718kB audio:0kB subtitle:0 global headers:0kB muxing overhead
> -99.988569%

First you need to find out that yuyv422 <-> yuv422p is really lossless.


More information about the ffmpeg-user mailing list