bootlin / libva-v4l2-request

LibVA implementation for the Linux Video4Linux2 Request API
Other
76 stars 59 forks source link

v4l2-request: Unable to set format for type 2: Device or resource busy #36

Closed openedev closed 2 years ago

openedev commented 3 years ago

Hi, I'm trying to use Cedrus on R16 and found the issue in v4l2-request context while setting type 2.

Target:

libva-v4l2-request: master
libva: 2.6.0.0
Linux-5.10

Target vainfo:

# vainfo
libva info: VA-API version 1.6.0
libva info: User environment variable requested driver 'v4l2_request'
libva info: Trying to open /usr/lib/dri/v4l2_request_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.0)
vainfo: Driver version: v4l2-request
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointVLD

Player log:

[cplayer] Command line options: '-v' '--vo=gpu' '--hwdec-codecs=h264' '--hwdec=vaapi-copy' 'Big_Buck_Bunny_720_10s_1MB.mp4'
[cplayer] mpv 0.32.0-dirty Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Thu Jul  8 07:37:31 UTC 2021
[cplayer] ffmpeg library versions:
[cplayer]    libavutil       56.31.100
[cplayer]    libavcodec      58.54.100
[cplayer]    libavformat     58.29.100
[cplayer]    libswscale      5.5.100
[cplayer]    libavfilter     7.57.100
[cplayer]    libswresample   3.5.100
[cplayer] ffmpeg version: 4.2.2
[cplayer] 
[cplayer] Configuration: ./waf configure -o /nvme1/renew/kas/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/mpv/0.32.0-r0/build --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib --prefix=/usr --target=arm-linux-gnueabi --confdir=/etc --datadir=/usr/share --disable-manpage-build --disable-libsmbclient --disable-libbluray --disable-dvdnav --disable-cdda --disable-uchardet --disable-rubberband --disable-lcms2 --disable-vapoursynth --disable-drm --enable-egl --disable-gbm --disable-jack --disable-libarchive --enable-libass --enable-lua --enable-gl --enable-vaapi --disable-vdpau --disable-wayland --enable-x11 --disable-xv --disable-drm --enable-egl --disable-gbm --disable-jack --disable-libarchive --enable-libass --enable-lua --enable-gl --enable-vaapi --disable-vdpau --disable-wayland --enable-x11 --disable-xv --enable-gl-x11 --enable-egl-x11 --enable-vaapi-x11 --enable-vaapi-x-egl
[cplayer] List of enabled features: aligned_alloc alsa asm atomics build-date cplayer cplugins debug-build drmprime egl egl-helpers egl-x11 fchmod ffmpeg gbm.h gl gl-x11 glibc-thread-name glob glob-posix gnuc gpl iconv jpeg libass libass-osd libav-any libavcodec libavdevice libavutil libdl libm librt linux-fstatfs lua luajit memfd_create optimize oss-audio posix posix-or-mingw posix-spawn posix-spawn-native pthreads stdatomic vaapi vaapi-egl vaapi-x-egl vaapi-x11 vt.h x11 zlib
[cplayer] Reading config file /etc/encoding-profiles.conf
[cplayer] Applying profile 'default'...
[cplayer] Setting option 'v' = '' (flags = 8)
[cplayer] Setting option 'vo' = 'gpu' (flags = 8)
[cplayer] Setting option 'hwdec-codecs' = 'h264' (flags = 8)
[cplayer] Setting option 'hwdec' = 'vaapi-copy' (flags = 8)
[cplayer] Setting option 'gpu-context' = 'x11egl' (flags = 8)
[cplayer] Setting option 'gpu-hwdec-interop' = 'vaapi-egl' (flags = 8)
[cplayer] Waiting for scripts...
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Set property: shared-script-properties -> 1
[osd/libass] Shaper: FriBidi 1.0.9 (SIMPLE)
[osd/libass] Setting up fonts...
[osd/libass] Loading font file '/etc/fonts/fonts.conf'
[osd/libass] Loading font file '/etc/fonts/conf.d'
[osd/libass] Error opening memory font 'fonts.conf'
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] Done loading scripts.
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] ytdl:// hook 
[ytdl_hook] not a ytdl:// url 
[file] Opening Big_Buck_Bunny_720_10s_1MB.mp4
[demux] Trying demuxers for level=normal.
[osd/libass] Shaper: FriBidi 1.0.9 (SIMPLE)
[osd/libass] Setting up fonts...
[osd/libass] Loading font file '/etc/fonts/fonts.conf'
[osd/libass] Loading font file '/etc/fonts/conf.d'
[osd/libass] Error opening memory font 'fonts.conf'
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] Set property: shared-script-properties -> 1
[lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[cplayer] Opening done: Big_Buck_Bunny_720_10s_1MB.mp4
[find_files] Loading external files in .
[cplayer] Running hook: ytdl_hook/on_preloaded
[lavf] select track 0
[cplayer]  (+) Video --vid=1 (*) (h264 1280x720 30.000fps)
[display-tags] File tags:
[display-tags]  Artist: Blender Foundation 2008, Janus Bager Kristensen 2013
[display-tags]  Comment: Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
[display-tags]  Composer: Sacha Goedegebure
[display-tags]  Genre: Animation
[display-tags]  Title: Big Buck Bunny, Sunflower version
[vo/gpu/opengl] Initializing GPU context 'x11egl'
[vo/gpu/x11] X11 opening display: :0
[vo/gpu/x11] XOpenIM() failed. Unicode input will not work.
[vo/gpu/x11] Display 0 (None-1): [0, 0, 800, 480] @ 61.576355 FPS
[vo/gpu/x11] Current display FPS: 61.576355
[vo/gpu/opengl] EGL_VERSION=1.4
[vo/gpu/opengl] EGL_VENDOR=Mesa Project
[vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[vo/gpu/opengl] Trying to create Desktop OpenGL context.
[vo/gpu/opengl] Choosing visual EGL config 0x7, visual ID 0x21
[vo/gpu/opengl] GL_VERSION='2.1 Mesa 20.0.2'
[vo/gpu/opengl] Detected desktop OpenGL 2.1.
[vo/gpu/opengl] GL_VENDOR='lima'
[vo/gpu/opengl] GL_RENDERER='Mali400'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='1.20'
[vo/gpu/opengl] Combined OpenGL extensions string:
[vo/gpu/opengl] Loaded extension GL_ARB_map_buffer_range.
[vo/gpu/opengl] Loaded extension GL_ARB_vertex_array_object.
[vo/gpu/opengl] Loaded extension GL_ARB_sync.
[vo/gpu/opengl] Loaded extension GL_ARB_get_program_binary.
[vo/gpu/opengl] Loaded extension GL_ARB_debug_output.
[vo/gpu] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=0).
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] Loading hwdec driver 'vaapi-egl'
[vo/gpu/vaapi-egl] VAAPI EGL interop Started!
[vo/gpu/vaapi-egl] VAAPI hwdec only works with OpenGL or Vulkan backends.
[vo/gpu] Loading failed.
[vo/gpu] Assuming 61.576355 FPS for display sync.
[vd] Container reported FPS: 30.000000
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[vd] Opening decoder h264
[vd] Looking at hwdec h264-vaapi-copy...
[vaapi] Initialized VAAPI: version 1.6
[vd] Trying hardware decoding via h264-vaapi-copy.
[vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
[vf] User filter list:
[vf]   (empty)
[cplayer] Starting playback...
[vd] Pixel formats supported by decoder: vaapi_vld yuv420p
[vd] Codec profile: High (0x64)
[vd] Requesting pixfmt 'vaapi_vld' from decoder.
**v4l2-request: surface: calling v4l2_set_format
v4l2-request: context: calling v4l2_set_format
v4l2-request: Unable to set format for type 2: Device or resource busy
[ffmpeg/video] h264: Failed to create decode context: 1 (operation failed).
[ffmpeg/video] h264: Failed setup for format vaapi_vld: hwaccel initialisation returned error.**
[vd] Pixel formats supported by decoder: yuv420p yuv420p
[vd] Codec profile: High (0x64)
[vd] Requesting pixfmt 'yuv420p' from decoder.
[vd] Falling back to software decoding.
[vd] Detected 4 logical cores.
[vd] Requesting 5 threads for decoding.
[vd] DR failed - disabling.
[vd] Using software decoding.
[vd] Decoder format: 1280x720 yuv420p auto/auto/auto/auto/auto CL=mpeg2/4/h264

Any help would be appreciated.

Thanks, Jagan.

openedev commented 2 years ago

Closing this issue since decoding is working via v4l2-request.