View Full Version : x264 10bit-depth
Anakunda
10th October 2010, 21:48
hello,
today a 10 bit backend was presented. I wanted to ask if I can replace this backend with current x264, and furthermore if 10bit backend adds some quality to video, or will the video be bigger only without additional quality?
Mostly I encode from DVD and DVB(MPEG2).
Lyris
11th October 2010, 00:04
Those are both 8bit sources anyway.
Blue_MiSfit
11th October 2010, 03:12
Hi Anakunda,
10 bit is a tricky thing. Here are the main talking points currently, as I see them: (Take these with a grain of salt, as I'm not terribly knowledgable or experienced WRT 10 bit x264!)
1) 10 bit H.264 can only be decoded by payware decoders currently, like Mainconcept.
2) 10 bit encoding is best used with 10 bit sources, of which there are certainly none available to the average consumer
3) 10 bit gives better quality at the same bitrate AFAIK, due to greater precision
4) 10 bit is extremely slow currently, because ASM optimizations haven't been committed to the GIT yet. This WILL happen eventually :)
So, my advice would be to skip it for now. This will certainly change in the future!!
Derek
Astrophizz
11th October 2010, 04:31
I would think that 10 bit would also be good for 8 bit sources since it is lossy encoding and the increased precision would help.
burfadel
11th October 2010, 04:50
What does the 10-bit precision mean anyway? Is it possible to have the encoder chain 10-bit then have it downsample to 8-bit precision for the final encode?
aegisofrime
11th October 2010, 06:02
Hi Anakunda,
10 bit is a tricky thing. Here are the main talking points currently, as I see them: (Take these with a grain of salt, as I'm not terribly knowledgable or experienced WRT 10 bit x264!)
1) 10 bit H.264 can only be decoded by payware decoders currently, like Mainconcept.
2) 10 bit encoding is best used with 10 bit sources, of which there are certainly none available to the average consumer
3) 10 bit gives better quality at the same bitrate AFAIK, due to greater precision
4) 10 bit is extremely slow currently, because ASM optimizations haven't been committed to the GIT yet. This WILL happen eventually :)
So, my advice would be to skip it for now. This will certainly change in the future!!
Derek
Thanks so much for summarizing it so clearly and succinctly :) It really clears up the confusion I had.
Dark Shikari
11th October 2010, 06:15
2) 10 bit encoding is best used with 10 bit sources, of which there are certainly none available to the average consumerIt works just fine with 8-bit too. We will be adding things like gradfun into the filter chain to allow 8-bit stuff to be automatically upsampled to 10-bit anyways.
Of course, widespread adoption will depend on libavcodec getting 10-bit support.
Selur
11th October 2010, 07:31
We will be adding things like gradfun into the filter chain to allow 8-bit stuff to be automatically upsampled to 10-bit anyways.
Nice!
J_Darnley
11th October 2010, 09:05
What does the 10-bit precision mean anyway? Is it possible to have the encoder chain 10-bit then have it downsample to 8-bit precision for the final encode?
No.
5
Amefurashi
11th October 2010, 10:30
Of course, widespread adoption will depend on libavcodec getting 10-bit support.
Is there the technical possibility (as far as you would know) to implement the 10-bit decoding in common standalone devices as well (eg. WDTV Live, Popcorn Hour etc.)?
Dark Shikari
11th October 2010, 10:31
Is there the technical possibility (as far as you would know) to implement the 10-bit decoding in common standalone devices as well (eg. WDTV Live, Popcorn Hour etc.)?Sure, but it would probably require new hardware decoders.
Amefurashi
11th October 2010, 10:35
Sure, but it would probably require new hardware decoders.
Ouch... I was hoping for a firmware-updating solution...
Thanks :)
burfadel
11th October 2010, 12:14
No.
5
I didn't think so :)
lithoc
11th October 2010, 16:08
Sure, but it would probably require new hardware decoders.
How about UVD or Purevideo/VDPAU or intel?
May be we will have another round of ... "Who will be the 1st to support High10P"?
It's good to see some competition here.
:)
LoRd_MuldeR
11th October 2010, 18:56
How about UVD or Purevideo/VDPAU or intel?
As the do not use GPU programs (shaders), which probably could be updated, but "hardwired" decoder chips integrated on the graphics board, which can not be updated, new hardware will be nedded :rolleyes:
Sharktooth
11th October 2010, 20:02
..why not add gradfun (in addition to the standard deblock) into the decoder specs? it would save a lot of headaches...
UltraTV
30th October 2010, 00:12
What colorspace should be used for 10-bit encoding in x264? I have some 4:2:2 sources, but when I run them through they're being converted to yuv420.
x264_10 --pass 1 --preset veryslow --tune film --profile high10 --bitrate 30000 --stats ".stats" --keyint 96 --thread-input --sar 1:1 --output NUL "test.avs"avs
[info]: 1920x1080p 1:1 @ 29970000/1250071 fps (cfr)
resize [warning]: converting from yuyv422 to yuv422p
resize [warning]: converting from yuv422p to yuv420p.........
J_Darnley
30th October 2010, 00:16
x264 only supports 4:2:0
UltraTV
30th October 2010, 00:23
I see, so 4:2:0 @ 10-bit. So sticking with yv12 is best.
popper
31st October 2010, 04:46
Sure, but it would probably require new hardware decoders.
How about UVD or Purevideo/VDPAU or intel?
May be we will have another round of ... "Who will be the 1st to support High10P"?
It's good to see some competition here.
:)
actually DS perhaps you might ask Francois about the SB Decoder ?, i think it will/might, as its not a fixed ASIC fixed-function decoding device such as NV and amd seem to use now, and he could probably work it into the patch if not already there somehow if it ever goes through.
Dark Shikari
31st October 2010, 04:53
actually DS perhaps you might ask Francois about the SB Decoder ?, i think it will/might, as its not a fixed ASIC fixed-function decoding device such as NV and amd seem to use now, and he could probably work it into the patch if not already there somehow if it ever goes through.I suspect the SB is more like the most recent iteration of Broadcom's VideoCore; it's not a "pure ASIC", but rather built out of programmable blocks. So, for example, for a motion search, it could load some region of pixels and perform arbitrary checks against it. But that region of pixels still likely has to be 8-bit.
lovelove
22nd June 2011, 04:30
I come from image editing and I was wondering why did you go from 8 to 10 bit instead of directly to 16 bit?
As far as (still) images are concerned a higher bit depth (16 [or 10] bit compared to 8 bit) is ONLY needed IF 8 bit would result in banding/posterization artefacts. However the price is a bigger file size.
So how do you guys end up saying "10 bit gives better quality at the same bitrate due to greater precision" ??
IMO, the opposite is the case.
10 bit gives marginally better quality (probably only distinguishable for gradients with banding) BUT needs a higher bitrate (due to greater precision).
At the SAME bitrate, I suppose 8 bit would still have better quality.
Dark Shikari
22nd June 2011, 06:00
I come from image editing and I was wondering why did you go from 8 to 10 bit instead of directly to 16 bit?Because each extra bit of intermediate precision cuts 50% off the amount of compression lost due to intermediate rounding. After 2 extra bits, you've eliminated 75% of the inefficiency.
Also, 10-bit is the highest bit depth at which luma motion compensation can be implemented without unpacking to 32-bit.
Also, the spec is capped at 14-bit.
dukey
22nd June 2011, 15:58
What's the point of 10bit video ? Most LCD displays only use 6bit per channel and dither the result. Seems like massive over kill to me. In direct x or opengl, you can render to 16 or 32bit per channel buffers, but the final result is always clamped down for display.
Dark Shikari
22nd June 2011, 19:53
What's the point of 10bit video ? Most LCD displays only use 6bit per channel and dither the result. Seems like massive over kill to me. In direct x or opengl, you can render to 16 or 32bit per channel buffers, but the final result is always clamped down for display.10-bit is the intermediate precision. The output precision isn't important.
Audio has used 32-bit intermediate precision (in the form of float) for decades even though the output is only 16-bit.
The final version of Libav 0.7 was released. I guess widespread support of 10-bit AVC is underway.
CruNcher
23rd June 2011, 11:27
What's the point of 10bit video ? Most LCD displays only use 6bit per channel and dither the result. Seems like massive over kill to me. In direct x or opengl, you can render to 16 or 32bit per channel buffers, but the final result is always clamped down for display.
You see the Industry has something "new" to bring in for Consumers after the 3D Hype (Ultra Precission Display) UPD for short ;)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.