[FFmpeg-user] ffv1 10bit smaller than 8bit

Jim Shupert jshupert at pps-inc.com
Tue May 6 19:54:58 CEST 2014


Friends,

I wish wisdom on the follwing
i have a 10 bit raw video avi that i wish to make 2 files
a 8 bit FFv1 in mkv and a 10 bit FFv1 in mkv.

My puzzle is that the 8bit file is larger in data size than the 10 bit file.

how is 1 min of 10bit FFv1 smaller than 1 min of 8bit ffv1

   8 bit UUJA_Test_ffv1-8b-1m.mkv    datasize= 127.7 MB
10 bit  UUJA_Test_ffv1-10b-1m.mkv   datasize= 123.7 MB


here is the output of creation and ffprobe of the resultant mkvs

Thanks



----------- 8 bit    UUJA_Test_ffv1-8b-1m.mkv   datasize= 127.7 MB

ffmpeg -i  /media/data/UUJA/UUJA_Test.avi -y -s 720x486 -t 00:00:20.00
-vcodec ffv1 -pix_fmt yuv422p  -g 1 -acodec pcm_s24le -sample_fmt s32
/media/data/UUJA/UUJA_Test_ffv1-8b-1m.mkv
ffmpeg version 2.1.git Copyright (c) 2000-2014 the FFmpeg developers
   built on Feb 24 2014 11:22:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
   configuration: --prefix=/home/ss/ffmpeg_build
--extra-cflags=-I/home/ss/ffmpeg_build/include
--extra-ldflags=-L/home/ss/ffmpeg_build/lib
--bindir=/home/ss/bin --extra-libs=-ldl --enable-gpl
--enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264
--enable-nonfree --enable-libfreetype --enable-x11grab
   libavutil      52. 65.100 / 52. 65.100
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 33.100 / 55. 33.100
   libavdevice    55. 10.100 / 55. 10.100
   libavfilter     4.  1.103 /  4.  1.103
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, avi, from '/media/data/U ffmpeg -i
/media/data/UUJA/UUJA_Test.avi -y -s 720x486 -t 00:00:20.00 -vcodec ffv1
-pix_fmt yuv422p  -g 1 -acodec pcm_s24le -sample_fmt s32
/media/data/UUJA/UUJA_Test_ffv1-8b-1m.mkv
ffmpeg version 2.1.git Copyright (c) 2000-2014 the FFmpeg developers
   built on Feb 24 2014 11:22:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
   configuration: --prefix=/home/ss/ffmpeg_build
--extra-cflags=-I/home/ss/ffmpeg_build/include
--extra-ldflags=-L/home/ss/ffmpeg_build/lib
--bindir=/home/ss/bin --extra-libs=-ldl --enable-gpl
--enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264
--enable-nonfree --enable-libfreetype --enable-x11grab
   libavutil      52. 65.100 / 52. 65.100
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 33.100 / 55. 33.100
   libavdevice    55. 10.100 / 55. 10.100
   libavfilter     4.  1.103 /  4.  1.103
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, avi, from '/media/data/UUJA/UUJA_Test.avi':
   Duration: 00:01:51.51, start: 0.000000, bitrate: 226525 kb/s
     Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 720x486,
29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
     Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s16, 1536 kb/s
Output #0, matroska, to '/media/data/UUJA/UUJA_Test_ffv1-8b-1m.mkv':
   Metadata:
     encoder         : Lavf55.33.100
     Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x486,
q=2-31, 200 kb/s, 1k tbn, 29.97 tbc
     Stream #0:1: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s32, 2304 kb/s
Stream mapping:
   Stream #0:0 -> #0:0 (v210 -> ffv1)0
   Stream #0:1 -> #0:1 (pcm_s16le -> pcm_s24le)
Press [q] to stop, [?] for help
frame=  599 fps= 33 q=0.0 Lsize=  124669kB time=00:00:20.00
bitrate=51064.6kbits/s
video:119011kB audio:5625kB subtitle:0 data:0 global headers:0kB muxing
overhead 0.026738%
NTA/UUJA_Test.avi':
   Duration: 00:01:51.51, start: 0.000000, bitrate: 226525 kb/s
     Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 720x486,
29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
     Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s16, 1536 kb/s
Output #0, matroska, to '/media/data/UUJA/UUJA_Test_ffv1-8b-1m.mkv':
   Metadata:
     encoder         : Lavf55.33.100
     Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x486,
q=2-31, 200 kb/s, 1k tbn, 29.97 tbc
     Stream #0:1: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s32, 2304 kb/s
Stream mapping:
   Stream #0:0 -> #0:0 (v210 -> ffv1)
   Stream #0:1 -> #0:1 (pcm_s16le -> pcm_s24le)
Press [q] to stop, [?] for help
frame=  599 fps= 33 q=0.0 Lsize=  124669kB time=00:00:20.00
bitrate=51064.6kbits/s
video:119011kB audio:5625kB subtitle:0 data:0 global headers:0kB muxing
overhead 0.026738%



--------10 bit  UUJA_Test_ffv1-10b-1m.mkv   datasize = 123.7


ss at filmvidcmp:~$ ffmpeg -i  /media/data/UUJA/UUJA_Test.avi -y -s
720x486 -t 00:00:20.00 -coder 1 -vcodec ffv1 -pix_fmt yuv422p10le  -g 1
-acodec pcm_s24le -sample_fmt s32
/media/data/UUJA/UUJA_Test_ffv1-10b-1m.mkv
ffmpeg version 2.1.git Copyright (c) 2000-2014 the FFmpeg developers
   built on Feb 24 2014 11:22:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
   configuration: --prefix=/home/ss/ffmpeg_build
--extra-cflags=-I/home/ss/ffmpeg_build/include
--extra-ldflags=-L/home/ss/ffmpeg_build/lib
--bindir=/home/ss/bin --extra-libs=-ldl --enable-gpl
--enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264
--enable-nonfree --enable-libfreetype --enable-x11grab
   libavutil      52. 65.100 / 52. 65.100
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 33.100 / 55. 33.100
   libavdevice    55. 10.100 / 55. 10.100
   libavfilter     4.  1.103 /  4.  1.103
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, avi, from '/media/data/UUJA/UUJA_Test.avi':
   Duration: 00:01:51.51, start: 0.000000, bitrate: 226525 kb/s
     Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 720x486,
29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
     Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s16, 1536 kb/s
Output #0, matroska, to '/media/data/UUJA/UUJA_Test_ffv1-10b-1m.mkv':
   Metadata:
     encoder         : Lavf55.33.100
     Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p10le, 720x486,
q=2-31, 200 kb/s, 1k tbn, 29.97 tbc
     Stream #0:1: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s32, 2304 kb/s
Stream mapping:
   Stream #0:0 -> #0:0 (v210 -> ffv1)
   Stream #0:1 -> #0:1 (pcm_s16le -> pcm_s24le)
Press [q] to stop, [?] for help
frame=  599 fps= 30 q=0.0 Lsize=  120752kB time=00:00:20.00
bitrate=49460.0kbits/s
video:115094kB audio:5625kB subtitle:0 data:0 global headers:0kB muxing
overhead 0.027577%



= ffprbe returns

----------- 8 bit

ffprobe -i  /media/data/UUJA/UUJA_Test_ffv1-8b-1m.mkv
ffprobe version 2.1.git Copyright (c) 2007-2014 the FFmpeg developers
   built on Feb 24 2014 11:22:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
   configuration: --prefix=/home/ss/ffmpeg_build
--extra-cflags=-I/home/ss/ffmpeg_build/include
--extra-ldflags=-L/home/ss/ffmpeg_build/lib
--bindir=/home/ss/bin --extra-libs=-ldl --enable-gpl
--enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264
--enable-nonfree --enable-libfreetype --enable-x11grab
   libavutil      52. 65.100 / 52. 65.100
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 33.100 / 55. 33.100
   libavdevice    55. 10.100 / 55. 10.100
   libavfilter     4.  1.103 /  4.  1.103
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
Input #0, matroska,webm, from '/media/data/UUJA/UUJA_Test_ffv1-8b-1m.mkv':
   Metadata:
     ENCODER         : Lavf55.33.100
   Duration: 00:00:20.00, start: 0.000000, bitrate: 51064 kb/s
     Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x486, SAR
1:1 DAR 40:27, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
     Stream #0:1: Audio: pcm_s24le, 48000 Hz, 2 channels, s32, 2304 kb/s
(default)



-----------10 bit

  ffprobe -i  /media/data/UUJA/UUJA_Test_ffv1-10b-1m.mkv
ffprobe version 2.1.git Copyright (c) 2007-2014 the FFmpeg developers
   built on Feb 24 2014 11:22:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
   configuration: --prefix=/home/ss/ffmpeg_build
--extra-cflags=-I/home/ss/ffmpeg_build/include
--extra-ldflags=-L/home/ss/ffmpeg_build/lib
--bindir=/home/ss/bin --extra-libs=-ldl --enable-gpl
--enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264
--enable-nonfree --enable-libfreetype --enable-x11grab
   libavutil      52. 65.100 / 52. 65.100
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 33.100 / 55. 33.100
   libavdevice    55. 10.100 / 55. 10.100
   libavfilter     4.  1.103 /  4.  1.103
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
Input #0, matroska,webm, from '/media/data/UUJA/UUJA_Test_ffv1-10b-1m.mkv':
   Metadata:
     ENCODER         : Lavf55.33.100
   Duration: 00:00:20.00, start: 0.000000, bitrate: 49460 kb/s
     Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p10le, 720x486,
SAR 1:1 DAR 40:27, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
     Stream #0:1: Audio: pcm_s24le, 48000 Hz, 2 channels, s32, 2304 kb/s







More information about the ffmpeg-user mailing list