[MPlayer-dev-eng] [BUG] in ffmpeg12+DR+xmga (!)

Arpi arpi at thot.banki.hu
Sat Aug 31 20:36:40 CEST 2002


Hi,

> hmm. what about a workaround in vd_ffmpeg, it should force stride/height for 
> non-first get_image requests to be same as first stride.

ok here is it:

Index: vd_ffmpeg.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vd_ffmpeg.c,v
retrieving revision 1.48
diff -u -r1.48 vd_ffmpeg.c
--- vd_ffmpeg.c 30 Aug 2002 21:44:20 -0000      1.48
+++ vd_ffmpeg.c 31 Aug 2002 18:33:02 -0000
@@ -339,7 +339,11 @@
 #endif
     mp_msg(MSGT_DECVIDEO,MSGL_DBG2, type== MP_IMGTYPE_IPB ? "using IPB\n" : "using IP\n");

-    mpi= mpcodecs_get_image(sh,type, flags,
+    if(avctx->dr_stride)
+       mpi= mpcodecs_get_image(sh,type, flags&(~(MP_IMGFLAG_ACCEPT_STRIDE | MP_IMGFLAG_PREFER_ALIGNED_STRIDE)),
+                       avctx->dr_stride, (height+align)&(~align));
+    else
+       mpi= mpcodecs_get_image(sh,type, flags,
                        (width+align)&(~align), (height+align)&(~align));

     // ok, lets see what did we get:


it fixes the bug by disallowing direct rendering :)
(xmga won't accept the requested stride)

to get DR working with this, set align to 31:

     int type= MP_IMGTYPE_IPB;
-    int align=15;
+    int align=31;//15;

so it will DR correctly, and slowly, using 150% on my p4 :)

i mean direct rendering B macroblocks to video ram is not a good idea...
unfortunately vga cards doesn't like non-continous writes nor reads.

ah, and i won't commit this fix, it may break other things and actually has
no real use.


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list