[Openchrome-users] Fwd: xvmc vs. xv mplayer

Wander Winkelhorst w.winkelhorst
Thu Apr 27 12:06:22 PDT 2006


> > I understand that you don't have time or motivation to update the
> > mplayer patch, but would you be willing to anwser some questions I might
>
> > have about the code?
>
> of course.
>

Great!

Here comes the first one:

If I do the gdb backtrace, I get the following output:

<Some lines skipped here>
vo_xvmc: OSD support by beckend rendering (fast)
vo_xvmc: Pleace send feedback to configrm that it work,otherwise send
bugreport!
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x000821).
[xvmc] dx: 0 dy: 0 dw: 712 dh: 570
*** [vo] Direct Rendering (slices) mp_image_t, 720x570x0bpp RGB packed, 0
bytes

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223260480 (LWP 6465)]
0x08360374 in clear_blocks_mmx (blocks=0x0) at i386/dsputil_mmx.c:447
447         __asm __volatile(
<It crashed, lets do a backtrace>
(gdb) bt
#0  0x08360374 in clear_blocks_mmx (blocks=0x0) at i386/dsputil_mmx.c:447
#1  0x082b23c0 in mpeg_decode_slice (s1=0x8619ff0, mb_y=0, buf=0xbfa437c8,
buf_size=768)
    at mpeg12.c:2514
#2  0x082b3626 in mpeg_decode_frame (avctx=0x8619d00, data=0x8619c10,
data_size=0xbfa4387c,
    buf=0xb7067008 "", buf_size=120804) at mpeg12.c:3099
#3  0x081c4e48 in avcodec_decode_video (avctx=0x8619d00, picture=0x8619c10,
    got_picture_ptr=0xbfa4387c, buf=0xb7067008 "", buf_size=140614672) at
utils.c:593
#4  0x080d582f in decode (sh=0x85e41b8, data=0xb7067008, len=120804,
flags=0) at vd_ffmpeg.c:768
#5  0x080d1c98 in decode_video (sh_video=0x85e41b8, start=0xb7067008 "",
in_size=120804, drop_frame=0)
    at dec_video.c:309
#6  0x0807c41a in main (argc=7, argv=0xbfa44c44) at mplayer.c:2340

When I look at the code in mpeg12.c, I see the following:

    for(;;) {
#ifdef HAVE_XVMC
        //one 1 we memcpy blocks in xvmcvideo
        if(s->avctx->xvmc_acceleration > 1)
            XVMC_init_block(s);//set s->block
#endif

        s->dsp.clear_blocks(s->block[0]);  // This is the line that caused
the crash
        if(!s->chroma_y_shift){
            s->dsp.clear_blocks(s->block[6]);
        }

This leads me to believe that s->block[0] is "wrong" for some reason or the
other, yet I have no clue why, or what "s" might be or should be.

So, could you please shed some light on this, I'm kinda stumped.

Thanks,
Wander.

(I send this to Ivor directly again, note to self: Don't hit reply without
checking the adres)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://wiki.openchrome.org/pipermail/openchrome-users/attachments/20060427/9e03db4a/attachment.html



More information about the Openchrome-users mailing list