From 7984082a08cf2119da3433c245b72a91020b879d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 12 Feb 2004 16:21:21 +0000 Subject: ppc chroma mess workaround (real bug is that the motion compensation code assumes that 2*uvlinesize == linesize and fixing this would mean a slowdown) Originally committed as revision 2771 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 0f123b7..d04c2fa 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -238,7 +238,8 @@ int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic){ const int h_shift= i==0 ? 0 : h_chroma_shift; const int v_shift= i==0 ? 0 : v_chroma_shift; - buf->linesize[i]= ALIGN(pixel_size*w>>h_shift, s_align); + //FIXME next ensures that linesize= 2^x uvlinesize, thats needed because some MC code assumes it + buf->linesize[i]= ALIGN(pixel_size*w>>h_shift, s_align<<(h_chroma_shift-h_shift)); buf->base[i]= av_mallocz((buf->linesize[i]*h>>v_shift)+16); //FIXME 16 if(buf->base[i]==NULL) return -1; -- cgit v1.1