Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- D3D11 Renderer: now has almost the same features as OpenGL renderer - HDR tone mapping support - Support UWP. `ICoreWindow` or `ISwapchainPanel` can be used as the surface of `Player.updateNativeSurface()` - Zero copy rendering for hardware decoders, including d3d11, dxva2 and cuda based decoders. - Add env vars "SWAPCHAIN_BUFFERS", "DXGI_ADAPTER_RENDER" and "GPU_DEBUG" to control swap chain buffers adapter index and debug layer - Support feature level 9.1~12.1(default), controlled by env "D3D_FEATURE_LEVEL_RENDER" - Save and restore pipeline states before and after rendering - Support foreign context provided by user via `Player.setRenderAPI()`, `D3D11RenderAPI.context` and `D3D11RenderAPI.rtv` must be provided - Remove restriction of calling `Player.setRenderAPI()` before any other apis have `vo_opaque` parameter. `updateNativeSurface()` still have to be called after `setRenderAPI()` - Support more pixel formats, including nv12, p010 etc. Packed formats with 3 channels are not supported by d3d11 without cpu convertion, leaves them as unsupported. - MFT: decoder device feature level can be set by property "feature_level" - Reduce cpu load on pause - Range loop: fix seek to A failure - macOS: - Fix ui apis called on non-ui thread when creating CGL context(crash on macOS 10.15+) - Weak link to libffmpeg.4.dylib because macOS 10.15+ disallow dlopen. also can be replaced by user provided ffmpeg libraries(avutil, avcodec etc.) at runtime via `SetGlobalOption("avutil", (void*)handle)` - FFmpeg: - Set ffmpeg module handle via `SetGlobalOption("name", (void*)handle)`, where name is avutil, avcodec, avformat etc. - Fix crash if custom ffmpeg libraries are not complete. Required modules are "avutil", "avformat", "avcodec" - D3D11 decoder improve - Fix VAAPI seek crash cause by wrong ref count
- Loading branch information