[PATCH 0/1] MR5597: winegstreamer/video_decoder: Make output_plane_align specific to h264.
If we set output align to wmv decoder, it will fail at copy_video_buffer(). The output size will larger than the sample we provided due to alignment. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5597
From: Ziqing Hui <zhui(a)codeweavers.com> If we set output align to wmv decoder, it will fail at copy_video_buffer(). The output size will larger than the sample we provided due to alignment. --- dlls/winegstreamer/video_decoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/winegstreamer/video_decoder.c b/dlls/winegstreamer/video_decoder.c index 5b5d0ec6d97..b1b11b434db 100644 --- a/dlls/winegstreamer/video_decoder.c +++ b/dlls/winegstreamer/video_decoder.c @@ -1514,7 +1514,6 @@ static HRESULT video_decoder_create_with_types(const GUID *const *input_types, U if (FAILED(hr = MFCreateSampleCopierMFT(&decoder->copier))) goto failed; - decoder->wg_transform_attrs.output_plane_align = 15; decoder->wg_transform_attrs.input_queue_length = 15; *out = decoder; @@ -1586,6 +1585,7 @@ HRESULT h264_decoder_create(REFIID riid, void **out) | MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE; decoder->output_info.cbSize = 1920 * 1088 * 2; + decoder->wg_transform_attrs.output_plane_align = 15; decoder->wg_transform_attrs.allow_size_change = TRUE; TRACE("Created h264 transform %p.\n", &decoder->IMFTransform_iface); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5597
Would have been nice to have tests but WMV encoding is messy and I couldn't make it work with the sample images we have. They are somehow too small for it to behave correctly on the non-16byte aligned sizes the tests use. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5597#note_69882
This merge request was approved by Rémi Bernon. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5597
participants (3)
-
Rémi Bernon -
Ziqing Hui -
Ziqing Hui (@zhui)