Lines 816-824
static int ffmpeg_GetFrameBuf( struct AVCodecContext *p_context,
Link Here
|
816 |
} |
816 |
} |
817 |
|
817 |
|
818 |
/* Some codecs set pix_fmt only after the 1st frame has been decoded, |
818 |
/* Some codecs set pix_fmt only after the 1st frame has been decoded, |
819 |
* so this check is necessary. */ |
819 |
* so we need to check for direct rendering again. */ |
|
|
820 |
|
821 |
int i_width = p_sys->p_context->width; |
822 |
int i_height = p_sys->p_context->height; |
823 |
avcodec_align_dimensions( p_sys->p_context, &i_width, &i_height ); |
824 |
|
820 |
if( GetVlcChroma( &p_dec->fmt_out.video, p_context->pix_fmt ) != VLC_SUCCESS || |
825 |
if( GetVlcChroma( &p_dec->fmt_out.video, p_context->pix_fmt ) != VLC_SUCCESS || |
821 |
p_sys->p_context->width % 16 || p_sys->p_context->height % 16 ) |
826 |
p_sys->p_context->width % 16 || p_sys->p_context->height % 16 || |
|
|
827 |
/* We only pad picture up to 16 */ |
828 |
PAD(p_sys->p_context->width,16) < i_width || PAD(p_sys->p_context->height,16) < i_height ) |
822 |
{ |
829 |
{ |
823 |
msg_Dbg( p_dec, "disabling direct rendering" ); |
830 |
msg_Dbg( p_dec, "disabling direct rendering" ); |
824 |
p_sys->b_direct_rendering = 0; |
831 |
p_sys->b_direct_rendering = 0; |
825 |
- |
|
|