View Issue Details

IDProjectCategoryView StatusLast Update
0000383Cinelerra-GG[All Projects] Bugpublic2020-03-04 14:07
ReporterJacekJagosz Assigned ToPhyllisSmith  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSSolusOS Version4.1
Product Version 
Target VersionFixed in Version2020-04 
Summary0000383: VA-API acceleration is broken, but it is not Cinelerra's fault
DescriptionI'm maintaining Cinelerra for Solus, and I noticed that VA-API acceleration is broken, while VDPAU and no acceleration still work completely fine.
While I was updating Cin to the new version it still worked, but now after many system updates it no longer does, the not the 31.01 nor 31.12 release.
Could any of you point me in th direction of what system packages are responsible for HW acceleration and could be the culprit, so I we could fix it?

I get completely black previews, gifs and the compositor is also black,a and I get:
"FFStream::decode: avcodec_send_packet failed.
file:/home/jacek/Wideo/MOV_SM_P960F_20180602133918.mp4
  err: Invalid data found when processing input"
in the terminal.
The build is using default Cin config (no packages are forced static or dynamic) and it is providing all necessary dependencies for dynamic build.
https://dev.getsol.us/source/cinelerra-gg/browse/master/package.yml
TagsNo tags attached.

Activities

PhyllisSmith

PhyllisSmith

2020-03-04 14:07

manager   ~0002867

This fix will be in the next builds.
JacekJagosz

JacekJagosz

2020-03-04 11:09

reporter   ~0002866

It is working beautifully, thank you so much! This issue can now be closed.
PhyllisSmith

PhyllisSmith

2020-03-04 04:04

manager   ~0002865

@jacekjagosz
A fix has been added and checked into GIT to have vaapi fallback to software when a specific profile is not supported by the hardware. Not sure if you want to test yet or just wait until March 31 tagged Git.
PhyllisSmith

PhyllisSmith

2020-03-03 00:08

manager   ~0002863

Confirming - Downloaded the file and our hardware does not support it either and gives the same error message. GG was surprised that it did not fall back to software. He will look at the code and hopefully will be able to resolve that so we do not get stuck again.
JacekJagosz

JacekJagosz

2020-03-02 23:10

reporter   ~0002862

Output of vainfo is almost the same (minus VP9 acceleration and VA-API version), but your video works fine! So it is not that the vaapi is broken fully, but only with some files. Files I used were from DJI Tello drone and Xperia 960fps slo-mo, but also if I render your file in Cin to youtube, it doesn't work either (it will probably work for you as your device support VP9).
So it seems that it doesn't fall back to software decoding for codecs it doesn't support or peculiar files.
Here is the file that doesn't work for me: https://send.firefox.com/download/c5d6e7b60fd93fbe/#dsJdtvQCx2i6kzCLGE8CJg

libva info: VA-API version 1.5.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_1_5
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.5 (libva 2.5.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 2.4.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple : VAEntrypointVLD
      VAProfileMPEG2Simple : VAEntrypointEncSlice
      VAProfileMPEG2Main : VAEntrypointVLD
      VAProfileMPEG2Main : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main : VAEntrypointVLD
      VAProfileH264Main : VAEntrypointEncSlice
      VAProfileH264High : VAEntrypointVLD
      VAProfileH264High : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh : VAEntrypointVLD
      VAProfileH264MultiviewHigh : VAEntrypointEncSlice
      VAProfileH264StereoHigh : VAEntrypointVLD
      VAProfileH264StereoHigh : VAEntrypointEncSlice
      VAProfileVC1Simple : VAEntrypointVLD
      VAProfileVC1Main : VAEntrypointVLD
      VAProfileVC1Advanced : VAEntrypointVLD
      VAProfileNone : VAEntrypointVideoProc
      VAProfileJPEGBaseline : VAEntrypointVLD
      VAProfileVP8Version0_3 : VAEntrypointVLD
PhyllisSmith

PhyllisSmith

2020-03-02 21:51

manager   ~0002861

Last edited: 2020-03-02 22:03

View 2 revisions

The first problem (usually a good place to start) was that:
    h264 @ 0x7f3778062b80] Codec h264 profile 66 not supported for hardware decode.

The valid media/profile map is at libavcodec/vaapi_decode.c:367
and profile 66 is FF_PROFILE_H264_BASELINE, per libavcodec/avcodec.h:2940
As far as I can tell, the hw only does main and high profiles, and does not do
baseline (kind of weird..., most codecs do the easy ones). I would try media
which is main or high.

There is a program called "vainfo" (like xvinfo, or glxinfo) that reports the
supported profiles. On a fedora system it is in package libva-utils. Install that and type in "vainfo" to see what your supported profile is

gg

Here is what we see:
[root@localhost tmp]# vainfo
libva info: VA-API version 1.6.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_1_6
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.6 (libva 2.6.0.pre1)
vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 2.4.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple : VAEntrypointVLD
      VAProfileMPEG2Simple : VAEntrypointEncSlice
      VAProfileMPEG2Main : VAEntrypointVLD
      VAProfileMPEG2Main : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main : VAEntrypointVLD
      VAProfileH264Main : VAEntrypointEncSlice
      VAProfileH264High : VAEntrypointVLD
      VAProfileH264High : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh : VAEntrypointVLD
      VAProfileH264MultiviewHigh : VAEntrypointEncSlice
      VAProfileH264StereoHigh : VAEntrypointVLD
      VAProfileH264StereoHigh : VAEntrypointEncSlice
      VAProfileVC1Simple : VAEntrypointVLD
      VAProfileVC1Main : VAEntrypointVLD
      VAProfileVC1Advanced : VAEntrypointVLD
      VAProfileNone : VAEntrypointVideoProc
      VAProfileJPEGBaseline : VAEntrypointVLD
      VAProfileVP8Version0_3 : VAEntrypointVLD
      VAProfileVP9Profile0 : VAEntrypointVLD

Also, I have uploaded a test file that works here. You can use this for a test.
    https://streamable.com/62u12
If this works, or does not work, let me know because the streamable website slightly changes the file and we may have to get it to you via our website instead.

JacekJagosz

JacekJagosz

2020-03-02 21:48

reporter   ~0002860

Even when I manually updated libva-intel-driver, it is still broken, so I'm out of ideas.
JacekJagosz

JacekJagosz

2020-03-02 21:09

reporter   ~0002859

The error certainly looks different.

problemCin (2,740 bytes)
[h264 @ 0x7f37d4211d00] Reinit context to 1280x720, pix_fmt: yuv420p
[AVIOContext @ 0x7f37d4210b80] Statistics: 119087 bytes read, 2 seeks
[h264 @ 0x7f37d4208c40] Reinit context to 1280x720, pix_fmt: yuv420p
[AVIOContext @ 0x7f37d42144c0] Statistics: 119087 bytes read, 2 seeks
[h264 @ 0x7f3778009340] Reinit context to 1280x720, pix_fmt: yuv420p
[h264 @ 0x7f377803f540] Reinit context to 1280x720, pix_fmt: yuv420p
[AVHWDeviceContext @ 0x7f377800fd80] Trying to use DRM render node for device 0.
[AVHWDeviceContext @ 0x7f377800fd80] libva: VA-API version 1.5.0
[AVHWDeviceContext @ 0x7f377800fd80] libva: va_getDriverName() returns 0
[AVHWDeviceContext @ 0x7f377800fd80] libva: Trying to open /usr/lib64/dri/i965_drv_video.so
[AVHWDeviceContext @ 0x7f377800fd80] libva: Found init function __vaDriverInit_1_5
[AVHWDeviceContext @ 0x7f377800fd80] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x7f377800fd80] Initialised VAAPI connection: version 1.5
[AVHWDeviceContext @ 0x7f377800fd80] VAAPI driver: Intel i965 driver for Intel(R) Broadwell - 2.3.0.
[AVHWDeviceContext @ 0x7f377800fd80] Driver not found in known nonstandard list, using standard behaviour.
[h264 @ 0x7f3778062b80] Codec h264 profile 66 not supported for hardware decode.
[h264 @ 0x7f3778062b80] Failed setup for format vaapi_vld: hwaccel initialisation returned error.
[h264 @ 0x7f3778062b80] Invalid return from get_format(): vaapi_vld not in possible list.
[h264 @ 0x7f3778062b80] decode_slice_header error
[h264 @ 0x7f3778062b80] no frame!
[h264 @ 0x7f3778083ac0] Codec h264 profile 66 not supported for hardware decode.
[h264 @ 0x7f3778083ac0] Failed setup for format vaapi_vld: hwaccel initialisation returned error.
[h264 @ 0x7f3778083ac0] Invalid return from get_format(): vaapi_vld not in possible list.
[h264 @ 0x7f3778083ac0] decode_slice_header error
[h264 @ 0x7f3778083ac0] no frame!
[h264 @ 0x7f37780a18c0] Codec h264 profile 66 not supported for hardware decode.
[h264 @ 0x7f37780a18c0] Failed setup for format vaapi_vld: hwaccel initialisation returned error.
[h264 @ 0x7f37780a18c0] Invalid return from get_format(): vaapi_vld not in possible list.
[h264 @ 0x7f37780a18c0] decode_slice_header error
[h264 @ 0x7f37780a18c0] no frame!
[h264 @ 0x7f37780a8240] Codec h264 profile 66 not supported for hardware decode.
[h264 @ 0x7f37780a8240] Failed setup for format vaapi_vld: hwaccel initialisation returned error.
[h264 @ 0x7f37780a8240] Invalid return from get_format(): vaapi_vld not in possible list.
[h264 @ 0x7f37780a8240] decode_slice_header error
[h264 @ 0x7f37780a8240] no frame!
FFStream::decode: avcodec_send_packet failed.
file:/home/jacek/Wideo/1568123405010.mp4
  err: Invalid data found when processing input
FFStream::decode: failed

problemCin (2,740 bytes)
PhyllisSmith

PhyllisSmith

2020-03-02 20:40

manager   ~0002858

Last edited: 2020-03-02 20:42

View 2 revisions

Because I was able to get the exact same error as you "err: Invalid data found when processing input", we assumed that what fixed the problem for us would for you too. We "might" be able to get further on the Solus problem with debugging on your part.

In the file {your_cinelerra_path}bin/ffmpeg/decode.opts change loglevel=fatal to loglevel=verbose
and this will provide much more error reporting. Restart Cinelerra from a window and after you load your media look at what the very first error it reports on the window. Cut and paste the messages here so GG can look at them. You should see informative messages of libva. I have attached a file of what you see when it is working -- hopefully what you instead see will help to debug.



problem (5,356 bytes)
h264 @ 0x4972fc0] Reinit context to 1440x1088, pix_fmt: yuv420p
[AVIOContext @ 0x4bcd340] Statistics: 193740 bytes read, 2 seeks
[h264 @ 0x4b26100] Reinit context to 1440x1088, pix_fmt: yuv420p
[h264 @ 0x4830f80] Reinit context to 1440x1088, pix_fmt: yuv420p
[AVIOContext @ 0x4821b40] Statistics: 193740 bytes read, 2 seeks
[h264 @ 0x7fff5800ea00] Reinit context to 1440x1088, pix_fmt: yuv420p
[New Thread 0x7fff8cff9700 (LWP 674580)]
[New Thread 0x7fff5ffff700 (LWP 674581)]
[New Thread 0x7fff5f7fe700 (LWP 674582)]
[h264 @ 0x7fff58039100] Reinit context to 1440x1088, pix_fmt: yuv420p
[Thread 0x7fff5ffff700 (LWP 674581) exited]
[AVHWDeviceContext @ 0x7fff58194f80] Trying to use DRM render node for device 0.
[AVHWDeviceContext @ 0x7fff58194f80] libva: VA-API version 1.6.0
[AVHWDeviceContext @ 0x7fff58194f80] libva: va_getDriverName() returns 0
[AVHWDeviceContext @ 0x7fff58194f80] libva: Trying to open /usr/lib64/dri/i965_drv_video.so
[Thread 0x7fff8cff9700 (LWP 674580) exited]
[AVHWDeviceContext @ 0x7fff58194f80] libva: Found init function __vaDriverInit_1_6
[New Thread 0x7fff8cff9700 (LWP 674583)]
[New Thread 0x7fff5ffff700 (LWP 674584)]
[AVHWDeviceContext @ 0x7fff58194f80] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x7fff58194f80] Initialised VAAPI connection: version 1.6
[AVHWDeviceContext @ 0x7fff58194f80] VAAPI driver: Intel i965 driver for Intel(R) Broadwell - 2.4.0.
[AVHWDeviceContext @ 0x7fff58194f80] Driver not found in known nonstandard list, using standard behaviour.
[New Thread 0x7fff5effd700 (LWP 674585)]
[New Thread 0x7fff5e7fc700 (LWP 674586)]
[New Thread 0x7fff5dffb700 (LWP 674587)]
[New Thread 0x7fff5d7fa700 (LWP 674588)]
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[AVIOContext @ 0x4960a80] Statistics: 193740 bytes read, 2 seeks
[h264 @ 0x7fff541ac840] Reinit context to 1440x1088, pix_fmt: yuv420p
[h264 @ 0x7fff541d6180] Reinit context to 1440x1088, pix_fmt: yuv420p
[AVHWDeviceContext @ 0x7fff54747700] Trying to use DRM render node for device 0.
[AVHWDeviceContext @ 0x7fff54747700] libva: VA-API version 1.6.0
[AVHWDeviceContext @ 0x7fff54747700] libva: va_getDriverName() returns 0
[AVHWDeviceContext @ 0x7fff54747700] libva: Trying to open /usr/lib64/dri/i965_drv_video.so
[AVHWDeviceContext @ 0x7fff54747700] libva: Found init function __vaDriverInit_1_6
[AVHWDeviceContext @ 0x7fff54747700] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x7fff54747700] Initialised VAAPI connection: version 1.6
[AVHWDeviceContext @ 0x7fff54747700] VAAPI driver: Intel i965 driver for Intel(R) Broadwell - 2.4.0.
[AVHWDeviceContext @ 0x7fff54747700] Driver not found in known nonstandard list, using standard behaviour.
[New Thread 0x7fff5cff9700 (LWP 674589)]
[New Thread 0x7fff4bfff700 (LWP 674590)]
[New Thread 0x7fff4b7fe700 (LWP 674591)]
[New Thread 0x7fff4affd700 (LWP 674592)]
[h264 @ 0x7fff54744d40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[Thread 0x7fff5ffff700 (LWP 674584) exited]
[Thread 0x7fff8cff9700 (LWP 674583) exited]
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[Thread 0x7fff5cff9700 (LWP 674589) exited]
[Thread 0x7fff4b7fe700 (LWP 674591) exited]
[Thread 0x7fff4affd700 (LWP 674592) exited]
[AVIOContext @ 0x7fff541d71c0] Statistics: 292044 bytes read, 2 seeks
[Thread 0x7fff4bfff700 (LWP 674590) exited]
[AVIOContext @ 0x7fff541b3a00] Statistics: 193740 bytes read, 2 seeks
[New Thread 0x7fff4affd700 (LWP 674593)]
[New Thread 0x7fff4b7fe700 (LWP 674594)]
[h264 @ 0x7fff6c00f680] Reinit context to 1440x1088, pix_fmt: yuv420p
[h264 @ 0x7fff6c039a00] Reinit context to 1440x1088, pix_fmt: yuv420p
[AVHWDeviceContext @ 0x7fff6c068a40] Trying to use DRM render node for device 0.
[AVHWDeviceContext @ 0x7fff6c068a40] libva: VA-API version 1.6.0
[AVHWDeviceContext @ 0x7fff6c068a40] libva: va_getDriverName() returns 0
[AVHWDeviceContext @ 0x7fff6c068a40] libva: Trying to open /usr/lib64/dri/i965_drv_video.so
[AVHWDeviceContext @ 0x7fff6c068a40] libva: Found init function __vaDriverInit_1_6
[AVHWDeviceContext @ 0x7fff6c068a40] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x7fff6c068a40] Initialised VAAPI connection: version 1.6
[AVHWDeviceContext @ 0x7fff6c068a40] VAAPI driver: Intel i965 driver for Intel(R) Broadwell - 2.4.0.
[AVHWDeviceContext @ 0x7fff6c068a40] Driver not found in known nonstandard list, using standard behaviour.
[New Thread 0x7fff4bfff700 (LWP 674595)]
[New Thread 0x7fff5cff9700 (LWP 674596)]
[New Thread 0x7fff4a7fc700 (LWP 674597)]
[New Thread 0x7fff49ffb700 (LWP 674598)]
[h264 @ 0x7fff6c0fe540] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[Thread 0x7fff4b7fe700 (LWP 674594) exited]
[Thread 0x7fff4affd700 (LWP 674593) exited]
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[h264 @ 0x7fff5811ba40] Reinit context to 1440x1088, pix_fmt: vaapi_vld
[h264 @ 0x7fffe0022640] Reinit context to 1440x1088, pix_fmt: yuv420p
[h264 @ 0x7fffe02a5680] Reinit context to 1440x1088, pix_fmt: yuv420p



problem (5,356 bytes)
JacekJagosz

JacekJagosz

2020-03-02 19:57

reporter   ~0002857

*newest release of Cinelerra is still broken, I asked requested an update of libva-intel-driver, I hope this fixes it.
JacekJagosz

JacekJagosz

2020-03-02 19:43

reporter   ~0002856

@PhyllisSmith I had this driver as a runtime dependency of Cinelerra since the beginning, so that's not the problem. But Solus uses slightly older version of that (2.3 instead of 2.4), so maybe that's the problem. I will keep investigating.
The newest release is still broken.
PhyllisSmith

PhyllisSmith

2020-02-26 00:19

manager   ~0002836

Last edited: 2020-02-26 00:21

View 2 revisions

It looks like another package has to be installed -- libva-intel-driver -- or some name similar for Solus. This is the library package name GG had to install for Fedora which fixed the problem of "Invalid data found" and black previews.

Please, let us know if this fixes the problem for Solus also as obviously we ae unable to test that here !! I will update the Manual documentation to note this new requirement. I am unable to trace when this became a new requirement as I "thought" that when ffmpeg was upgraded to 4.2 last September that I had tested it.

Update: do not use the libva-intel-hybrid-driver as it does not fix the problem.

PhyllisSmith

PhyllisSmith

2020-02-23 15:20

manager   ~0002830

Thank you for the notify as we often have to rely on users to find these problems because can not test everything on different hardware setups. But I was able to drag out a laptop that has vaapi capability and reproduce the error here. I will have GG look at this. Last time it stopped working was 09/2019 because ffmpeg changed how it interfaced with other code - probably that has happened again.

Issue History

Date Modified Username Field Change
2020-02-23 08:21 JacekJagosz New Issue
2020-02-23 15:20 PhyllisSmith Note Added: 0002830
2020-02-26 00:19 PhyllisSmith Note Added: 0002836
2020-02-26 00:19 PhyllisSmith Assigned To => PhyllisSmith
2020-02-26 00:19 PhyllisSmith Status new => feedback
2020-02-26 00:21 PhyllisSmith Note Edited: 0002836 View Revisions
2020-03-02 19:43 JacekJagosz Note Added: 0002856
2020-03-02 19:43 JacekJagosz Status feedback => assigned
2020-03-02 19:57 JacekJagosz Note Added: 0002857
2020-03-02 20:40 PhyllisSmith File Added: problem
2020-03-02 20:40 PhyllisSmith Note Added: 0002858
2020-03-02 20:42 PhyllisSmith Note Edited: 0002858 View Revisions
2020-03-02 21:09 JacekJagosz File Added: problemCin
2020-03-02 21:09 JacekJagosz Note Added: 0002859
2020-03-02 21:48 JacekJagosz Note Added: 0002860
2020-03-02 21:51 PhyllisSmith Note Added: 0002861
2020-03-02 22:03 PhyllisSmith Note Edited: 0002861 View Revisions
2020-03-02 23:10 JacekJagosz Note Added: 0002862
2020-03-03 00:08 PhyllisSmith Note Added: 0002863
2020-03-04 04:04 PhyllisSmith Note Added: 0002865
2020-03-04 11:09 JacekJagosz Note Added: 0002866
2020-03-04 14:07 PhyllisSmith Status assigned => closed
2020-03-04 14:07 PhyllisSmith Resolution open => fixed
2020-03-04 14:07 PhyllisSmith Fixed in Version => 2020-04
2020-03-04 14:07 PhyllisSmith Note Added: 0002867