Re: [FFmpeg-devel] [PATCH v10 0/6] Support enhanced flv in FFmpeg

2023-05-31 Thread Steven Liu
Tristan Matthews 于2023年6月1日周四 13:03写道: > > > you can publish hevc, av1 or vp9 codec stream to Youtube over rtmp. > > Were you able to push av1 or vp9 to Youtube with this patchset alone? I've tested push them after after this patchset, do you mean you get some problems after this patchset? Thank

Re: [FFmpeg-devel] [PATCH v10 0/6] Support enhanced flv in FFmpeg

2023-05-31 Thread Tristan Matthews
> you can publish hevc, av1 or vp9 codec stream to Youtube over rtmp. Were you able to push av1 or vp9 to Youtube with this patchset alone? Best, -t On Wed, May 31, 2023 at 8:03 PM Steven Liu wrote: > > Neal Gompa 于2023年5月31日周三 13:47写道: > > > > On Mon, May 15, 2023 at 10:41 PM Neal Gompa wrot

Re: [FFmpeg-devel] [PATCH 1/2] avcodec/lcldec: Make PNG filter addressing match the code afterwards

2023-05-31 Thread James Almer
On 5/31/2023 9:26 PM, Michael Niedermayer wrote: Also update check accordingly Fixes: tickets/10237/mszh_306_306_yuv422_nocompress.avi Fixes: tickets/10237/mszh_306_306_yuv411_nocompress.avi Signed-off-by: Michael Niedermayer --- libavcodec/lcldec.c | 9 ++--- 1 file changed, 6 inser

[FFmpeg-devel] [PATCH 2/2] tools/target_dec_fuzzer: Adjust threshold for QPEG

2023-05-31 Thread Michael Niedermayer
Fixes: Timeout Fixes: 59332/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QPEG_fuzzer-6292824736530432 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- tools/target_dec_fuzzer.c | 1 + 1 file changed,

[FFmpeg-devel] [PATCH 1/2] avcodec/lcldec: Make PNG filter addressing match the code afterwards

2023-05-31 Thread Michael Niedermayer
Also update check accordingly Fixes: tickets/10237/mszh_306_306_yuv422_nocompress.avi Fixes: tickets/10237/mszh_306_306_yuv411_nocompress.avi Signed-off-by: Michael Niedermayer --- libavcodec/lcldec.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/lcldec

Re: [FFmpeg-devel] [PATCH v10 0/6] Support enhanced flv in FFmpeg

2023-05-31 Thread Steven Liu
Neal Gompa 于2023年5月31日周三 13:47写道: > > On Mon, May 15, 2023 at 10:41 PM Neal Gompa wrote: > > > > On Mon, May 15, 2023 at 4:32 AM Steven Liu wrote: > > > > > > Reference file: > > > https://github.com/veovera/enhanced-rtmp/blob/main/enhanced-rtmp-v1.pdf > > > The Enhanced flv has been supported

Re: [FFmpeg-devel] [PATCH 19/23] fftools/ffmpeg: stop explicitly closing output streams on input EOF

2023-05-31 Thread Michael Niedermayer
On Wed, May 31, 2023 at 04:54:49PM +0200, Anton Khirnov wrote: > Sending an empty packet already does that implicitly. > --- > fftools/ffmpeg.c | 1 - > 1 file changed, 1 deletion(-) seems to infinite loop this: ffmpeg -y -threads:a 1 -i /home/michael/tickets//1208/702121h264-TTA.mkvtest82.mkv

Re: [FFmpeg-devel] [PATCH v2 2/9] avcodec: add D3D12VA hardware accelerated H264 decoding

2023-05-31 Thread Michael Niedermayer
On Wed, May 31, 2023 at 11:07:15AM +0800, Tong Wu wrote: > From: Wu Jianhua > > The implementation is based on: > https://learn.microsoft.com/en-us/windows/win32/medfound/direct3d-12-video-overview > > With the Direct3D 12 video decoding support, we can render or process > the decoded images by

Re: [FFmpeg-devel] [PATCH] avformat/rtcenc: Add WHIP muxer support for subsecond latency streaming

2023-05-31 Thread Derek Buitenhuis
Hello, quick skim below, followe by some waffling at the end. I have not bothere to mention any code style nits, to keep it technical. On 5/29/2023 12:50 PM, Steven Liu wrote: > @@ -3483,6 +3483,7 @@ ogg_demuxer_select="dirac_parse" > ogv_muxer_select="ogg_muxer" > opus_muxer_select="ogg_muxer"

Re: [FFmpeg-devel] [PATCH v2 3/5] aarch64: Add Linux runtime cpu feature detection using getauxval(AT_HWCAP)

2023-05-31 Thread Martin Storsjö
On Wed, 31 May 2023, Rémi Denis-Courmont wrote: Le tiistaina 30. toukokuuta 2023, 15.30.41 EEST Martin Storsjö a écrit : Based partially on code by Janne Grunau. --- Updated to use both the direct HWCAP* macros and HWCAP_CPUID. A not unreasonably old distribution like Ubuntu 20.04 does have HW

Re: [FFmpeg-devel] [PATCH] Web/Index: add post for new Vulkan decoding support

2023-05-31 Thread Lynne
May 31, 2023, 19:59 by phil...@overt.org: > On Wed, 31 May 2023 19:55:19 +0200 (CEST) > Lynne wrote: > >> +  May 31st, 2023, Vulkan decoding >> +  >> +    Recently, Vulkan-powered decoding hardware acceleration code was >> merged into the codebase. >> +    This is the first vendor-generic and pl

Re: [FFmpeg-devel] [PATCH 1/3] doc/examples/transcode: set packet timebase for decoding

2023-05-31 Thread James Almer
On 5/31/2023 12:32 PM, Anton Khirnov wrote: It is recommended for callers to set it, though not required. Add this comment to the file. It's meant to be an example for library users to refer to for their implementations, after all. --- doc/examples/transcode.c | 3 +++ 1 file changed, 3

Re: [FFmpeg-devel] [PATCH] Web/Index: add post for new Vulkan decoding support

2023-05-31 Thread Philip Langdale
On Wed, 31 May 2023 19:55:19 +0200 (CEST) Lynne wrote: > +  May 31st, 2023, Vulkan decoding > +  > +    Recently, Vulkan-powered decoding hardware acceleration code was > merged into the codebase. > +    This is the first vendor-generic and platform-generic decode > acceleration API, enabling th

[FFmpeg-devel] [PATCH] Web/Index: add post for new Vulkan decoding support

2023-05-31 Thread Lynne
+  May 31st, 2023, Vulkan decoding +  +    Recently, Vulkan-powered decoding hardware acceleration code was merged into the codebase. +    This is the first vendor-generic and platform-generic decode acceleration API, enabling the +    same code to be used on multiple platforms, with very minima

Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg: rework setting sub2video parameters

2023-05-31 Thread Michael Niedermayer
On Mon, May 29, 2023 at 02:49:55PM +0200, Anton Khirnov wrote: > Set them in ifilter_parameters_from_dec(), similarly to audio/video > streams. This reduces the extent to which sub2video filters need to be > treated specially. > --- > You can also get the updated tree from ffmpeg_sub2video in my re

Re: [FFmpeg-devel] [PATCH v2 3/5] aarch64: Add Linux runtime cpu feature detection using getauxval(AT_HWCAP)

2023-05-31 Thread Rémi Denis-Courmont
Le tiistaina 30. toukokuuta 2023, 15.30.41 EEST Martin Storsjö a écrit : > Based partially on code by Janne Grunau. > > --- > Updated to use both the direct HWCAP* macros and HWCAP_CPUID. A > not unreasonably old distribution like Ubuntu 20.04 does have > HWCAP_CPUID but not HWCAP2_I8MM in the dis

Re: [FFmpeg-devel] [PATCH 1/4] configure: aarch64: Support assembling the dotprod and i8mm arch extensions

2023-05-31 Thread Rémi Denis-Courmont
Le tiistaina 30. toukokuuta 2023, 15.25.25 EEST Martin Storsjö a écrit : > On Sun, 28 May 2023, Rémi Denis-Courmont wrote: > > Le sunnuntaina 28. toukokuuta 2023, 0.34.15 EEST Martin Storsjö a écrit : > >> I guess the alternative would be to just try to set .arch > >> . I was worried that support f

Re: [FFmpeg-devel] [PATCH 3/3] doc/examples/transcode: convert timestamps between filtering and encoding

2023-05-31 Thread Paul B Mahol
LGTM ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 2/3] doc/examples/transcode: stop using decoder's AVCodecContext.time_base

2023-05-31 Thread Paul B Mahol
LGTM ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 1/3] doc/examples/transcode: set packet timebase for decoding

2023-05-31 Thread Paul B Mahol
LGTM ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-devel] [PATCH 3/3] doc/examples/transcode: convert timestamps between filtering and encoding

2023-05-31 Thread Anton Khirnov
The timebases do not have to match. --- doc/examples/transcode.c | 5 + 1 file changed, 5 insertions(+) diff --git a/doc/examples/transcode.c b/doc/examples/transcode.c index 2e1491f432..ebe5ad2a42 100644 --- a/doc/examples/transcode.c +++ b/doc/examples/transcode.c @@ -439,6 +439,10 @@ stati

[FFmpeg-devel] [PATCH 1/3] doc/examples/transcode: set packet timebase for decoding

2023-05-31 Thread Anton Khirnov
It is recommended for callers to set it, though not required. --- doc/examples/transcode.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/examples/transcode.c b/doc/examples/transcode.c index 805a028ed7..7110816fe6 100644 --- a/doc/examples/transcode.c +++ b/doc/examples/transcode.c @@

[FFmpeg-devel] [PATCH 2/3] doc/examples/transcode: stop using decoder's AVCodecContext.time_base

2023-05-31 Thread Anton Khirnov
The contents of this field are not defined for decoding. Use pkt_timebase, which is the timebase of demuxed packets. Drop a tautological av_packet_rescale_ts() call, as the stream and decoder timebases are the same. --- doc/examples/transcode.c | 7 ++- 1 file changed, 2 insertions(+), 5 dele

Re: [FFmpeg-devel] [PATCH 12/23] fftools/ffmpeg_enc: do not guess frame durations from output framerate

2023-05-31 Thread Paul B Mahol
approved ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-devel] [PATCH 21/23] fftools/ffmpeg_mux: simplify calling of_output_packet()

2023-05-31 Thread Anton Khirnov
Use NULL packets to signal EOF instead of a separate variable. This is made possible by the previous commit. --- fftools/ffmpeg.c | 2 +- fftools/ffmpeg.h | 13 + fftools/ffmpeg_enc.c | 6 +++--- fftools/ffmpeg_mux.c | 14 +++--- 4 files changed, 12 insertions(+), 23

[FFmpeg-devel] [PATCH 04/23] fftools/ffmpeg_filter: drop a block disabled since 2012

2023-05-31 Thread Anton Khirnov
--- fftools/ffmpeg_filter.c | 20 1 file changed, 20 deletions(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 287b1e6f9d..1150f6fc65 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -1075,26 +1075,6 @@ static int configure_output_

[FFmpeg-devel] [PATCH 23/23] fftools/ffmpeg_mux: make OutputStream.pkt private

2023-05-31 Thread Anton Khirnov
It is no longer used outside of muxing code. --- fftools/ffmpeg.h | 1 - fftools/ffmpeg_mux.c | 4 ++-- fftools/ffmpeg_mux.h | 2 ++ fftools/ffmpeg_mux_init.c | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index 89008

[FFmpeg-devel] [PATCH 05/23] fftools/ffmpeg_demux: do not set AVCodecContext.framerate

2023-05-31 Thread Anton Khirnov
For decoding, this field is used by the decoder to export information to the caller; it does not make sense for the caller to set it. --- fftools/ffmpeg_demux.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 5c15b8bad3..5e5f106368 100644

[FFmpeg-devel] [PATCH 20/23] fftools/ffmpeg_mux: use a dedicated packet for BSF output

2023-05-31 Thread Anton Khirnov
Currently of_output_packet() reuses the input packet, which requires its callers to submit blank packets even on EOF, which makes the code more complex. --- fftools/ffmpeg_mux.c | 9 +++-- fftools/ffmpeg_mux.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fftools/ffmpeg

[FFmpeg-devel] [PATCH 18/23] fftools/ffmpeg: simplify handling input -t for streamcopy

2023-05-31 Thread Anton Khirnov
Output stream will be closed implicitly after a NULL packet is sent to it, there is no need to explicitly call close_output_stream(). --- fftools/ffmpeg.c | 9 + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 9997881572..7d2a25f2bf 10

[FFmpeg-devel] [PATCH 14/23] fftools/ffmpeg: convert timestamps inside the muxer

2023-05-31 Thread Anton Khirnov
Packets submitted to the muxer now have their timebase attached to them, so the muxer can do conversion to muxing timebase and avoid exposing it to callers. --- fftools/ffmpeg_enc.c | 17 ++--- fftools/ffmpeg_mux.c | 6 ++ 2 files changed, 8 insertions(+), 15 deletions(-) diff --

[FFmpeg-devel] [PATCH 16/23] fftools/ffmpeg: attach filter framerate to frames

2023-05-31 Thread Anton Khirnov
This way the encoder does not need to reach backward into the filter. --- fftools/ffmpeg.h| 2 ++ fftools/ffmpeg_enc.c| 19 +++ fftools/ffmpeg_filter.c | 10 ++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h

[FFmpeg-devel] [PATCH 09/23] fftools/ffmpeg_mux_init: only process -enc_time_base if the stream is encoded

2023-05-31 Thread Anton Khirnov
It has no effect otherwise. --- fftools/ffmpeg_mux_init.c | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c index b5295ad445..d0b89cd188 100644 --- a/fftools/ffmpeg_mux_init.c +++ b/fftools/ffmpeg_mux

[FFmpeg-devel] [PATCH 12/23] fftools/ffmpeg_enc: do not guess frame durations from output framerate

2023-05-31 Thread Anton Khirnov
There is no reason to expect input frame durations to match output framerate. --- fftools/ffmpeg_enc.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index 4a5ae3aa1b..5be6e9332a 100644 --- a/fftools/ffmpeg_enc.c +++ b/fftools/ffmpeg_enc.c @@ -104

[FFmpeg-devel] [PATCH 02/23] fftools/ffmpeg_mux: set stream duration after the timebase is certainly known

2023-05-31 Thread Anton Khirnov
Stop assuming the encoder knows the muxing timebase, which does not always have to hold (e.g. due to bitstream filters). --- fftools/ffmpeg_enc.c | 4 fftools/ffmpeg_mux.c | 5 + fftools/ffmpeg_mux.h | 3 +++ fftools/ffmpeg_mux_init.c | 10 ++ 4 files changed, 14

[FFmpeg-devel] [PATCH 03/23] fftools/ffmpeg_filter: drop a write-only variable

2023-05-31 Thread Anton Khirnov
--- fftools/ffmpeg.h| 1 - fftools/ffmpeg_filter.c | 1 - 2 files changed, 2 deletions(-) diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index cef4b5d000..0e9ad5f9f7 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -296,7 +296,6 @@ typedef struct OutputFilter { /* desired

[FFmpeg-devel] [PATCH 17/23] fftools/ffmpeg_enc: stop using OutputStream.initialized

2023-05-31 Thread Anton Khirnov
It is set by the muxing code, which will not be synchronized with encoding code after upcoming threading changes. Use an encoder-private variable instead. --- fftools/ffmpeg_enc.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc

[FFmpeg-devel] [PATCH 19/23] fftools/ffmpeg: stop explicitly closing output streams on input EOF

2023-05-31 Thread Anton Khirnov
Sending an empty packet already does that implicitly. --- fftools/ffmpeg.c | 1 - 1 file changed, 1 deletion(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 7d2a25f2bf..462365ed02 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -1104,7 +1104,6 @@ static int process_input(int fil

[FFmpeg-devel] [PATCH 15/23] fftools/ffmpeg: factor out attaching FrameData to a frame

2023-05-31 Thread Anton Khirnov
Will be useful in following commits. --- fftools/ffmpeg.c | 11 +++ fftools/ffmpeg.h | 6 ++ fftools/ffmpeg_dec.c | 5 ++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index bcda7570e9..9997881572 100644 --- a/fftools/f

[FFmpeg-devel] [PATCH 11/23] fftools/ffmpeg_enc: inline init_encoder_time_base() into its callers

2023-05-31 Thread Anton Khirnov
The function now reduces to a ternary operator, so it is shorter and clearer to eliminate it. --- fftools/ffmpeg_enc.c | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index 04d2c3c201..4a5ae3aa1b 100644 --- a/fftoo

[FFmpeg-devel] [PATCH 22/23] fftools/ffmpeg_enc: use a private AVPacket instance for encoding

2023-05-31 Thread Anton Khirnov
The code currently uses OutputStream.pkt, which complicates its ownership semantics. --- fftools/ffmpeg_enc.c | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index 8dd8104cea..2bf4782a9f 100644 --- a/fftools/ffmpeg_enc

[FFmpeg-devel] [PATCH 13/23] fftools/ffmpeg_mux_init: do not overwrite OutputStream.frame_rate for encoding

2023-05-31 Thread Anton Khirnov
The values currently written into it are not used after enc_open(), so it is better to confine them to that function. --- fftools/ffmpeg_enc.c | 33 ++--- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index 5

[FFmpeg-devel] [PATCH 10/23] fftools/ffmpeg: handle -enc_time_base -1 during stream creation

2023-05-31 Thread Anton Khirnov
There is no reason to postpone it until opening the encoder. Also, abort when the input stream is unknown, rather than disregard an explicit request from the user. --- fftools/ffmpeg_enc.c | 11 --- fftools/ffmpeg_mux_init.c | 9 + 2 files changed, 9 insertions(+), 11 deletio

[FFmpeg-devel] [PATCH 01/23] fftools/ffmpeg_enc: move nb_frames{dup, drop} globals into OutputStream

2023-05-31 Thread Anton Khirnov
--- The patchset is also available from branch 'ffmpeg_enc_tb' in git://git.khirnov.net/libav --- fftools/ffmpeg.c | 6 -- fftools/ffmpeg.h | 6 +++--- fftools/ffmpeg_enc.c | 8 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.

[FFmpeg-devel] [PATCH 07/23] fftools/ffmpeg_mux_init: do not overwrite OutputStream.frame_rate for streamcopy

2023-05-31 Thread Anton Khirnov
The values currently written into it are not used after streamcopy_init(), so it is better to confine them to that function. --- fftools/ffmpeg_mux_init.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c index

[FFmpeg-devel] [PATCH 08/23] fftools/ffmpeg_enc: merge two adjacent video-specific blocks

2023-05-31 Thread Anton Khirnov
There is no meaningful reason for them to be separated. --- fftools/ffmpeg_enc.c | 38 ++ 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index d390e384ed..07928b3557 100644 --- a/fftools/ffmpeg_enc.c +

[FFmpeg-devel] [PATCH 06/23] fftools/ffmpeg_enc: avoid breaking exactly integer timestamps in vsync code

2023-05-31 Thread Anton Khirnov
The code will currently add a small offset to avoid exact midpoints, but this can cause inexact results when a float timestamp is exactly representable as an integer. Fixes off-by-one in the first frame duration in multiple FATE tests. --- fftools/ffmpeg_enc.c | 6 -- tests/ref/fa

Re: [FFmpeg-devel] [PATCH 4/5] lavfi/graphparser: reimplement avfilter_graph_parse* using new API

2023-05-31 Thread Paul B Mahol
On Tue, May 30, 2023 at 11:10 PM Marton Balint wrote: > > > On Fri, 20 Jan 2023, Anton Khirnov wrote: > > > --- > > libavfilter/graphparser.c | 537 +- > > 1 file changed, 126 insertions(+), 411 deletions(-) > > This change makes error messages for parse failure

Re: [FFmpeg-devel] [PATCH v2 2/9] avcodec: add D3D12VA hardware accelerated H264 decoding

2023-05-31 Thread Wu, Tong1
>On Wednesday, May 31, 2023, Tong Wu >wrote: > >> From: Wu Jianhua >> >> The implementation is based on: >> https://learn.microsoft.com/en-us/windows/win32/medfound/ >> direct3d-12-video-overview >> >> > >> With the Direct3D 12 video decoding support, we can render or process >> the decoded image

Re: [FFmpeg-devel] [PATCH v2 2/9] avcodec: add D3D12VA hardware accelerated H264 decoding

2023-05-31 Thread Zhanbang He
On Wednesday, May 31, 2023, Tong Wu wrote: > From: Wu Jianhua > > The implementation is based on: > https://learn.microsoft.com/en-us/windows/win32/medfound/ > direct3d-12-video-overview > > > With the Direct3D 12 video decoding support, we can render or process > the decoded images by the pixe