GNOME Bugzilla – Bug 665034
10-Bit H.264 support
Last modified: 2012-05-28 12:41:16 UTC
Please add 10-Bit H.264 support to gstreamer. http://figmentos.iblogger.org/10bit-encoding/ http://x264.nl/x264/10bit_01-ateme_pierre_larbier_422_10-bit.pdf Sample (~250 Mb): http://dl.dropbox.com/u/9476941/%5BSFW-sage%5D_Bakuman_S2_-_09_%5B720p%5D%5BHi10P%5D%5B742A21DC%5D.mkv Screenshot: http://dl.dropbox.com/u/9476941/10-bit.png Thankyou.
We don't do codecs, we just wrap other projects' codecs. You'll have to ask the libav folks to add support for this. The only thing we can fix on our end is the confusing/wrong error message.
Thanks, ill do that.
Ok, i submitted bug to them: http://bugzilla.libav.org/show_bug.cgi?id=104 And got answer: "We already support it. GStreamer likely needs to handle PIX_FMT_YUV420P10."
As the version of libav bundled with gst-ffmpeg already has a 10bit decoder, it looks like two things need to be added to gst-ffmpeg to get this to work: First, as mentioned in comment 3, support for the YUV420P10 pixel format as a gstreamer capability/format, and the mapping from libav's internal definition to this gstreamer definition. (The error that you get when attempting to play back a 10bit file right now implies that libav can decode the format, but can't map the pixel format to gstreamer.) Second, an image format converter from YUV420P10 to other formats, e.g. YV12. Versions of libav with 10bit h264 support also include this converter in their libswscale.
So, any plans to add fixes to git? These day there is a lot videos coded in 10bit.
commit 59d8d73aa206ab01f6e85de3570ede7815eab840 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Fri May 25 16:58:50 2012 +0200 video: add 10 bits I420 format Add 10 bits I420 format definitions Move encoded format as second entry in the array so that it doesn't end up in a weird place when we add formats. See https://bugzilla.gnome.org/show_bug.cgi?id=665034 commit e38b00489fc4934736ffb30e37ea4437bc89960b Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Fri May 25 17:03:06 2012 +0200 libav: add support for 10 bits I420 See https://bugzilla.gnome.org/show_bug.cgi?id=665034 Next it needs support in videoconvert and also in videotestsrc.
Thanks for your work. Is it long to do? (In reply to comment #6) > ...Next it needs support in videoconvert and also in videotestsrc.
(In reply to comment #7) > Thanks for your work. > Is it long to do? > No it's not so much, I can do it on monday. It simply needs a getline and putline implementation in videoconvert.c > (In reply to comment #6) > > ...Next it needs support in videoconvert and also in videotestsrc.
(In reply to comment #6) > commit 59d8d73aa206ab01f6e85de3570ede7815eab840 > Author: Wim Taymans <wim.taymans@collabora.co.uk> > Date: Fri May 25 16:58:50 2012 +0200 > > video: add 10 bits I420 format > > Add 10 bits I420 format definitions > Move encoded format as second entry in the array so that it doesn't end up > in a > weird place when we add formats. > > See https://bugzilla.gnome.org/show_bug.cgi?id=665034 > > commit e38b00489fc4934736ffb30e37ea4437bc89960b > Author: Wim Taymans <wim.taymans@collabora.co.uk> > Date: Fri May 25 17:03:06 2012 +0200 > > libav: add support for 10 bits I420 > > See https://bugzilla.gnome.org/show_bug.cgi?id=665034 > > Next it needs support in videoconvert and also in videotestsrc. Does not PIX_FMT_YUV420P10 in libav is like NV12 with 10-bit depth? See also: http://patches.libav.org/patch/12860/ http://msdn.microsoft.com/en-us/library/windows/desktop/bb970578(v=vs.85).aspx#_420formats
(In reply to comment #9) > Does not PIX_FMT_YUV420P10 in libav is like NV12 with 10-bit depth? No, it's more like I420 with 10 bit depth, it has the U and V in different planes. > > See also: > http://patches.libav.org/patch/12860/ > http://msdn.microsoft.com/en-us/library/windows/desktop/bb970578(v=vs.85).aspx#_420formats The P010 from microsoft is like NV12 with 10 bits.
commit d2a1613a43866f64f36aaa196553d70be5cc492f Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Mon May 28 12:50:49 2012 +0200 videoconvert: add support for 10bit I420 Add support for 10bit I420 Reorganize some macros, have separate plane and component macros, fix a problem with YV12 in the process. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=665034
(In reply to comment #10) > (In reply to comment #9) > > Does not PIX_FMT_YUV420P10 in libav is like NV12 with 10-bit depth? > > No, it's more like I420 with 10 bit depth, it has the U and V in different > planes. > > > > > See also: > > http://patches.libav.org/patch/12860/ > > http://msdn.microsoft.com/en-us/library/windows/desktop/bb970578(v=vs.85).aspx#_420formats > > The P010 from microsoft is like NV12 with 10 bits. Sorry for bothering you, this is what confuse me early. Finally we can handle hi10p with gstreamer, thanks!