Intel vaapi : can't play mkv with vlc

6,716

Solution 1

Ok all i had to do according this https://bbs.archlinux.org/viewtopic.php?id=199749 is to launch vlc with vlc --avcodec-hw=vaapi or to change vlc settings in "codec" and choose vaapi via x11 instead of vdpau.

Solution 2

If you like your system clean, you can also remove vdpau drivers (packages look like vdpau-driver-all:amd64 and mesa-vdpau-drivers:amd64). This will force the use of VAAPI.

Share:
6,716

Related videos on Youtube

Kwaadpepper
Author by

Kwaadpepper

Updated on September 18, 2022

Comments

  • Kwaadpepper
    Kwaadpepper over 1 year

    I can find why I can't play any mkv file with vlc, it seems there is a drawing error, is there a workaround or something ? I have optimus (intel+nvidia) and i'm using bumblebee with last nvidia driver 358.

    VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
    [0000000001686148] core libvlc: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface.
    libva info: VA-API version 0.38.0
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
    libva info: Found init function __vaDriverInit_0_38
    libva info: va_openDriver() returns 0
    [00007f5994c75a08] avcodec decoder: Using OpenGL/VAAPI/libswscale backend for VDPAU for hardware decoding.
    [00007f59986dbea8] adjust filter error: Unsupported input chroma (VDV0)
    [00007f59986dd2a8] sharpen filter error: Unsupported chroma (VDV0)
    [00007f59986dd2a8] vdpau_sharpen filter error: sharpening/blurring not supported by VDPAU device
    [00007f598803c038] core video output error: Failed to create video filter2 'sharpen'
    [00007f598803c038] core video output error: Failed to add filter 'sharpen'
    [VS] error (vdpDecoderRender_h264): no surfaces left in buffer
    [VS] error (vdpDecoderRender_h264): no surfaces left in buffer
    [VS] error (vdpDecoderRender_h264): no surfaces left in buffer
    [VS] error (vdpDecoderRender_h264): no surfaces left in buffer
    [VS] error (vdpDecoderRender_h264): no surfaces left in buffer
    [VS] error (vdpVideoSurfaceGetBitsYCbCr): not implemented conversion VA FOURCC Y -> VDP_YCBCR_FORMAT_YV12
    [00007f59985cc008] vdpau_chroma filter error: video surface export failure: VDP_STATUS_INVALID_Y_CB_CR_FORMAT
    [VS] error (vdpVideoSurfaceGetBitsYCbCr): not implemented conversion VA FOURCC Y -> VDP_YCBCR_FORMAT_YV12
    [00007f59985cc008] vdpau_chroma filter error: video surface export failure: VDP_STATUS_INVALID_Y_CB_CR_FORMAT
    [VS] error (vdpVideoSurfaceGetBitsYCbCr): not implemented conversion VA FOURCC Y -> VDP_YCBCR_FORMAT_YV12
    
  • tony mancill
    tony mancill over 7 years
    Thanks for this post! You can make this setting permanent by editing your ~/.config/vlc/vlcrc file and setting avcodec-hw=vaapi.
  • Andrew
    Andrew about 7 years
    I found that while using this switch made video visible again, it would not scale up from the original video size to the size of my monitor.