Oh cool, just saw this. Here's the patchset for easy download: https://patchwork.freedesktop.org/series/9839/
I never got openmax encoding to work, I think because exactly of the bellagio stuff.
This is the test pipeline I most recently tried:
$ gst-launch-1.0 videotestsrc ! omxh264enc ! "video/x-h264,profile=high" ! h264parse ! matroskamux ! filesink location=output.avi
And that was the error message:
OMX-could not load /usr/lib/bellagio/libomxvideosched.so ==> OMX.st.video.scheduler ==> OMX.st.video.scheduler: ==> 2 1,456192 1,304128: /usr/lib/bellagio/libomxvideosched.so ==> OMX.st.video.scheduler ==> OMX.st.video.scheduler: ==> 2 1,456192 1,304128: cannot open shared object file: No such file or directory
Sounds confusing? With strace:
open("/usr/lib/bellagio/libomxvideosched.so ==> OMX.st.video.scheduler ==> OMX.st.video.scheduler: ==> 2 1,456192 1,304128", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
you see that it has some weird stuff behind the library filename.
I think omxregister does that, because in ~/.omxregister I had
and removing that weird stuff in the first line made it go a little bit further but fail with
I had a go at looking at the omxregister source code, but: https://sourceforge.net/p/omxil/omxi...egister.c#l187
So trying this patchset on my intel + radeon latpop (I heard the h.264 quality of VCE is better than intel's quicksync):
The test pipeline
Actually does output something that looks like a test video.
gstreamer-screenrecording by Pontostroy does not work though.
Probably just needs minor adjustments for the usage with VCE
I never got openmax encoding to work, I think because exactly of the bellagio stuff.
This is the test pipeline I most recently tried:
$ gst-launch-1.0 videotestsrc ! omxh264enc ! "video/x-h264,profile=high" ! h264parse ! matroskamux ! filesink location=output.avi
And that was the error message:
OMX-could not load /usr/lib/bellagio/libomxvideosched.so ==> OMX.st.video.scheduler ==> OMX.st.video.scheduler: ==> 2 1,456192 1,304128: /usr/lib/bellagio/libomxvideosched.so ==> OMX.st.video.scheduler ==> OMX.st.video.scheduler: ==> 2 1,456192 1,304128: cannot open shared object file: No such file or directory
Sounds confusing? With strace:
open("/usr/lib/bellagio/libomxvideosched.so ==> OMX.st.video.scheduler ==> OMX.st.video.scheduler: ==> 2 1,456192 1,304128", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
you see that it has some weird stuff behind the library filename.
I think omxregister does that, because in ~/.omxregister I had
Code:
/usr/lib/bellagio/libomxvideosched.so ==> OMX.st.video.scheduler ==> OMX.st.video.scheduler: ==> 2 1,456192 1,304128 /usr/lib/bellagio/libomx_mesa.so BELLAGIO_SEARCH_PATHOMX-Failed to write %zu bytes to fd %d OMX-Component % ==> OMX.mesa.video_decoder ==> OMX.mesa.video_decoder.mpeg2:OMX.mesa.video_decoder.avc: ==> OMX.mesa.video_encoder ==> OMX.mesa.video_encoder.avc: /usr/lib/bellagio/libomxaudio_effects.so BELLAGIO_SEARCH_PATHOMX-Failed to write %zu bytes to fd ==> OMX.st.volume.component ==> OMX.st.volume.component: ==> 2 1,65536 1,32768 ==> OMX.st.audio.mixer ==> OMX.st.audio.mixer: ==> 1 50,60000 /usr/lib/bellagio/libomxclocksrc.so BELLAGIO_SEARCH_PATHOMX-Failed to write %zu bytes to fd %d ==> OMX.st.clocksrc ==> OMX.st.clocksrc:
Code:
OMX-Component not found with current ST static component loader.
So trying this patchset on my intel + radeon latpop (I heard the h.264 quality of VCE is better than intel's quicksync):
Code:
DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi vainfo :( libva info: VA-API version 0.39.2 libva info: va_getDriverName() returns 0 libva info: User requested driver 'radeonsi' libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.39 (libva 1.7.1) vainfo: Driver version: mesa gallium vaapi vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264Baseline : VAEntrypointVLD VAProfileH264Baseline : VAEntrypointEncSlice VAProfileH264Baseline : VAEntrypointEncPicture VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc
Code:
DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi gst-launch-1.0 videotestsrc ! vaapih264enc ! "video/x-h264,profile=high" ! h264parse ! matroskamux ! filesink location=output.avi
gstreamer-screenrecording by Pontostroy does not work though.
Code:
ERROR: from element /GstPipeline:pipeline0/GstXImageSrc:ximagesrc0: Internal data flow error. Additional debug info: gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstXImageSrc:ximagesrc0: streaming task paused, reason not-negotiated (-4)
Comment