StaZhu / enable-chromium-hevc-hardware-decoding

A guide that teach you enable hardware HEVC decoding & encoding for Chrome / Edge, or build a custom version of Chromium / Electron that supports hardware & software HEVC decoding and hardware HEVC encoding.
MIT License
1.19k stars 58 forks source link

NVIDIA最新驱动似乎已经添加 hevc main12 解码,能否支持? #78

Closed lns103 closed 2 weeks ago

lns103 commented 1 month ago

Windows 11 24H2 26100.1301 驱动版本 560.81 DEFINE_GUID(DXVA_ModeHEVC_VLD_Main12, 0x1a72925f, 0x0c2c, 0x4f15, 0x96, 0xfb, 0xb1, 0x7d, 0x14, 0x73, 0x60, 0x3f); image

StaZhu commented 1 month ago

24H2还是测试版吧,Chromium的SDK目前还没法引用24H2的GUID。

另外,Chrome现在依赖Video Processor去把Y416,Y410,Y216,Y210转到RGB10A2,如果不支持VP光能解码没用(Intel他们家都支持,NVIDIA就不好说了。。。),你可以点一下第二个面板“Processor Device”,切到“D3D11”:

image

看看D3D11选项面板支持的哪些格式的VP,截个图发过来。

lns103 commented 1 month ago

屏幕截图 2024-08-12 013051 IMG_20240812_013212

StaZhu commented 1 month ago

看图里这样子,是不支持我说的那几种像素格式转换的,Chromium想支持会非常麻烦。

StaZhu commented 3 weeks ago

I just installed Windows11 24H2 26100.1150 today, and confirmed that when using RTX3050 I could see the HEVC main12 GUID, but the question is, HEVC main12 is a 12bit 4:2:0 format, and it seems this GUID can only output P010 instead of P016, so NVIDIA sucks again.

img_v3_02ds_1bab4855-735c-4d49-b23d-29694f913ehu

I also don't see the expected main10 4:4:4 and main12 4:4:4 GUID, so its useless to only support main12 4:2:0. Most people would use HEVC rext only if they need 4:2:2/4:4:4 support, it make no sense to support the new GUID for now.

I can see these new GUID appears on my Intel A380 though:

  1. DXVA_ModeHEVC_VLD_Main_444
  2. DXVA_ModeHEVC_VLD_Main10_Ext
  3. DXVA_ModeHEVC_VLD_Main10_422
  4. DXVA_ModeHEVC_VLD_Main10_444
  5. DXVA_ModeHEVC_VLD_Main12
  6. DXVA_ModeHEVC_VLD_Main12_422
  7. DXVA_ModeHEVC_VLD_Main12_444

img_v3_02ds_bb5d3855-92e0-4b7c-887b-588c89ed46hu

But again, the question is: if nvidia doesn't support those new 4:2:2/4:4:4 guid, then the existing guid for intel should be enough.

Let just wait if NVIDIA could add 4:2:2/4:4:4 GUID with proper VideoProcessor support, at least for now we can do nothing.

StaZhu commented 2 weeks ago

Will not support 12bit 4:2:0 unless NVIDIA support 12bit 4:4:4.