[Libva] VA-API does no v-sync with H264 interlaced videos

Lutz Sammer johns98 at gmx.net
Sat Mar 9 13:06:57 PST 2013


On 03/09/2013 06:12 PM, Chris Wilson wrote:
> On Sat, Mar 09, 2013 at 05:23:50PM +0100, Lutz Sammer wrote:
>> On 03/07/2013 12:32 PM, Daniel Vetter wrote:
>>> On Thu, Mar 7, 2013 at 9:38 AM, Lutz Sammer <johns98 at gmx.net> wrote:
>>>> vaPutSurface (X11) waits on v-sync?
>>>
>>> With the minor nit that for a long time the intel X driver didn't
>>> implement this on snb/ivb, resulting in tearing. But with kernel 3.8
>>> and latest xfree86-video-intel when using the SNA backed it should
>>> work.
>>
>> The result is that with xf86-video-intel GIT from yesterday,
>> libva-intel-driver-1.0.18, libva-1.1.0 and kernel-3.8.2.
>> vaPutSurface does no longer wait on vsync.
>>
>> With SNA:
>> X &; export DISPLAY=:0.0; putsurface -> 75.29 FPS
>> CTRL-C
>>
>> X crash:
>> (EE)
>> (EE) Backtrace:
>> (EE) 0: X (xorg_backtrace+0x36) [0x58a976]
>> (EE) 1: X (0x400000+0x18e659) [0x58e659]
>> (EE) 2: /lib64/libpthread.so.0 (0x3b01800000+0x10a90) [0x3b01810a90]
>> (EE) 3: ?? [0x1ba0950]
>> (EE)
>> (EE) Segmentation fault at address 0x1ba0950
>
> Totally useless backtrace. Can you try with gdb?
> -Chris
>

This is not very much better:

Program received signal SIGSEGV, Segmentation fault.
0x00007f1a26a8ad3f in ?? () from /usr/lib/xorg/modules/drivers/intel_drv.so
(gdb) signal
Argument required (signal number).
(gdb) bt
#0  0x00007f1a26a8ad3f in ?? () from 
/usr/lib/xorg/modules/drivers/intel_drv.so
#1  0x00007f1a26a8ae30 in ?? () from 
/usr/lib/xorg/modules/drivers/intel_drv.so
#2  0x00007f1a26a8c6de in ?? () from 
/usr/lib/xorg/modules/drivers/intel_drv.so
#3  0x00007f1a26a2419a in ?? () from 
/usr/lib/xorg/modules/drivers/intel_drv.so
#4  0x000000000043f65c in WakeupHandler ()
#5  0x0000000000588184 in WaitForSomething ()
#6  0x000000000043b051 in ?? ()
#7  0x0000000000429eda in ?? ()
#8  0x0000003b014249b5 in __libc_start_main () from /lib64/libc.so.6
#9  0x000000000042a21d in _start ()

With updated xf86-video-intel from now:

Program received signal SIGSEGV, Segmentation fault.
0x00007fcab5ddad4f in _sna_dri_destroy_buffer ()
    from /usr/lib/xorg/modules/drivers/intel_drv.so
(gdb) bt
#0  0x00007fcab5ddad4f in _sna_dri_destroy_buffer ()
    from /usr/lib/xorg/modules/drivers/intel_drv.so
#1  0x00007fcab5ddae40 in sna_dri_frame_event_info_free ()
    from /usr/lib/xorg/modules/drivers/intel_drv.so
#2  0x00007fcab5ddc6ee in sna_dri_vblank_handler ()
    from /usr/lib/xorg/modules/drivers/intel_drv.so
#3  0x00007fcab5d7419a in sna_mode_wakeup ()
    from /usr/lib/xorg/modules/drivers/intel_drv.so
#4  0x000000000043f65c in WakeupHandler ()
#5  0x0000000000588184 in WaitForSomething ()
#6  0x000000000043b051 in ?? ()
#7  0x0000000000429eda in ?? ()
#8  0x0000003b014249b5 in __libc_start_main () from /lib64/libc.so.6
#9  0x000000000042a21d in _start ()

Hope it helps,
Johns



More information about the Libva mailing list