Log in

View Full Version : Clear Video specifications?


fvisagie
1st September 2014, 14:42
Hi All,

I'm targeting Intel HD Graphics devices with Clear Video-conformant H.264 encodes, but can't proceed any further without detailed Clear Video specifications. The reason is that according to preliminary testing, Clear Video does not support all available H.264 profile and level combinations, and within a particular level it might not even support all allowed combinations of resolution, maximum DPB etc.

Therefore I need the official Intel specification to see exactly which H.264 configurations are supported and which not. Searching the Intel web site for over a day yielded nothing beyond this unimpressive gem: Intel® Clear Video HD Technology: Specifications (https://www-ssl.intel.com/content/www/us/en/architecture-and-technology/clear-video-hd/clear-video-hd-technology-spec.html).

I'd be grateful for any pointers to detailed official Clear Video specifications that clearly identify supported H.264 configurations and/or additional constraints. At this point I'm focusing specifically on the HD3000 graphics controller, but any additional information will be more than welcome.

Many thanks,
Francois

nevcairiel
1st September 2014, 15:35
I don't think you'll find a official document with what you are looking for.
If you want to be sure, stick to High profile Level 4.1, 5.1 is only partially supported on the HD3000 (as UHD resolutions are unsupported). Newer GPUs support UHD resolutions as well and 5.1 should be supported completely.

fvisagie
2nd September 2014, 08:11
If you want to be sure, stick to High profile Level 4.1, 5.1 is only partially supported on the HD3000 (as UHD resolutions are unsupported).

In fact, testing on the HD3000 shows all levels from and including 3.1 are only partially supported (for a very few "well-known" dimensions only). Videos with other dimensions can be played back in some cases, but only with non-standard maxDPB for the given level and dimensions. This non-standard level- and dimension-specific maxDPB number must be found by trial and error, hence my wish for a specification!

On the HD3000 level 5.1 playback only works if the level check is also skipped.

foxyshadis
2nd September 2014, 22:37
Do you have a few known results? You might be able to figure out the hard memory limits that way. That, or they just didn't care. So far I don't think anyone's done that and I know they've never released one, aside from bragging about their maximum.

fvisagie
3rd September 2014, 08:34
That would be grand! Attached are the results so far.

http://forum.doom9.org/attachment.php?attachmentid=14346&stc=1&d=1409729360

How would the calculation go?

vivan
3rd September 2014, 12:39
What decoder are you using?
I know that there're problems (corruption) with some decoders (e.g. Flash) when using DXVA, LAV had this problems too but they were fixed and since then it can decode 1080p with 16 ref without any problems.
0.54.1 - 2012/11/27

LAV Video
- Improved H.264 DXVA on recent Intel GPUs (Sandy/Ivy Bridge and newer Atoms)
- Fixed corruption with high number of reference frames ( > 11 )

nevcairiel
3rd September 2014, 15:10
I was about to ask the same thing, your results look like you're using an old decoder which uses the limited Intel-specific DXVA2 device, which was required for pre-SNB GPUs. As of Sandy Bridge, Intel supports the default Microsoft DXVA2 device for H.264, which supports much more configurations.
The change mentioned above did just that, support using the standard device on newer Intel systems.

fvisagie
3rd September 2014, 16:11
I was about to ask the same thing, your results look like you're using an old decoder

I'll look into this, thanks. I'm using the internal H264/AVC (DXVA) decoder of a fairly old (1.6.3.5818 (2320902)) MPC-HC build.

@foxyshadis,

I'd still be very much interested in suggestions for figuring out the memory limits. Even if a more recent decoder lifts some limits, I'd still prefer to be able to calculate the remaining ones from available test points. Thanks in advance.

fvisagie
3rd September 2014, 17:31
I was about to ask the same thing, your results look like you're using an old decoder

I'll look into this, thanks. I'm using the internal H264/AVC (DXVA) decoder of a fairly old (1.6.3.5818 (2320902)) MPC-HC build.


That did the trick. Well-spotted and thanks, guys. I had a look in the MPC-HC change logs before the upgrade and saw the DXVA-related improvements you mention.

Just a question, under "Hardware Decoder to use" the latest MPC-HC release H264/AVC decoder lists Intel QuickSync, amongst others. As far as I know, that's an encoder, whereas the corresponding decoder is Clear Video. Or is "Intel Clear Video" actually meant here, in which case it would be even more confusing: my i5-2540M HD3000 system definitely supports Clear Video, but when choosing Intel QuickSync the status indicator next to the drop-down list changes to "Not available"?

sneaker_ger
3rd September 2014, 17:54
Is your driver outdated?

nevcairiel
3rd September 2014, 18:10
The QuickSync decoder requires a recent full driver package, ie. most importantly not a driver from Windows Update, but a driver package directly obtained from intel.com
For the naming, an Intel employee wrote that decoder and named it that way. Blame him =)

Also, as a general note, it should generally produce the same results as the DXVA2 decoders. If not, I consider that a bug (since I'm the author/maintainer of the new decoder shipped with MPC-HC)

foxyshadis
3rd September 2014, 22:26
I'll look into this, thanks. I'm using the internal H264/AVC (DXVA) decoder of a fairly old (1.6.3.5818 (2320902)) MPC-HC build.

@foxyshadis,

I'd still be very much interested in suggestions for figuring out the memory limits. Even if a more recent decoder lifts some limits, I'd still prefer to be able to calculate the remaining ones from available test points. Thanks in advance.

Your results don't make a lot of sense, maxing out anywhere from 8.5MB to 12MB when you add everything up. Well, that must be an artifact of the Intel-specific DXVA nev is talking about. x264 would use extra ref frames with b-frames before 2009, but as far as I know it never does anymore.

fvisagie
4th September 2014, 12:58
@sneaker_ger and nevcairiel,

My driver is indeed a 2011/06/10 version, thanks for picking that up.

@foxyshadis,

Thanks for your trouble, much appreciated.