On the client side, frame aperture may be included or omitted. This can be used to include or drop the frame padding, and the VideoProcessor MFT supports it.
On GStreamer side, we can only use the unpadded frame size in the caps, because this is how decoders work, and padding needs to be added as a property of the input/output video buffers. Then, frame size needs to be adjusted to be consistent between input and output, and any difference considered as extra padding to be added on one side or the other.
--
v3: winegstreamer: Respect video format padding for input buffers too.
winegstreamer: Exclude padding from wg_format video frame size.
winegstreamer: Use video info stride in buffer meta rather than videoflip.
winegstreamer: Use a new wg_video_buffer_pool class to add buffer meta.
winegstreamer: Update the output_format when stream format changes.
winegstreamer: Pass optional GstVideoInfo to read_transform_output_data.
winegstreamer: Split read_transform_output_data in two helpers.
winegstreamer: Introduce a new sample_needs_copy_buffer helper.
winegstreamer: Introduce a new sample_set_flags_from_buffer helper.
mf/tests: Add more video processor tests with aperture.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5055
Onimusha: Warlords doesn't even use H264 and has several other problems. None of these games need H264 to be explicitly exposed, they only need compressed output.
This is also only making my work on upstreaming Proton changes more difficult and I don't really understand what you are trying to achieve here.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5988#note_75084
--
v6: winegstreamer: Respect video format padding for input buffers too.
winegstreamer: Normalize video processor and color converter apertures.
winegstreamer: Normalize both input and output media types stride at once.
winegstreamer: Use video info stride in buffer meta rather than videoflip.
winegstreamer: Keep the input caps on the transform.
winegstreamer: Use a new wg_video_buffer_pool class to add buffer meta.
winegstreamer: Only use pool and set buffer meta for raw video frames.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5972