Skip to content

Commit bbb4b7a

Browse files
committed
version 0.21.0
- New D3D12 renderer via `D3D12RenderAPI`. Support all decoders. Performance is similar to D3D11. Optimal texture upload for iGPU, env var "GPU_OPTIMAL_UPLOAD=0" can disale optimal upload to compare performance. You can try [Qt6 QML example](https://github.com/wang-bin/mdk-examples/blob/master/Qt/qmlrhi/VideoTextureNodePub.cpp#L143) or `./glfwplay -d3d12 video_file`. - D3D11: - Texture upload optimize for iGPU on win10. env var "GPU_OPTIMAL_UPLOAD", significantly reduce vram usage, about 50~70%, and even more for compressed textures. Software decoders and built-in hap decoder will benifit from it. - Cache shader binaries - Fix crash on win7 if default swapchain format is not supported - DRM Prime: - Auto detect external texture requirements via modifiers - Fix fd leak in 0.20.0 - Support reusing EGLImage to improve performance via global option `SetGlobalOption("eglimage.reuse", 1)`, or decoder option `reuse=1`. Known to work for raspberry pi. - Vulkan: - Fix `snapshot()` error, a regression in previous release - Fix a crash for Hap videos - Metal: - Fix BC3CoCgSY - Support BC formats for iOS 16.4+ - OpenGL: Fix deleting queries without a context, fix potential leaks - MFT: - Supports `d3d=12` option to enable d3d12 decoding. Currently 0-copy renderer is only D3D12, requires `copy=1` option to be used in other renderers. - `d3d=11` is default - Fallback to lower d3d version or software decoder if open error. So now using `MFT` without option as decoder name is enough. - Fix decode error on win7 - VAAPI: - [Support windows](https://devblogs.microsoft.com/directx/video-acceleration-api-va-api-now-available-on-windows), backend is d3d12 decoder. Currently only supported by D3D12 renderer 0-copy rendering, or use `copy=1` option for other renderers. Requires dlls from https://www.nuget.org/packages/Microsoft.Direct3D.VideoAccelerationCompatibilityPack can be found by `LoadLibrary()` - Fix render error because of drm fd leak - Raspberry Pi 3/4: - Perfectly support h264, hevc hardware decoder and 0-copy rendering in Raspberry Pi OS via `Player.setDecoders(MediaType::Video, {"V4L2M2M","FFmpeg:hwcontext=drm"})`. System ffmpeg is required, MUST delete libffmpeg.so.* in mdk sdk package. May also work with https://github.com/jc-kynesim/rpi-ffmpeg . EGL + OpenGL ES2/3 is recommended by hevc. You can test with `./glfwplay -c:v V4L2M2M,FFmpeg:hwcontext=drm -gl test.mp4` - Android: - AMediaCodec video decoder enable `image=1` option by default, lower latency - Fix acquiring AImage when it's not ready - Fix jni env detach - Add `low_latency` option for AMediaCodec video decoder, default is 0. requires api level 30+ - Fix alpha value for opaque formats in all renderers - Enable `SeekFlag::InCache` for `Default` flag - Support programs, add `MediaInfo.program`. `setActiveTracks(MediaType::Unknown, {N})` will select Nth program and it's audio/video tracks will be active. Useful for mpegts programs - Add `SubtitleStreamInfo.metadata`, subtitle(and other streams) language is `metadata["language"]` - New pixel formats supported by dx, drm - Fix a/v sync if audio duration is a lot less than video - Fix BRAW seek - FFmpeg: - Improve abi compatibility, better support ffmpeg 4.x and 5.x
1 parent 239507a commit bbb4b7a

8 files changed

+81
-20
lines changed

Changelog.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,49 @@
11
Change log:
22

3+
0.21.0 - 2023-05-31
4+
5+
- New D3D12 renderer via `D3D12RenderAPI`. Support all decoders. Performance is similar to D3D11. Optimal texture upload for iGPU, env var "GPU_OPTIMAL_UPLOAD=0" can disale optimal upload to compare performance. You can try [Qt6 QML example](https://github.com/wang-bin/mdk-examples/blob/master/Qt/qmlrhi/VideoTextureNodePub.cpp#L143) or `./glfwplay -d3d12 video_file`.
6+
- D3D11:
7+
- Texture upload optimize for iGPU on win10. env var "GPU_OPTIMAL_UPLOAD", significantly reduce vram usage, about 50~70%, and even more for compressed textures. Software decoders and built-in hap decoder will benifit from it.
8+
- Cache shader binaries
9+
- Fix crash on win7 if default swapchain format is not supported
10+
- DRM Prime:
11+
- Auto detect external texture requirements via modifiers
12+
- Fix fd leak in 0.20.0
13+
- Support reusing EGLImage to improve performance via global option `SetGlobalOption("eglimage.reuse", 1)`, or decoder option `reuse=1`. Known to work for raspberry pi.
14+
- Vulkan:
15+
- Fix `snapshot()` error, a regression in previous release
16+
- Fix a crash for Hap videos
17+
- Metal:
18+
- Fix BC3CoCgSY
19+
- Support BC formats for iOS 16.4+
20+
- OpenGL: Fix deleting queries without a context, fix potential leaks
21+
- MFT:
22+
- Supports `d3d=12` option to enable d3d12 decoding. Currently 0-copy renderer is only D3D12, requires `copy=1` option to be used in other renderers.
23+
- `d3d=11` is default
24+
- Fallback to lower d3d version or software decoder if open error. So now using `MFT` without option as decoder name is enough.
25+
- Fix decode error on win7
26+
- VAAPI:
27+
- [Support windows](https://devblogs.microsoft.com/directx/video-acceleration-api-va-api-now-available-on-windows), backend is d3d12 decoder. Currently only supported by D3D12 renderer 0-copy rendering, or use `copy=1` option for other renderers. Requires dlls from https://www.nuget.org/packages/Microsoft.Direct3D.VideoAccelerationCompatibilityPack can be found by `LoadLibrary()`
28+
- Fix render error because of drm fd leak
29+
- Raspberry Pi 3/4:
30+
- Perfectly support h264, hevc hardware decoder and 0-copy rendering in Raspberry Pi OS via `Player.setDecoders(MediaType::Video, {"V4L2M2M","FFmpeg:hwcontext=drm"})`. System ffmpeg is required, MUST delete libffmpeg.so.* in mdk sdk package. May also work with https://github.com/jc-kynesim/rpi-ffmpeg . EGL + OpenGL ES2/3 is recommended by hevc. You can test with `./glfwplay -c:v V4L2M2M,FFmpeg:hwcontext=drm -gl test.mp4`
31+
- Android:
32+
- AMediaCodec video decoder enable `image=1` option by default, lower latency
33+
- Fix acquiring AImage when it's not ready
34+
- Fix jni env detach
35+
- Add `low_latency` option for AMediaCodec video decoder, default is 0. requires api level 30+
36+
- Fix alpha value for opaque formats in all renderers
37+
- Enable `SeekFlag::InCache` for `Default` flag
38+
- Support programs, add `MediaInfo.program`. `setActiveTracks(MediaType::Unknown, {N})` will select Nth program and it's audio/video tracks will be active. Useful for mpegts programs
39+
- Add `SubtitleStreamInfo.metadata`, subtitle(and other streams) language is `metadata["language"]`
40+
- New pixel formats supported by dx, drm
41+
- Fix a/v sync if audio duration is a lot less than video
42+
- Fix BRAW seek
43+
- FFmpeg:
44+
- Improve abi compatibility, better support ffmpeg 4.x and 5.x
45+
46+
347
0.20.0 - 2023-02-28
448

549
- Support R3D raw videos via R3D SDK. Document: https://github.com/wang-bin/mdk-sdk/wiki/Decoders#r3d
@@ -28,6 +72,7 @@ Change log:
2872
- Support build plugins(braw, r3d) with sdk + abi headers. Add global options "plugins_dir"
2973

3074

75+
3176
0.19.0 - 2022-12-28
3277

3378
- New: support subtitle rendering. Can be embedded or external text/bitmap subtitle tracks. The first embedded subtitle track is enabled by default. Use `setActiveTrack(MediaType::Subtitle, ...)` to switch embedded subtitle track. External subtitle must be explicitly enabled by user via `setMedia(file, MediaType::Subtitle)`, and must call it at some point after main video `setMedia(mainVideoFile)`. Text subtitle is rendered by libass, only windows desktop and macOS prebuilt libass is provided for now. Linux users can install system libass. Text subtitles must be UTF-8 encoded.

README.Linux.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Optional:
4040
- libegl1-mesa: egl context
4141
- libvdpau1: vdpau rendering. (required by ffmpeg decoder)
4242
- libwayland-egl1: wayland surface and egl context support
43+
- libass5~9 to support subtitle
4344
- libopenal1
4445
- libsdl2: sdlplay example
4546

@@ -62,6 +63,11 @@ Optional:
6263
- FFmpeg, VDPAU, VAAPI, CUDA, QSV(not tested), NVDEC
6364
- command line: -c:v decodername
6465

66+
### DRM Prime
67+
RaspberryPi OS system ffmpeg provides hevc and v4l2m2m drm_prime frame output, you can use system ffmpeg(delete libffmpeg.so.* in sdk package) with OpenGLES(desktop GL does not support hevc) contexts created from EGL to get maximum performance. glfwplay option to test: -c:v V4L2M2M,FFmpeg:hwcontext=drm -gl. It's recommend to call `SetGlobalOption("eglimage.reuse", 1)` or decoder option `reuse=1` to get better performance, glfwplay option is `-eglimage.reuse 1`.
68+
69+
RaspberryPi OS rendering performance is poor, you may have to disable log, log to file or minimize terminal to get higher fps, otherwise rendering log may slow down video rendering.
70+
6571
### Examples
6672
GL Context
6773
- Created by MDK: glfwplay -gl:opengl=1, glfwplay -gl:opengl=1:egl=1, glfwplay -gl, mdkplay, x11win

README.WinRT.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
- [Hardware accelerated decoders](https://github.com/wang-bin/mdk-sdk/wiki/Decoders)
99
- [0-copy GPU rendering for all platforms and all renderers(Vulkan is WIP.)](https://github.com/wang-bin/mdk-sdk/wiki/Zero-Copy-Renderer)
1010
- [Dynamic OpenGL](https://github.com/wang-bin/mdk-sdk/wiki/OpenGL-Support-Matrix)
11-
- [OpenGL, D3D11, Vulkan and Metal rendering w/ or w/o user provided context](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
12-
- Integrated with any platform native ui apps, gui toolkits or other apps via [OpenGL, D3D11, Vulkan and Metal](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) ([OBS](https://github.com/wang-bin/obs-mdk), [Flutter](https://github.com/wang-bin/fvp), [Qt](https://github.com/wang-bin/mdk-examples/tree/master/Qt), [SDL](https://github.com/wang-bin/mdk-examples/tree/master/SDL), [GLFW](https://github.com/wang-bin/mdk-examples/tree/master/GLFW), [SFML](https://github.com/wang-bin/mdk-examples/tree/master/SFML) etc.) easily
11+
- [OpenGL, D3D11, D3D12, Vulkan and Metal rendering w/ or w/o user provided context](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
12+
- Integrated with any platform native ui apps, gui toolkits or other apps via [OpenGL, D3D11/12, Vulkan and Metal](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) ([OBS](https://github.com/wang-bin/obs-mdk), [Flutter](https://github.com/wang-bin/fvp), [Qt](https://github.com/wang-bin/mdk-examples/tree/master/Qt), [SDL](https://github.com/wang-bin/mdk-examples/tree/master/SDL), [GLFW](https://github.com/wang-bin/mdk-examples/tree/master/GLFW), [SFML](https://github.com/wang-bin/mdk-examples/tree/master/SFML) etc.) easily
1313
- [HDR display, HDR to SDR and SDR to HDR tone mapping](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#player-setcolorspace-value-void-vo_opaque--nullptr)
1414
- [Seamless/Gapless media and bitrate switch for any media](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#player-setcolorspace-value-void-vo_opaque--nullptr)
1515
- Optimized Continuous seeking. As fast as mpv, but much lower cpu, memory and gpu load. Suitable for [timeline preview](https://github.com/wang-bin/mdk-sdk/wiki/Typical-Usage#timeline-preview)
@@ -46,12 +46,13 @@ Optional:
4646

4747
### [Supported Graphics APIs:](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
4848
- D3D11: recommended
49+
- D3D12
4950
- [OpenGL ES2/3](https://github.com/wang-bin/mdk-sdk/wiki/OpenGL-Support-Matrix): via ANGLE or others. The default if EGL runtime is found.
5051
- Vulkan(No UWP)
5152

5253
### [Supported Decoders:](https://github.com/wang-bin/mdk-sdk/wiki/Decoders)
5354
- [FFmpeg](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#ffmpeg). options: threads=N. e.g. -c:v FFmpeg. -c:v FFmpeg:threads=4
54-
- [MFT](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#mft). options: d3d=0/9/11, pool=0/1. e.g. -c:v MFT(software), -c:v MFT:d3d=11(hardware).
55+
- [MFT](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#mft). options: d3d=0/9/11/12, pool=0/1. e.g. -c:v MFT(software), -c:v MFT:d3d=11(hardware) or MFT:d3d=12.
5556
- [D3D11](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#d3d11): via FFmpeg
5657
- [hap](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#hap)
5758

README.Windows.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
- [Hardware accelerated decoders](https://github.com/wang-bin/mdk-sdk/wiki/Decoders)
1111
- [0-copy GPU rendering for all platforms and all renderers(Vulkan is WIP.)](https://github.com/wang-bin/mdk-sdk/wiki/Zero-Copy-Renderer)
1212
- [Dynamic OpenGL](https://github.com/wang-bin/mdk-sdk/wiki/OpenGL-Support-Matrix)
13-
- [OpenGL, D3D11, Vulkan and Metal rendering w/ or w/o user provided context](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
14-
- Integrated with any platform native ui apps, gui toolkits or other apps via [OpenGL, D3D11, Vulkan and Metal](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) ([OBS](https://github.com/wang-bin/obs-mdk), [Flutter](https://github.com/wang-bin/fvp), [Qt](https://github.com/wang-bin/mdk-examples/tree/master/Qt), [SDL](https://github.com/wang-bin/mdk-examples/tree/master/SDL), [GLFW](https://github.com/wang-bin/mdk-examples/tree/master/GLFW), [SFML](https://github.com/wang-bin/mdk-examples/tree/master/SFML) etc.) easily
13+
- [OpenGL, D3D11, D3D12, Vulkan and Metal rendering w/ or w/o user provided context](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
14+
- Integrated with any platform native ui apps, gui toolkits or other apps via [OpenGL, D3D11/12, Vulkan and Metal](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) ([OBS](https://github.com/wang-bin/obs-mdk), [Flutter](https://github.com/wang-bin/fvp), [Qt](https://github.com/wang-bin/mdk-examples/tree/master/Qt), [SDL](https://github.com/wang-bin/mdk-examples/tree/master/SDL), [GLFW](https://github.com/wang-bin/mdk-examples/tree/master/GLFW), [SFML](https://github.com/wang-bin/mdk-examples/tree/master/SFML) etc.) easily
1515
- [HDR display, HDR to SDR and SDR to HDR tone mapping](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#player-setcolorspace-value-void-vo_opaque--nullptr)
1616
- [Seamless/Gapless media and bitrate switch for any media](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#player-setcolorspace-value-void-vo_opaque--nullptr)
1717
- Optimized Continuous seeking. As fast as mpv, but much lower cpu, memory and gpu load. Suitable for [timeline preview](https://github.com/wang-bin/mdk-sdk/wiki/Typical-Usage#timeline-preview)
@@ -56,13 +56,14 @@ Optional:
5656

5757
### [Supported Graphics APIs:](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
5858
- D3D11: recommended
59+
- D3D12
5960
- [OpenGL(No UWP)](https://github.com/wang-bin/mdk-sdk/wiki/OpenGL-Support-Matrix): via WGL. The default if EGL runtime is not found.
6061
- [OpenGL ES2/3](https://github.com/wang-bin/mdk-sdk/wiki/OpenGL-Support-Matrix): via ANGLE or others. The default if EGL runtime is found.
6162
- Vulkan(No UWP)
6263

6364
### [Supported Decoders:](https://github.com/wang-bin/mdk-sdk/wiki/Decoders)
6465
- [FFmpeg](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#ffmpeg). options: threads=N. e.g. -c:v FFmpeg. -c:v FFmpeg:threads=4
65-
- [MFT](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#mft). options: d3d=0/9/11, pool=0/1. e.g. -c:v MFT(software), -c:v MFT:d3d=11(hardware).
66+
- [MFT](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#mft). options: d3d=0/9/11/12, pool=0/1. e.g. -c:v MFT(software), -c:v MFT:d3d=11(hardware) or MFT:d3d=12.
6667
- [CUDA](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#cuda)(No UWP)
6768
- [D3D11](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#d3d11): via FFmpeg
6869
- [DXVA](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#dxva)(No UWP): via FFmpeg
@@ -72,6 +73,7 @@ Optional:
7273
- [BRAW](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#braw): Blackmagic RAW
7374
- [R3D](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#r3d): R3D RAW
7475
- [hap](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#hap)
76+
- [VAAPI](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#vaapi)
7577

7678
### Examples
7779
gapless playback for any audio and video: mdkplay.exe(or glfwplay.exe/window.exe/sdlplay.exe) file file2 ...

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

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

7-
[Changelog](https://github.com/wang-bin/mdk-sdk/blob/master/Changelog.md).
7+
[Changelog](https://github.com/wang-bin/mdk-sdk/blob/master/Changelog.md).
88
[API](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs)
99

1010
## Features
@@ -14,11 +14,12 @@
1414
- [Hardware accelerated decoders](https://github.com/wang-bin/mdk-sdk/wiki/Decoders)
1515
- [0-copy GPU rendering for all platforms and all renderers(Vulkan is WIP.)](https://github.com/wang-bin/mdk-sdk/wiki/Zero-Copy-Renderer)
1616
- [Dynamic OpenGL](https://github.com/wang-bin/mdk-sdk/wiki/OpenGL-Support-Matrix)
17-
- [OpenGL, D3D11, Vulkan and Metal rendering w/ or w/o user provided context](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
18-
- Integrated with any platform native ui apps, gui toolkits or other apps via [OpenGL, D3D11, Vulkan and Metal](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) ([OBS](https://github.com/wang-bin/obs-mdk), [Flutter](https://github.com/wang-bin/fvp), [Qt](https://github.com/wang-bin/mdk-examples/tree/master/Qt), [SDL](https://github.com/wang-bin/mdk-examples/tree/master/SDL), [GLFW](https://github.com/wang-bin/mdk-examples/tree/master/GLFW), [SFML](https://github.com/wang-bin/mdk-examples/tree/master/SFML) etc.) easily
17+
- [OpenGL, D3D11, D3D12, Vulkan and Metal rendering w/ or w/o user provided context](https://github.com/wang-bin/mdk-sdk/wiki/Render-API)
18+
- Integrated with any platform native ui apps, gui toolkits or other apps via [OpenGL, D3D11/12, Vulkan and Metal](https://github.com/wang-bin/mdk-sdk/wiki/Render-API) ([OBS](https://github.com/wang-bin/obs-mdk), [Flutter](https://github.com/wang-bin/fvp), [Qt](https://github.com/wang-bin/mdk-examples/tree/master/Qt), [SDL](https://github.com/wang-bin/mdk-examples/tree/master/SDL), [GLFW](https://github.com/wang-bin/mdk-examples/tree/master/GLFW), [SFML](https://github.com/wang-bin/mdk-examples/tree/master/SFML) etc.) easily
1919
- [HDR display, HDR to SDR and SDR to HDR tone mapping](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#player-setcolorspace-value-void-vo_opaque--nullptr)
2020
- [Seamless/Gapless media and bitrate switch for any media](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#player-setcolorspace-value-void-vo_opaque--nullptr)
2121
- Optimized Continuous seeking. As fast as mpv, but much lower cpu, memory and gpu load. Suitable for [timeline preview](https://github.com/wang-bin/mdk-sdk/wiki/Typical-Usage#timeline-preview)
22+
- Subtitle rendering, including ass, plain text, bitmap, closed caption
2223
- [Smart FFmpeg runtime, dynamic load, compatible with 4.x~6.x abi](https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime)
2324
- Professional codecs: GPU accelerated [HAP](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#hap) codec rendering, [Blackmagic RAW](https://github.com/wang-bin/mdk-braw), [R3D](https://github.com/wang-bin/mdk-r3d)
2425

README.rpi.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
## MDK: Multimedia Development Kit
2+
3+
**Use generic linux sdk package for raspberry pi3/4 with modern RaspberryPi OS**
4+
25
### [Changelog](https://github.com/wang-bin/mdk-sdk/blob/master/Changelog.md)
36
### [API](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs)
47

@@ -16,7 +19,7 @@
1619
- [Smart FFmpeg runtime, dynamic load, compatible with 4.x~6.x abi](https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime)
1720
- Professional codecs: GPU accelerated [HAP](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#hap) codec rendering, [Blackmagic RAW](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#braw), [R3D](https://github.com/wang-bin/mdk-sdk/wiki/Decoders#r3d)
1821

19-
## About SDK for Raspberry Pi
22+
## About SDK for Legacy Raspberry Pi
2023
SDK is cross built by clang 16.0 with
2124
- cmake toolchain file https://github.com/wang-bin/cmake-tools/blob/master/raspberry-pi.clang.cmake
2225
- sysroot: https://sourceforge.net/projects/avbuild/files/raspberry-pi/raspberry-pi-sysroot.tar.xz/download
@@ -43,14 +46,14 @@ clang >= 9 result dso can not be loaded on rpi1, maybe there is a bug in lld
4346

4447
### Examples
4548
In legacy driver environment, hardware decoder (MMAL, mmal) supports zero copy rendering in GLES2 and has the best performance
46-
- legacy driver gles2: ./mdkplay -c:v MMAL test.mp4
49+
- legacy driver gles2: ./window -c:v MMAL test.mp4
4750

4851

4952
In mesa vc4/6 driver environment(fake/full kms), hardware decoder is available, but zero copy rendering is not
50-
- vc4/6 egl+es2: LD_PRELOAD=libX11.so.6 ./mdkplay -c:v MMAL test.mp4 # if not link against libX11(except weak) or libpulse
51-
- vc4/6 glx: GL_ES=0 LD_PRELOAD=libGL.so.1 ./mdkplay -c:v MMAL test.mp4 # if not link against libGL or libOpenGL
52-
- vc4/6 wayland: ./mdkplay -c:v MMAL test.mp4 # assume weston is running in x11 or CLI mode via weston-launch
53-
- vc4/6 gbm: ./mdkplay -surface gbm -c:v MMAL test.mp4 # assume weston is running # in CLI mode
53+
- vc4/6 egl+es2: LD_PRELOAD=libX11.so.6 ./window -c:v MMAL test.mp4 # if not link against libX11(except weak) or libpulse
54+
- vc4/6 glx: GL_ES=0 LD_PRELOAD=libGL.so.1 ./window -c:v MMAL test.mp4 # if not link against libGL or libOpenGL
55+
- vc4/6 wayland: ./window -c:v MMAL test.mp4 # assume weston is running in x11 or CLI mode via weston-launch
56+
- vc4/6 gbm: ./window -surface gbm -c:v MMAL test.mp4 # assume weston is running # in CLI mode
5457

5558
Tested on rpi1 and rpi3.
5659

0 commit comments

Comments
 (0)