Opened 8 years ago

Closed 6 years ago

#10720 closed Bug Report - General (Works for me)

mythfrontend cannot play videos using vaapi

Reported by: Martin Konopka <martin.konopka@…> Owned by: beirdo
Priority: minor Milestone: 0.27
Component: MythTV - Video Playback Version: 0.25-fixes
Severity: medium Keywords: vaapi amd
Cc: Ticket locked: no

Description (last modified by Raymond Wagner)

Using mythfrontend v0.25-84-g9ccfac1 playback of HD videos and livetv doesn't work with vaapi.

Output of vainfo:

libva: VA-API version 0.32.0
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/i386-linux-gnu/dri/fglrx_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8
vainfo: Supported profile and entrypoints
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD

Output of the mythfrontend logs:

E CoreContext vaapicontext.cpp:311 (CreateDisplay) VAAPI: Invalid display
E CoreContext videoout_openglvaapi.cpp:145 (CreateVAAPIContext) VidOutGLVAAPI: Failed to create VAAPI context.

This happens on ubuntu 12.04 with the fglrx driver (8.960) provided by the distribution.

The same bug was already reported here: http://www.mythtvtalk.com/myth-0-25-vaapi-e350-15487/

Change History (9)

comment:1 Changed 8 years ago by Raymond Wagner

Description: modified (diff)

comment:2 Changed 8 years ago by linuxrider@…

I get this too when using v0.25-94-gec51a97 on Ubuntu 12.04 with fglrx 8.960 and intel965. I tested it on notebook TM8472TG and on ASUS E45M1-I DELUXE. With vlc it works. On the Zacate platform SD "works" because myth can't find a suitable VA profile.

I also tested the development builds from mythbuntu ppa and some time in december it worked but stopped after an update.

Output of vainfo:

libva: VA-API version 0.32.0
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/fglrx_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8
vainfo: Supported profile and entrypoints
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Intel i965 driver - 1.0.15
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264Baseline           :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD

mythfrontend log: same as in previous post.

comment:3 in reply to:  2 ; Changed 8 years ago by robert.hogberg@…

To use vaapi you have to use the OpenGL paint engine. Are you using OpenGL?

I run Ubuntu 12.04, MythTV v0.25-137-g3b2103f, and fglrx 8.960 driver (from Ubuntu repository) on a motherboard using the AMD E-350 chipset and with the QT paint engine I get the same error as you, but switching to OpenGL paint engine I can get vaapi to run (but I'm seeing #10113).

comment:4 in reply to:  3 Changed 8 years ago by Martin Konopka <martin.konopka@…>

Replying to robert.hogberg@…:

To use vaapi you have to use the OpenGL paint engine. Are you using OpenGL?

I run Ubuntu 12.04, MythTV v0.25-137-g3b2103f, and fglrx 8.960 driver (from Ubuntu repository) on a motherboard using the AMD E-350 chipset and with the QT paint engine I get the same error as you, but switching to OpenGL paint engine I can get vaapi to run (but I'm seeing #10113).

Thanks Robert, switching the paint engine to OpenGL fixes the issue, but I'm also getting wrong picture dimensions as reported in #10113. I think it would be a good idea to give the user a hint to also switch the paint engine when using vaapi.

comment:5 Changed 7 years ago by beirdo

Owner: set to beirdo
Status: newassigned

Glad to hear your problem is solved. This ticket will remain open for the moment to remind me to look at adding a check for OpenGL painter on VAAPI.

comment:6 Changed 7 years ago by brad@…

I'm having the same issue using the opengl painter.

Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:153 (Create) VAAPI: Version: 0.32
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:154 (Create) VAAPI: Driver : Intel i965 driver - 1.0.15
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: MPEG2Simple Entrypoints: VLD
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: MPEG2Main Entrypoints: VLD
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: H264Base Entrypoints: VLD EncSlice (UNSUPPORTED)
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: H264Main Entrypoints: VLD EncSlice (UNSUPPORTED)
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: H264High Entrypoints: VLD EncSlice (UNSUPPORTED)
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: VC1Simple Entrypoints: VLD
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: VC1Main Entrypoints: VLD
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext vaapicontext.cpp:522 (InitProfiles) VAAPI: Profile: VC1Advanced Entrypoints: VLD
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext videooutbase.cpp:1858 (CalcHueBase) VideoOutput: CalcHueBase(Intel i965 driver - 1.0.15): Unknown adaptor, hue may be wrong.
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext videooutbase.cpp:1860 (CalcHueBase) VideoOutput: Please open a ticket if you need to adjust the hue.
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext mythpainter_ogl.cpp:27 (MythOpenGLPainter) OpenGL painter using existing OpenGL context.
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext mythpainter_ogl.cpp:29 (MythOpenGLPainter) OpenGL painter using existing QGLWidget.
Nov  4 20:22:31 basement mythfrontend[1388]: I CoreContext openglvideo.cpp:223 (Init) GLVid: Using raw RGBA input textures.
Nov  4 20:22:31 basement mythfrontend[1388]: E CoreContext vaapicontext.cpp:311 (CreateDisplay) VAAPI: Invalid display
Nov  4 20:22:31 basement mythfrontend[1388]: E CoreContext videoout_openglvaapi.cpp:145 (CreateVAAPIContext) VidOutGLVAAPI: Failed to create VAAPI context.
Nov  4 20:22:31 basement mythfrontend[1388]: E CoreContext videoout_openglvaapi.cpp:98 (InputChanged) VidOutGLVAAPI: Failed to re-initialise video output.
Nov  4 20:22:31 basement mythfrontend[1388]: E CoreContext mythplayer.cpp:582 (ReinitVideo) Player(e): Failed to Reinitialize Video. Exiting..

Here's my vainfo:

libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.16.pre1)
vainfo: Driver version: Intel i965 driver - 1.0.15
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Baseline           : VAEntrypointVLD
      VAProfileH264Baseline           : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

comment:7 Changed 7 years ago by amessina@…

Adding myself to this ticket as well

Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:154 (Create) VAAPI: Version: 0.33
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:155 (Create) VAAPI: Driver : Intel i965 driver - 1.0.20
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: MPEG2Simple Entrypoints: VLD
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: MPEG2Main Entrypoints: VLD
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: H264Base Entrypoints: VLD EncSlice (UNSUPPORTED)
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: H264Main Entrypoints: VLD EncSlice (UNSUPPORTED)
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: H264High Entrypoints: VLD EncSlice (UNSUPPORTED)
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: VC1Simple Entrypoints: VLD
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: VC1Main Entrypoints: VLD
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext vaapicontext.cpp:518 (InitProfiles) VAAPI: Profile: VC1Advanced Entrypoints: VLD
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext videooutbase.cpp:1862 (CalcHueBase) VideoOutput: CalcHueBase(Intel i965 driver - 1.0.20): Unknown adaptor, hue may be wrong.
Jun 04 00:36:29 mythcommflag[3901]: I CoreContext videooutbase.cpp:1864 (CalcHueBase) VideoOutput: Please open a ticket if you need to adjust the hue.
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
        Subsystem: ZOTAC International (MCO) Ltd. Device a166
        Flags: bus master, fast devsel, latency 0, IRQ 44
        Memory at fe000000 (64-bit, non-prefetchable) [size=4M]
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at f000 [size=64]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [d0] Power Management version 2
        Capabilities: [a4] PCI Advanced Features
        Kernel driver in use: i915
~]# DISPLAY=:0 vainfo
libva info: VA-API version 0.33.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.33 (libva 1.1.1)
vainfo: Driver version: Intel i965 driver - 1.0.20
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Baseline           : VAEntrypointVLD
      VAProfileH264Baseline           : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

comment:8 Changed 6 years ago by stuartm

Milestone: unknown0.27

I think we ought to be able to get _something_ into 0.27, whether it's just adding "MUST be used with OpenGL painter" to the helptext or going as far as somehow forcing the use of the GL painter by reloading the frontend after a users selected the vaapi profile.

comment:9 Changed 6 years ago by JYA

Resolution: Works for me
Status: assignedclosed
Note: See TracTickets for help on using tickets.