Commit 004e67b4 authored by Laurent Aimar's avatar Laurent Aimar

Fixed/workaround a segfault with (newer?) swscale version.

Initialize the alpha plane pointers even when not used !
parent f6dba4e6
...@@ -441,7 +441,7 @@ static void Clean( filter_t *p_filter ) ...@@ -441,7 +441,7 @@ static void Clean( filter_t *p_filter )
p_sys->p_dst_e = NULL; p_sys->p_dst_e = NULL;
} }
static void GetPixels( uint8_t *pp_pixel[3], int pi_pitch[3], static void GetPixels( uint8_t *pp_pixel[4], int pi_pitch[4],
const picture_t *p_picture, const picture_t *p_picture,
int i_plane_start, int i_plane_count ) int i_plane_start, int i_plane_count )
{ {
...@@ -451,7 +451,7 @@ static void GetPixels( uint8_t *pp_pixel[3], int pi_pitch[3], ...@@ -451,7 +451,7 @@ static void GetPixels( uint8_t *pp_pixel[3], int pi_pitch[3],
pp_pixel[n] = p_picture->p[i_plane_start+n].p_pixels; pp_pixel[n] = p_picture->p[i_plane_start+n].p_pixels;
pi_pitch[n] = p_picture->p[i_plane_start+n].i_pitch; pi_pitch[n] = p_picture->p[i_plane_start+n].i_pitch;
} }
for( ; n < 3; n++ ) for( ; n < 4; n++ )
{ {
pp_pixel[n] = NULL; pp_pixel[n] = NULL;
pi_pitch[n] = 0; pi_pitch[n] = 0;
...@@ -504,8 +504,8 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx, ...@@ -504,8 +504,8 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
{ {
uint8_t palette[AVPALETTE_SIZE]; uint8_t palette[AVPALETTE_SIZE];
uint8_t *src[3]; int src_stride[3]; uint8_t *src[4]; int src_stride[4];
uint8_t *dst[3]; int dst_stride[3]; uint8_t *dst[4]; int dst_stride[4];
GetPixels( src, src_stride, p_src, i_plane_start, i_plane_count ); GetPixels( src, src_stride, p_src, i_plane_start, i_plane_count );
if( p_filter->fmt_in.video.i_chroma == VLC_CODEC_RGBP ) if( p_filter->fmt_in.video.i_chroma == VLC_CODEC_RGBP )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment