vlc | branch: master | Steve Lhomme <[email protected]> | Wed Jul 31 11:36:55 2019 +0200| [d6fd5bc57ca1da6bb68eca7afac85abb61039e7a] | committer: Steve Lhomme
vout: android: don't allocate a picture to get the pitch of the first plane We can get it from the chroma description. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d6fd5bc57ca1da6bb68eca7afac85abb61039e7a --- modules/video_output/android/display.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/video_output/android/display.c b/modules/video_output/android/display.c index 798aaeef9a..edf335a8c7 100644 --- a/modules/video_output/android/display.c +++ b/modules/video_output/android/display.c @@ -417,14 +417,15 @@ static int AndroidWindow_Setup(vout_display_sys_t *sys, p_window->i_pic_count = i_pic_count; if (!p_window->b_opaque) { - int align_pixels; - picture_t *p_pic = PictureAlloc(sys, &p_window->fmt, false); - - // For RGB (32 or 16) we need to align on 8 or 4 pixels, 16 pixels for YUV - align_pixels = (16 / p_pic->p[0].i_pixel_pitch) - 1; - p_window->fmt.i_height = p_pic->format.i_height; - p_window->fmt.i_width = (p_pic->format.i_width + align_pixels) & ~align_pixels; - picture_Release(p_pic); + const vlc_chroma_description_t *p_dsc = + vlc_fourcc_GetChromaDescription( p_window->fmt.i_chroma ); + if (p_dsc) + { + assert(p_dsc->pixel_size != 0); + // For RGB (32 or 16) we need to align on 8 or 4 pixels, 16 pixels for YUV + unsigned align_pixels = (16 / p_dsc->pixel_size) - 1; + p_window->fmt.i_width = (p_window->fmt.i_width + align_pixels) & ~align_pixels; + } if (AndroidWindow_SetupANW(sys, p_window) != 0) return -1; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
