H.264 hardware decode weirdness
-
Hello *,
I've a notebook with a Intel HD4000 iGPU and a Nvidia 610m dGPU (Optimus Tech - latest available drivers for my hardware installed), Win 10 Home.
In Win 10 "Graphic settings" I've set Vivaldi in a way it uses Nvidia 610m and in Vivaldi://flags I've enabled "Override software rendering list" and "GPU rasterization". Infact in vivaldi://gpu I see:
Mod Edit: Added code tags
Graphics Feature Status Canvas: Hardware accelerated Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Out-of-process Rasterization: Disabled Hardware Protected Video Decode: Hardware accelerated Rasterization: Hardware accelerated Skia Deferred Display List: Disabled Skia Renderer: Disabled Surface Synchronization: Enabled Video Decode: Hardware accelerated Viz Service Display Compositor: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use decode_encode_srgb_for_generatemipmap disable_delayed_copy_nv12 disable_discard_framebuffer disable_framebuffer_cmaa exit_on_context_lost force_cube_complete scalarize_vec_and_mat_constructor_args disabled_extension_GL_KHR_blend_equation_advanced disabled_extension_GL_KHR_blend_equation_advanced_coherent Problems Detected Some drivers are unable to reset the D3D device in the GPU process sandbox Applied Workarounds: exit_on_context_lost Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Always rewrite vec/mat constructors to be consistent: 398694 Applied Workarounds: scalarize_vec_and_mat_constructor_args ANGLE crash on glReadPixels from incomplete cube map texture: 518889 Applied Workarounds: force_cube_complete Framebuffer discarding can hurt performance on non-tilers: 570897 Applied Workarounds: disable_discard_framebuffer Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198 Applied Workarounds: disable_framebuffer_cmaa Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent) Decode and Encode before generateMipmap for srgb format textures on Windows: 634519 Applied Workarounds: decode_encode_srgb_for_generatemipmap Delayed copy NV12 displays incorrect colors on NVIDIA drivers.: 728670 Applied Workarounds: disable_delayed_copy_nv12 Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Viz service display compositor is not enabled by default. Disabled Features: viz_display_compositor Skia renderer is not used by default. Disabled Features: skia_renderer Skia deferred display list is not used by default. Disabled Features: skia_deferred_display_list Operating system Windows NT 10.0.17134 Software rendering list URL https://chromium.googlesource.com/chromium/src/+/9b2ff69dbecc420197a07a2e28ef5cc7b92ed5bf/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/9b2ff69dbecc420197a07a2e28ef5cc7b92ed5bf/gpu/config/gpu_driver_bug_list.json ANGLE commit id unknown hash 2D graphics backend Skia/70 8adc53ec0ee4bbafbd9925024df38437c0fcf88a- Command Line "C:\Users\Gianluca\AppData\Local\Vivaldi\Application\vivaldi.exe" --flag-switches-begin --enable-gpu-rasterization --ignore-gpu-blacklist --flag-switches-end Driver Information Initialization time 294 In-process GPU false Passthrough Command Decoder false Sandboxed true GPU0 VENDOR = 0x8086, DEVICE= 0x0166 GPU1 VENDOR = 0x10de, DEVICE= 0x1058 *ACTIVE* Optimus false AMD switchable false Desktop compositing Aero Glass Direct Composition true Supports overlays false Overlay capabilities Diagonal Monitor Size of \\.\DISPLAY1 15.5" Driver D3D12 feature level Not supported Driver Vulkan API version Not supported Driver vendor NVIDIA Driver version 391.35 Driver date 3-23-2018 GPU CUDA compute capability major version 0 Pixel shader version 5.0 Vertex shader version 5.0 Max. MSAA samples 8 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER ANGLE (NVIDIA GeForce 610M Direct3D11 vs_5_0 ps_5_0) GL_VERSION OpenGL ES 2.0 (ANGLE 2.1.0.unknown hash) GL_EXTENSIONS GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object OES_compressed_EAC_R11_signed_texture OES_compressed_EAC_R11_unsigned_texture OES_compressed_EAC_RG11_signed_texture OES_compressed_EAC_RG11_unsigned_texture OES_compressed_ETC2_RGB8_texture OES_compressed_ETC2_RGBA8_texture OES_compressed_ETC2_punchthroughA_RGBA8_texture OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture OES_compressed_ETC2_sRGB8_alpha8_texture OES_compressed_ETC2_sRGB8_texture Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Disabled WebGL Extensions Window system binding vendor Google Inc. (adapter LUID: 0000000000009dab) Window system binding version 1.4 (ANGLE 2.1.0.unknown hash) Window system binding extensions EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled Direct rendering Yes Reset notification strategy 0x8252 GPU process crash count 0 Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only R_16 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 GPU_READ, SCANOUT RGBA_8888 GPU_READ, SCANOUT BGRX_8888 Software only BGRX_1010102 Software only RGBX_1010102 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only Display(s) Information Info Display[2528732444] bounds=[0,0 1366x768], workarea=[0,0 1366x738], scale=1, external. Color space information {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL} Bits per color component 8 Bits per pixel 24 Video Acceleration Information Decode h264 baseline up to 4096x2304 pixels Decode h264 baseline up to 2304x4096 pixels Decode h264 main up to 4096x2304 pixels Decode h264 main up to 2304x4096 pixels Decode h264 high up to 4096x2304 pixels Decode h264 high up to 2304x4096 pixels Encode h264 baseline up to 3840x2176 pixels and/or 30.000 fps Encode h264 main up to 3840x2176 pixels and/or 30.000 fps Encode h264 high up to 3840x2176 pixels and/or 30.000 fps Diagnostics 0 b3DAccelerationEnabled true b3DAccelerationExists true bAGPEnabled true bAGPExistenceValid true bAGPExists true bCanRenderWindow true bDDAccelerationEnabled true bDriverBeta false bDriverDebug false bDriverSigned false bDriverSignedValid false bNoHardware false dwBpp 32 dwDDIVersion 11 dwHeight 768 dwRefreshRate 60 dwWHQLLevel 0 dwWidth 1366 iAdapter 0 lDriverSize 11158160 lMiniVddSize 0 szAGPStatusEnglish Enabled szAGPStatusLocalized Attivata szChipType Intel(R) HD Graphics Family szD3DStatusEnglish Enabled szD3DStatusLocalized Attivata szDACType Internal szDDIVersionEnglish 11.2 szDDIVersionLocalized 11.2 szDDStatusEnglish Enabled szDDStatusLocalized Attivata szDXVAHDEnglish Supported szDXVAModes ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C szDescription Intel(R) HD Graphics 4000 szDeviceId 0x0166 szDeviceIdentifier {D7B71E3E-5318-11CF-5C50-5A341BC2DA35} szDeviceName \\.\DISPLAY1 szDisplayMemoryEnglish 1792 MB szDisplayMemoryLocalized 1792 MB szDisplayModeEnglish 1366 x 768 (32 bit) (60Hz) szDisplayModeLocalized 1366 x 768 (32 bit) (60Hz) szDriverAssemblyVersion 10.18.10.4653 szDriverAttributes Final Retail szDriverDateEnglish 07/04/2017 01:00:00 szDriverDateLocalized 4/7/2017 01:00:00 szDriverLanguageEnglish English szDriverLanguageLocalized Inglese szDriverModelEnglish WDDM 1.3 szDriverModelLocalized WDDM 1.3 szDriverName igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll szDriverNodeStrongName oem49.inf:5f63e5341859ec8c:iIVBM_w10:10.18.10.4653:pci\ven_8086&dev_0166 szDriverSignDate Unknown szDriverVersion 10.18.0010.4653 szKeyDeviceID Enum\PCI\VEN_8086&DEV_0166&SUBSYS_14571043&REV_09 szKeyDeviceKey \Registry\Machine\System\CurrentControlSet\Control\Video\{8CCFE493-5219-11E8-BA3C-DF22ADEFBC23}\0000 szManufacturer Intel Corporation szMiniVdd Sconosciuto szMiniVddDateEnglish Unknown szMiniVddDateLocalized Sconosciuto szMonitorMaxRes Unknown szMonitorName Generic PnP Monitor szNotesEnglish No problems found. szNotesLocalized Nessun problema riscontrato. szOverlayEnglish Not Supported szRankOfInstalledDriver 00D12001 szRegHelpText Unknown szRevision Unknown szRevisionId 0x0009 szSubSysId 0x14571043 szTestResultD3D7English Not run szTestResultD3D7Localized Non eseguito szTestResultD3D8English Not run szTestResultD3D8Localized Non eseguito szTestResultD3D9English Not run szTestResultD3D9Localized Non eseguito szTestResultDDEnglish Not run szTestResultDDLocalized Non eseguito szVdd Sconosciuto szVendorId 0x8086 1 b3DAccelerationEnabled true b3DAccelerationExists false bAGPEnabled true bAGPExistenceValid false bAGPExists false bCanRenderWindow false bDDAccelerationEnabled true bDriverBeta false bDriverDebug false bDriverSigned false bDriverSignedValid false bNoHardware false dwBpp 0 dwDDIVersion 0 dwHeight 0 dwRefreshRate 0 dwWHQLLevel 0 dwWidth 0 iAdapter 0 lDriverSize 949016 lMiniVddSize 0 szAGPStatusEnglish Enabled szAGPStatusLocalized Attivata szChipType GeForce 610M szD3DStatusEnglish Not Available szD3DStatusLocalized Non disponibile szDACType Integrated RAMDAC szDDIVersionEnglish unknown szDDIVersionLocalized Sconosciuto szDDStatusEnglish Enabled szDDStatusLocalized Attivata szDXVAHDEnglish Unknown szDXVAModes Unknown szDescription NVIDIA GeForce 610M szDeviceId 0x1058 szDeviceIdentifier Unknown szDeviceName Unknown szDisplayMemoryEnglish Unknown szDisplayMemoryLocalized Sconosciuto szDisplayModeEnglish Unknown szDisplayModeLocalized Sconosciuto szDriverAssemblyVersion 23.21.13.9135 szDriverAttributes Final Retail szDriverDateEnglish 23/03/2018 01:00:00 szDriverDateLocalized 3/23/2018 01:00:00 szDriverLanguageEnglish English szDriverLanguageLocalized Inglese szDriverModelEnglish WDDM 2.3 szDriverModelLocalized WDDM 2.3 szDriverName C:\WINDOWS\System32\DriverStore\FileRepository\nvami.inf_amd64_1474122a0ce2f241\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvami.inf_amd64_1474122a0ce2f241\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvami.inf_amd64_1474122a0ce2f241\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvami.inf_amd64_1474122a0ce2f241\nvldumdx.dll szDriverNodeStrongName oem35.inf:0f066de3ca8d2e52:Section026:23.21.13.9135:pci\ven_10de&dev_1058&subsys_14571043 szDriverSignDate Unknown szDriverVersion 23.21.0013.9135 szKeyDeviceID Enum\PCI\VEN_10DE&DEV_1058&SUBSYS_14571043&REV_A1 szKeyDeviceKey Unknown szManufacturer NVIDIA szMiniVdd Sconosciuto szMiniVddDateEnglish Unknown szMiniVddDateLocalized Sconosciuto szMonitorMaxRes Unknown szMonitorName Unknown szNotesEnglish No problems found. szNotesLocalized Nessun problema riscontrato. szOverlayEnglish Unknown szRankOfInstalledDriver 00D10001 szRegHelpText Unknown szRevision Unknown szRevisionId 0x00A1 szSubSysId 0x14571043 szTestResultD3D7English Not run szTestResultD3D7Localized Non eseguito szTestResultD3D8English Not run szTestResultD3D8Localized Non eseguito szTestResultD3D9English Not run szTestResultD3D9Localized Non eseguito szTestResultDDEnglish Not run szTestResultDDLocalized Non eseguito szVdd Sconosciuto szVendorId 0x10DE
If I play a h.264 video on Youtube (or I use h264ify on the same site), like this:
https://www.youtube.com/watch?v=nH34gErxr6s
I can see in Win 10 Activity manager (or GPUz utility) that the hardware video decode is used and CPU use is lower.
Instead, on any other website, like this:
http://www.html5videoplayer.net/html5video/mp4-h-264-video-test/
the hardware decode isn't used and CPU usage is higher.
On these websites I see in vivaldi://media-internals:
00:00:01 218 info Selected **PassThroughVideoDecoder for video decoding**, config: codec: h264 format: 2 profile: h264 main coded size: [560,360] visible rect: [0,0,560,360] natural size: [560,361] has extra data? true encryption scheme: Unencrypted rotation: 0° 00:00:01 218 pipeline_state kPlaying 00:00:01 245 **info video decoder config changed midstream, new config: codec: h264** format: 2 profile: h264 main coded size: [560,368] visible rect: [0,0,560,360] natural size: [560,369] has extra data? true encryption scheme: Unencrypted rotation: 0°
while on youtube "GPUvideodecoder" is selected and used.
I'm not so expert to understand these esoteric things, but:
In Opera, Firefox, Brave and Pale moon browser Nvidia h.264 hardware decode works on whatever website, while in Vivaldi works only on Youtube.
This issue is driving me crazy. I must understand if it's a Vivaldi bug. Warning: Microsoft Edge and Internet explorer don't use GPU acceleration nowhere even if I've set them to use it, but I don't know if it's a different issue.
Any idea or suggestions?
-
I forgot telling I'm using Vivaldi 2.1.1337.47 (Stable channel) (a 32 bit)
-
@Gwen-Dragon I'm sure Nvidia is used because its fan ramps up while doing video decoding for more than 10 minutes.
I've tested it via software too (win 10 task manager and DXVA checker) and when the fan works, the software says hardware decoding is used.
However, I've discovered that my GPU supports D3d11 hardware acceleration only and not DXVA 1.0/2.0/HD.
Vivaldi and MS Edge don't like this fact, while Firefox, Pale Moon, Chrome; Chromium, Opera and Brave browser hardware accelerate any video with which I feed them.
I've learned that browsers have several different ways to manage videos (proprietary codecs, open source codecs, OS codecs...) and each one has its own bugs.
Sincerely, life is too short to spent it by testing 8 browser video hardware decoding systems. :face_with_stuck-out_tongue_closed_eyes:
-
@Gwen-Dragon I'll check again this bug on Vivaldi 2.2 stable when I will check the mouse gesture tab closing crash too. If they will persist, I will file the bug reports.
-
I've just filed the bug for Vivaldi 2.2: VB-47200.
Well, I'd like to know if this issue is really a Vivaldi bug or a problem with Windows DXVA APIs missing support from my GPU.
It wouldn't change the final result, but at least I'd know whose the fault is.
-
I am having this same issue 2.5 years later!
-
@bluebird17x You are having what? With less information nobody can help.
-
@doctorg Vivaldi is not using hardware decoding. I made a post about it:
https://forum.vivaldi.net/topic/65525/vivaldi-not-using-hardware-decoding -
Ppafflick moved this topic from Vivaldi for Windows on