vlc | branch: master | Steve Lhomme <[email protected]> | Tue Jul 11 16:24:17 2017 +0200| [6bfca16e30937ff8e5ccb6b25e4d0cc6e9cf11b8] | committer: Jean-Baptiste Kempf
direct3d11: fix the non-RGB texture creation with odd dimensions This case happens when decoding when decoding in software. For example a JPEG. Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6bfca16e30937ff8e5ccb6b25e4d0cc6e9cf11b8 --- modules/video_output/win32/direct3d11.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c index 9b6a879ef5..bf49b87e7e 100644 --- a/modules/video_output/win32/direct3d11.c +++ b/modules/video_output/win32/direct3d11.c @@ -675,6 +675,12 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned pool_size) surface_fmt.i_width = (surface_fmt.i_width + 0x7F) & ~0x7F; surface_fmt.i_height = (surface_fmt.i_height + 0x7F) & ~0x7F; } + else if ( sys->picQuadConfig->formatTexture != DXGI_FORMAT_R8G8B8A8_UNORM && + sys->picQuadConfig->formatTexture != DXGI_FORMAT_B5G6R5_UNORM ) + { + surface_fmt.i_width = (surface_fmt.i_width + 0x01) & ~0x01; + surface_fmt.i_height = (surface_fmt.i_height + 0x01) & ~0x01; + } if (AllocateTextures(vd, sys->picQuadConfig, &surface_fmt, pool_size, textures, true)) @@ -732,6 +738,12 @@ static picture_pool_t *Pool(vout_display_t *vd, unsigned pool_size) video_format_Copy(&staging_fmt, &surface_fmt); staging_fmt.i_width = staging_fmt.i_visible_width; staging_fmt.i_height = staging_fmt.i_visible_height; + if ( sys->picQuadConfig->formatTexture != DXGI_FORMAT_R8G8B8A8_UNORM && + sys->picQuadConfig->formatTexture != DXGI_FORMAT_B5G6R5_UNORM ) + { + staging_fmt.i_width = (staging_fmt.i_width + 0x01) & ~0x01; + staging_fmt.i_height = (staging_fmt.i_height + 0x01) & ~0x01; + } if (AllocateTextures(vd, sys->picQuadConfig, &staging_fmt, 1, textures, true)) goto error; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
