Skip to content

Commit

Permalink
release 0.6.0
Browse files Browse the repository at this point in the history
- 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
wang-bin committed Dec 2, 2019
1 parent 9e66527 commit 86bcf15
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

[Nightly Build SDK](https://sourceforge.net/projects/mdk-sdk/files/nightly/)

Install via [NuGet](https://www.nuget.org/packages/mdk) in Visual Studio
Install via [NuGet](https://www.nuget.org/packages/mdk) in Visual Studio for both Windows desktop and UWP

[Changelog](https://github.com/wang-bin/mdk-sdk/blob/master/Changelog.md)

## Features
- Simple and powerful API set
- Cross platform: Windows, UWP, Linux, macOS, Android, iOS, Raspberry Pi
- Hardware accelerated decoding and 0-copy GPU rendering for all platforms
- OpenGL rendering w/ or w/o user provided context
- Ingegrated with any gui toolkits via OpenGL (Qt, SDL, glfw, SFML etc.) easily
- OpenGL and D3D11 rendering w/ or w/o user provided context
- Ingegrated with any gui toolkits or apps via OpenGL and D3D11 (OBS, Qt, SDL, glfw, SFML etc.) easily
- Seamless/Gapless media and bitrate switch for any media
- User configurable FFmpeg libraries at runtime
- HDR rendering in GPU
Expand All @@ -35,6 +37,7 @@ https://github.com/wang-bin/mdk-sdk/wiki/TODO

## Open Source Modules and Examples
- MFT decoder module: https://github.com/wang-bin/mdk-mft
- obs plugin: https://github.com/wang-bin/obs-mdk
- examples for different platforms and gui toolkits: https://github.com/wang-bin/mdk-examples
- as a qtmultimedia plugin: https://github.com/wang-bin/qtmultimedia-plugins-mdk
- GFX surface: https://github.com/wang-bin/ugs
Expand Down

0 comments on commit 86bcf15

Please sign in to comment.