mft: improve decoding and clean code
- Use the new HXXX helper API to send the PPS/SPS/VPS to the decoder.
- Add more logs
- Implement drain and flush for synchronous decoders (the ones always used)
- Prepare the code for D3D11 output
- use MFStartup/MFShutdown as advised in the doc
- Don't load the mfplat DLL manually, we already link with it (works even in UWP)
Merge request reports
Activity
added Component::Decoders label
added MRStatus::NotCompliant label
added MRStatus::Reviewable label and removed MRStatus::NotCompliant label
added 21 commits
- 2638ab74 - mft: log the error code when failing to process an input/output streams
- 6b19ebb4 - mft: split hr handling in ProcessOutputStream
- 84a065cb - mft: reset p_sys->output_sample after its Release
- 522befbc - mft: process all the available outputs before sending a new input
- 1dc23e3b - mft: reorder code to split video/audio specific code
- 902c798b - mft: lock/unlock the output buffer data just before using them
- 01ce7b41 - mft: use each output IMFMediaBuffer from the output IMFSample
- 8985224f - mft: reindent
- 9f17553d - mft: assume the output is progressive with no MFSampleExtension_Interlaced
- e6bb7014 - mft: implement Flush for synchronous decoders
- babe8645 - mft: use MFStartup and MFShutdown
- 1b4cbfa2 - mft: don't use the MFT_ENUM_FLAG_TRANSCODE_ONLY flag
- 258db853 - mft: use mfplat directly
- 57f8ba78 - mft: clean defines and includes
- 7f8990b4 - mft: drain when using the synchronous decoder
- 84923161 - mft: set the extradata before the first frame data
- 60cc1e24 - mft: release all output buffers allocated on exit
- f70c1175 - mft: remove defines always set with MingW64 5.0.0
- 7e46cc43 - mft: release the extra activation objects we didn't use
- 9da709af - mft: allocate the output sample for our stream ID
- 6e119e54 - mft: silence warnings
Toggle commit listadded MRStatus::NotCompliant label and removed MRStatus::Reviewable label
added 5 commits
Toggle commit listadded MRStatus::Reviewable label and removed MRStatus::NotCompliant label
- Resolved by Steve Lhomme
MFT ingests only AnnexB ?
added MRStatus::InReview label and removed MRStatus::Reviewable label
added MRStatus::Acceptable label and removed MRStatus::InReview label
added MRStatus::Accepted label and removed MRStatus::Acceptable label
MR Acceptance result
This MergeRequest has been Accepted! Congratulations.MR acceptance checks details:
-
MR should be considered mergeable by Gitlab -
Last pipeline should be successful -
MergeRequest should have at least one external review and/or vote -
All threads should be resolved, and score >= 0 -
MergeRequest should have no activity (threads/votes) for (24h/24h)
-
added 147 commits
-
a8a48219...3dc5ed78 - 124 commits from branch
videolan:master
- 50b0715c - mft: fix decoding of H264 using hxxx helpers
- 144419af - mft: remove useless cast from void*
- 9822c725 - mft: log the error code when failing to process an input/output streams
- 08441f04 - mft: split hr handling in ProcessOutputStream
- fa018da1 - mft: reset p_sys->output_sample after its Release
- e9943629 - mft: process all the available outputs before sending a new input
- 0eb3401f - mft: reorder code to split video/audio specific code
- 2f204aa2 - mft: lock/unlock the output buffer data just before using them
- d321aa61 - mft: use each output IMFMediaBuffer from the output IMFSample
- 8ecca58f - mft: reindent
- ac13ec65 - mft: assume the output is progressive with no MFSampleExtension_Interlaced
- 45ad87e5 - mft: implement Flush for synchronous decoders
- 7e6f92a8 - mft: use MFStartup and MFShutdown
- e440cc27 - mft: don't use the MFT_ENUM_FLAG_TRANSCODE_ONLY flag
- d28708ff - mft: use mfplat directly
- 39060e15 - mft: clean defines and includes
- 7ab88f98 - mft: drain when using the synchronous decoder
- 85a4e425 - mft: set the extradata before the first frame data
- ecbf570b - mft: release all output buffers allocated on exit
- e9c21a54 - mft: remove defines always set with MingW64 5.0.0
- e42dad71 - mft: release the extra activation objects we didn't use
- f1b47132 - mft: allocate the output sample for our stream ID
- 3ba8b7be - mft: silence warnings
Toggle commit list-
a8a48219...3dc5ed78 - 124 commits from branch
added MRStatus::NotCompliant label and removed MRStatus::Accepted label
added 31 commits
-
3ba8b7be...39c63441 - 8 commits from branch
videolan:master
- 15f0decb - mft: fix decoding of H264 using hxxx helpers
- 832c5849 - mft: remove useless cast from void*
- 9142a0ac - mft: log the error code when failing to process an input/output streams
- adc1f869 - mft: split hr handling in ProcessOutputStream
- fe559efb - mft: reset p_sys->output_sample after its Release
- fbfa2fb3 - mft: process all the available outputs before sending a new input
- 9ba8f90c - mft: reorder code to split video/audio specific code
- ecf78a8a - mft: lock/unlock the output buffer data just before using them
- 26176f3c - mft: use each output IMFMediaBuffer from the output IMFSample
- 4486edde - mft: reindent
- 0f00dc5b - mft: assume the output is progressive with no MFSampleExtension_Interlaced
- 0f481bf2 - mft: implement Flush for synchronous decoders
- 14b54fee - mft: use MFStartup and MFShutdown
- 9bebbf15 - mft: don't use the MFT_ENUM_FLAG_TRANSCODE_ONLY flag
- 1fd156dd - mft: use mfplat directly
- fe5044db - mft: clean defines and includes
- b4bb3911 - mft: drain when using the synchronous decoder
- 695b5434 - mft: set the extradata before the first frame data
- c09daaf8 - mft: release all output buffers allocated on exit
- dfc5ece1 - mft: remove defines always set with MingW64 5.0.0
- 9ba5466b - mft: release the extra activation objects we didn't use
- a69a3c74 - mft: allocate the output sample for our stream ID
- 8bb4941a - mft: silence warnings
Toggle commit list-
3ba8b7be...39c63441 - 8 commits from branch
enabled an automatic merge when the pipeline for 8bb4941a succeeds
added MRStatus::Accepted label and removed MRStatus::NotCompliant label
changed milestone to %4.0