- if( p_dec->fmt_in.video.i_rmask )
- p_dec->fmt_out.video.i_rmask = p_dec->fmt_in.video.i_rmask;
- if( p_dec->fmt_in.video.i_gmask )
- p_dec->fmt_out.video.i_gmask = p_dec->fmt_in.video.i_gmask;
- if( p_dec->fmt_in.video.i_bmask )
- p_dec->fmt_out.video.i_bmask = p_dec->fmt_in.video.i_bmask;
+ /* Find out p_vdec->i_raw_size */
+ video_format_Setup( &p_dec->fmt_out.video, p_dec->fmt_in.i_codec,
+ p_dec->fmt_in.video.i_width,
+ p_dec->fmt_in.video.i_height,
+ p_dec->fmt_in.video.i_sar_num,
+ p_dec->fmt_in.video.i_sar_den );
+ picture_t picture;
+ picture_Setup( &picture, p_dec->fmt_out.i_codec,
+ p_dec->fmt_in.video.i_width,
+ p_dec->fmt_in.video.i_height, 0, 1 );
+ p_sys->i_raw_size = 0;
+ for( int i = 0; i < picture.i_planes; i++ )
+ p_sys->i_raw_size += picture.p[i].i_visible_pitch *
+ picture.p[i].i_visible_lines;
+
+ if( !p_dec->fmt_in.video.i_sar_num || !p_dec->fmt_in.video.i_sar_den )
+ {
+ p_dec->fmt_out.video.i_sar_num = 1;
+ p_dec->fmt_out.video.i_sar_den = 1;
+ }