[MPlayer-cvslog] r29921 - trunk/libmpcodecs/vd_ffmpeg.c

reimar subversion at mplayerhq.hu
Tue Nov 17 14:56:35 CET 2009


Author: reimar
Date: Tue Nov 17 14:56:34 2009
New Revision: 29921

Log:
Use avcodec_align_dimensions to appropriately align width and height in
get_buffer instead of reimplementing it badly.

Modified:
   trunk/libmpcodecs/vd_ffmpeg.c

Modified: trunk/libmpcodecs/vd_ffmpeg.c
==============================================================================
--- trunk/libmpcodecs/vd_ffmpeg.c	Mon Nov 16 22:38:32 2009	(r29920)
+++ trunk/libmpcodecs/vd_ffmpeg.c	Tue Nov 17 14:56:34 2009	(r29921)
@@ -536,10 +536,8 @@ static int get_buffer(AVCodecContext *av
     int type= MP_IMGTYPE_IPB;
     int width= avctx->width;
     int height= avctx->height;
-    int align=15;
+    avcodec_align_dimensions(avctx, &width, &height);
 //printf("get_buffer %d %d %d\n", pic->reference, ctx->ip_count, ctx->b_count);
-    if(avctx->pix_fmt == PIX_FMT_YUV410P)
-        align=63; //yes seriously, its really needed (16x16 chroma blocks in SVQ1 -> 64x64)
 
     if (pic->buffer_hints) {
         mp_msg(MSGT_DECVIDEO, MSGL_DBG2, "Buffer hints: %u\n", pic->buffer_hints);
@@ -595,8 +593,7 @@ static int get_buffer(AVCodecContext *av
         mp_msg(MSGT_DECVIDEO, MSGL_DBG2, type== MP_IMGTYPE_IPB ? "using IPB\n" : "using IP\n");
     }
 
-    mpi= mpcodecs_get_image(sh, type, flags,
-                        (width+align)&(~align), (height+align)&(~align));
+    mpi= mpcodecs_get_image(sh, type, flags, width, height);
     if (!mpi) return -1;
 
     // ok, let's see what did we get:


More information about the MPlayer-cvslog mailing list