From 7517e932ffacdc99d34239f86314b376ffb63726 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 22 Mar 2015 23:07:03 +0100 Subject: avcodec/snow: fix support for odd dimensions Fixes Ticket3914 Signed-off-by: Michael Niedermayer --- libavcodec/snow.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libavcodec/snow.c') diff --git a/libavcodec/snow.c b/libavcodec/snow.c index 101c8f83e5..33a2dbc129 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -535,8 +535,8 @@ int ff_snow_common_init_after_header(AVCodecContext *avctx) { int h= s->avctx->height; if(plane_index){ - w>>= s->chroma_h_shift; - h>>= s->chroma_v_shift; + w = FF_CEIL_RSHIFT(w, s->chroma_h_shift); + h = FF_CEIL_RSHIFT(h, s->chroma_v_shift); } s->plane[plane_index].width = w; s->plane[plane_index].height= h; @@ -590,8 +590,8 @@ static int halfpel_interpol(SnowContext *s, uint8_t *halfpel[4][4], AVFrame *fra for(p=0; p < s->nb_planes; p++){ int is_chroma= !!p; - int w= is_chroma ? s->avctx->width >>s->chroma_h_shift : s->avctx->width; - int h= is_chroma ? s->avctx->height>>s->chroma_v_shift : s->avctx->height; + int w= is_chroma ? FF_CEIL_RSHIFT(s->avctx->width, s->chroma_h_shift) : s->avctx->width; + int h= is_chroma ? FF_CEIL_RSHIFT(s->avctx->height, s->chroma_v_shift) : s->avctx->height; int ls= frame->linesize[p]; uint8_t *src= frame->data[p]; -- cgit v1.2.3