[FFmpeg-user] VP9 with yuv444p subsampling

Dainius (GreatEmerald) pastas4 at gmail.com
Sat Jan 4 12:37:23 CET 2014


According to the WebM mailing lists, the VP9 codec supports 4:4:4
chroma subsampling in profile 1. I tried to encode a video like that,
but ffmpeg says it cannot use yuv444p with libvpx-vp9:

  Incompatible pixel format 'yuv440p' for codec 'libvpx-vp9',
auto-selecting format 'yuv420p'

So where could the problem be? In libvpx-vp9 itself? In my installed
version of libvpx? In ffmpeg? If someone could try it out and see if
it works for them, I would be grateful.

I'm using ffmpeg 2.1.1 on openSUSE 13.1 x86_64 (Packman repository),
libvpx 1.3.0.

The command used was: ffmpeg -i Video1310.mkv -strict -2 -codec:v vp9
-profile:v 1 -pix_fmt yuv440p -y test.webm
The output was:
ffmpeg version 2.1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec 17 2013 19:47:47 with gcc 4.8 (SUSE Linux)
  configuration: --shlibdir=/usr/lib64 --prefix=/usr
--mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared
--disable-static --enable-debug --disable-stripping
--extra-cflags='-fmessage-length=0 -grecord-gcc-switches
-fstack-protector -O2 -Wall -D_FORTIFY_SOURCE=2 -funwind-tables
-fasynchronous-unwind-tables -g -fPIC -I/usr/include/gsm' --enable-gpl
--enable-x11grab --enable-version3 --enable-pthreads --enable-avfilter
--enable-libpulse --enable-libvpx --enable-libopus --enable-libass
--enable-libmp3lame --enable-libvorbis --enable-libtheora
--enable-libspeex --enable-libxvid --enable-libx264
--enable-libschroedinger --enable-libgsm --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-postproc --enable-libdc1394
--enable-librtmp --enable-libfreetype --enable-avresample
--enable-libtwolame --enable-libvo-aacenc --enable-gnutls
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  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 'Video1310.mkv':
  Metadata:
    ENCODER         : Lavf55.19.104
  Duration: 00:04:48.33, start: 0.000000, bitrate: 113 kb/s
    Stream #0:0: Video: h264 (High 4:4:4 Predictive), yuv444p,
640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
Incompatible pixel format 'yuv440p' for codec 'libvpx-vp9',
auto-selecting format 'yuv420p'
[libvpx-vp9 @ 0x1123fa0] v1.3.0
[libvpx-vp9 @ 0x1123fa0] Failed to set VP8E_SET_TOKEN_PARTITIONS codec
control: Unspecified internal error
Output #0, webm, to 'test.webm':
  Metadata:
    encoder         : Lavf55.19.104
    Stream #0:0: Video: vp9 (libvpx-vp9), yuv420p, 640x480 [SAR 1:1
DAR 4:3], q=-1--1, 200 kb/s, 1k tbn, 30 tbc (default)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx-vp9)


More information about the ffmpeg-user mailing list