x264 suddenly 10-bit

Hi,

I just updated my x264 installation to use 0.129 from Packam (previously it was 0.128 from Packman) on openSUSE 12.2 and now my scripts to encode videos are not working because they say:

x264 [error]: baseline profile doesn't support a bit depth of 10

I managed to trace the problem to x264 suddenly being shipped in 10-bit mode from Packman - does anyone know if this was mistake? I have emailed the person who made the update, but no response yet. Does anyone know if Packman intend on continuing to ship x264 in 10-bit mode? Is there a work around for using 10-bit mode and “-profile baseline” simultaneously?

My video conversion command was:

ffmpeg -i in_video.mpg -an -sn -vcodec libx264 -preset veryslow -profile:v baseline -vf crop=688:560:16:10,yadif -crf 20.3 -threads 0 -f mp4 out_video.m4v

That command has been in my cron file for over 6 months and has been working fine until I did the update yesterday. The full output from ffmpeg is:

ffmpeg version 1.0.4 Copyright (c) 2000-2012 the FFmpeg developers
  built on Feb 27 2013 11:14:40 with gcc 4.6 (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 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -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
  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
[mpeg @ 0x634280] max_analyze_duration 5000000 reached at 5000000
Input #0, mpeg, from 'in_video.mpg':
  Duration: 00:22:22.36, start: 1.007267, bitrate: 6931 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9400 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
x264 [error]: baseline profile doesn't support a bit depth of 10
[libx264 @ 0x63bf40] Error setting profile baseline.
[libx264 @ 0x63bf40] Possible profiles: baseline main high high10 high422 high444
Output #0, mp4, to 'out_video.m4v':
    Stream #0:0: Video: h264, yuv420p10le, 688x560 [SAR 64:45 DAR 2752:1575], q=-1--1, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libx264)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Has anyone else come across this? If I search in Google there are just a bunch of posts about getting x264 to use 10-bit, there isn’t much of any use.

Thanks in advance,

Guymer

I don’t suppose many people will notice this, or even understand it. That includes me.
Did you report a Packman mailing list? If you don’t use that, I can do it for you, linking to this info you posted.

                 try asking packman for suggestion

PackMan :: Documentation
The last time i check irc was pretty active

Help on PackMan
PackMan Mailinglist
Internet Relay Chat (IRC): #packman on irc.freenode.net

One user did get answers on irc recently https://forums.opensuse.org/english/get-technical-help-here/pre-release-beta/483392-12-3-packaman-not-factory-packman-when.html#post2531584

A dumb question - but is the original video from a common source ? ie confirm the original video is not the problem ?

I note a similar (not identical) ffmpeg command works for me on an openSUSE-12.1 system, but I also note I have not updated my Packman apps for a while and there is a massive update waiting for me to install.

Did you try removing selected arguments within the ffmpeg command to see if you can point the problem to a specific ffmpeg argument ?

To the original question, I doubt there is or will be a workaround for 10 bit in the baseline profile as, from what I’ve read, that is there to be compatible with most devices, which I have also read do not support 10 bit. I stream many things to my ps3 to watch, and therefore save wear on the optical drive, and once I tried watching the new mp4’s I made after the update to 129 it stopped being able to read them. I looked closer at the encodes, and ffmpeg would automatically change a yuv420p to a yuv420p10le format, which as far as I could tell was the only reason that it wouldn’t work. Upon researching I found that that was Hi10P or something like that, then I found the info about a lot of devices still not supporting 10 bit video, so to summarize, I do not think that the lower profiles can support 10 bit by definition.

That being said, I did recompile the packages using 8 instead of 10 on the configure option, and now my videos work again, and do not convert to yuv420p10le, but stay at yuv420p, anyone who is interested can drop me a request at ms6_1982 at yahoo.com and I will send the rpms. ( I also tried ffmpeg’s pix_fmt argument and there was no difference, it still refused anything below the high10 profile).

Kindly don’t post any email ids here or anywhere on the net . You may bombarded by thousands of spam mail if you do that.

One can find the Packman mailing list posts on this subject here: [packman] x264 10-bit Update](http://lists.links2linux.de/pipermail/packman/2013-March/011868.html)

In that I read that Marguerite, one of the Packagers, had kindly agreed to repackage the relevant x264 package(s) and in that the x264 10-bit depth has been disabled again.

Specifically, libx264-129-0.129svn20130224-2.1.x86_64.rpm and x264-0.129svn20130224-3.1.x86_64.rpm (not build yet as of 7-March) will be the packages rebuilt. The mailing list posts that I referenced provide a bit more detail.