Skip to content

Release Version 0.6.0

Compare
Choose a tag to compare
@wang-bin wang-bin released this 02 Dec 02:15
· 159 commits to master since this release
  • 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