View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000383 | Cinelerra-GG | [All Projects] Bug | public | 2020-02-23 08:21 | 2020-03-04 14:07 |
Reporter | JacekJagosz | Assigned To | PhyllisSmith | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Solus | OS Version | 4.1 |
Product Version | |||||
Target Version | Fixed in Version | 2020-04 | |||
Summary | 0000383: VA-API acceleration is broken, but it is not Cinelerra's fault | ||||
Description | I'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 | ||||
Tags | No tags attached. | ||||
This fix will be in the next builds. | |
It is working beautifully, thank you so much! This issue can now be closed. | |
@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. |
|
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. | |
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 |
|
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. |
|
Even when I manually updated libva-intel-driver, it is still broken, so I'm out of ideas. | |
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 |
|
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 |
|
*newest release of Cinelerra is still broken, I asked requested an update of libva-intel-driver, I hope this fixes it. | |
@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. |
|
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. |
|
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. | |
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 |