h264_v4l2m2m unable to find output format

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

h264_v4l2m2m unable to find output format

Anjo John
Hi All,
I have been testing ffmpeg's v4l2m2m codec support in qualcomm qcs605 SOC.
Ffmpeg isn't able to find the output format NV12 in the v4l2 m2m device.
Although the format NV12 is present and is listed with v4l-utils.

FFMPEG version : tested 4.1.1 and 4.2.2
Below is the command i used for testing
*ffmpeg -y -c:v h264_v4l2m2m -i /opt/input.h264 -pix_fmt nv12 out.yuv*

The v4l2 m2m decoder is present as /dev/video32. In the ffmpeg log below is
shown




*[h264_v4l2m2m @ 0x3b5bc70] probing device /dev/video32[h264_v4l2m2m @
0x3b5bc70] driver 'msm_vidc_driver' on card 'msm_vidc_vdec'[h264_v4l2m2m @
0x3b5bc70] v4l2 output format not supported[h264_v4l2m2m @ 0x3b5bc70] Could
not find a valid device[h264_v4l2m2m @ 0x3b5bc70] can't configure decoder*

using the v4l2-ctl utils, NV12 is listed





*v4l2-ctl --list-formats -d /dev/video32ioctl: VIDIOC_ENUM_FMT Index
: 0 Type        : Video Capture Multiplanar Pixel Format: 'NV12' Name
 : Y/CbCr 4:2:0*

Also how to set the userptr/mmap option in v4l2m2m device.

--

*With Best Regards*

*Anjo John*
VVDN Technologies Pvt Ltd

--



_Disclaimer: _© 2020 VVDN Technologies Pvt. Ltd. This e-mail contains
PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the
addressee(s). If you are not the intended recipient, please notify the
sender by e-mail and delete the original message. Further, you are not to
copy, disclose, or distribute this e-mail or its contents to any other
person and any such actions are unlawful._
_
_
_
__
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: h264_v4l2m2m unable to find output format

Carl Eugen Hoyos-2
Am So., 24. Mai 2020 um 08:11 Uhr schrieb Anjo John <[hidden email]>:

> I have been testing ffmpeg's v4l2m2m codec support in qualcomm qcs605 SOC.
> Ffmpeg isn't able to find the output format NV12 in the v4l2 m2m device.
> Although the format NV12 is present and is listed with v4l-utils.
>
> FFMPEG version : tested 4.1.1 and 4.2.2
> Below is the command i used for testing
> *ffmpeg -y -c:v h264_v4l2m2m -i /opt/input.h264 -pix_fmt nv12 out.yuv*

Please test current FFmpeg git head and provide the command line
you tested together with the complete, uncut console output.

> _Disclaimer: _© 2020 VVDN Technologies Pvt. Ltd. This e-mail
> contains PRIVILEGED AND CONFIDENTIAL INFORMATION

Please remove this from emails sent to a public mailing list.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: h264_v4l2m2m unable to find output format

Anjo John
I have tested the master branch from git. it also reports the same
behaviour. Sorry i couldn't remove the "Disclaimer" line at the end.
Please find the complete output with loglevel debug.
ffmpeg -loglevel debug -c:v h264_v4l2m2m -i test.h264 -pix_fmt nv12
/tmp/out.yuv
ffmpeg version N-97929-g26b4509 Copyright (c) 2000-2020 the FFmpeg
developers
  built with gcc 6.4.0 (GCC)
  configuration: --disable-stripping --enable-pic --enable-shared
--enable-pthreads --cross-prefix=arm-oe-linux-gnueabi-
--ld='arm-oe-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard
-fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
-Wformat -Wformat-security -Werror=format-security
--sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
--cc='arm-oe-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard
-fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
-Wformat -Wformat-security -Werror=format-security
--sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
--cxx='arm-oe-linux-gnueabi-g++ -march=armv7-a -mfpu=neon -mfloat-abi=hard
-fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
-Wformat -Wformat-security -Werror=format-security
--sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
--arch=arm --target-os=linux --enable-cross-compile --extra-cflags=' -O2
-fomit-frame-pointer -Wa,--noexecstack -fexpensive-optimizations
-frename-registers -ftree-vectorize -finline-functions -finline-limit=64
-Wno-error=maybe-uninitialized -Wno-error=unused-result -march=armv7-a
-mfpu=neon -mfloat-abi=hard -fstack-protector-strong -pie -fPIE
-D_FORTIFY_SOURCE=2 -Wa,--noexecstack -Wformat -Wformat-security
-Werror=format-security
--sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
--extra-ldflags='-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
-Wl,-z,relro,-z,now,-z,noexecstack'
--sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot
--libdir=/usr/lib --shlibdir=/usr/lib --datadir=/usr/share/ffmpeg
--disable-mipsdsp --disable-mipsdspr2 --cpu=generic --pkg-config=pkg-config
--enable-alsa --enable-avcodec --enable-avdevice --enable-avfilter
--enable-avformat --enable-avresample --enable-bzlib --disable-libfdk-aac
--enable-gpl --disable-libgsm --disable-indev=jack --disable-libvorbis
--enable-lzma --disable-libmfx --disable-libmp3lame --disable-openssl
--enable-postproc --disable-sdl2 --disable-libspeex --enable-swresample
--enable-swscale --enable-libtheora --disable-vaapi --disable-vdpau
--disable-libvpx --enable-libx264 --disable-libx265 --disable-libxcb
--disable-outdev=xv --enable-zlib
  libavutil      56. 48.100 / 56. 48.100
  libavcodec     58. 87.101 / 58. 87.101
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 83.100 /  7. 83.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument 'debug'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument
'h264_v4l2m2m'.
Reading option '-i' ... matched as input url with argument 'test.h264'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
format) with argument 'nv12'.
Reading option '/tmp/out.yuv' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url test.h264.
Applying option c:v (codec name) with argument h264_v4l2m2m.
Successfully parsed a group of options.
Opening an input file: test.h264.
[NULL @ 0xb406b310] Opening 'test.h264' for reading
[file @ 0xb406bb50] Setting default whitelist 'file,crypto,data'
[h264 @ 0xb406b310] Format h264 probed with size=2048 and score=51
[h264 @ 0xb406b310] Before avformat_find_stream_info() pos: 0 bytes
read:32768 seeks:0 nb_streams:1
[extract_extradata @ 0xb4073c90] nal_unit_type: 9(AUD), nal_ref_idc: 0
[extract_extradata @ 0xb4073c90] nal_unit_type: 7(SPS), nal_ref_idc: 3
[extract_extradata @ 0xb4073c90] nal_unit_type: 8(PPS), nal_ref_idc: 3
[extract_extradata @ 0xb4073c90] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0xb406c6a0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0xb406c6a0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0xb406c6a0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0xb406c6a0] Format yuv420p chosen by get_format().
[h264 @ 0xb406c6a0] Reinit context to 640x368, pix_fmt: yuv420p
[h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
nal_ref_idc: 2
[h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
nal_ref_idc: 2
[h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
nal_ref_idc: 2
[h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
nal_ref_idc: 2
[h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
nal_ref_idc: 2
[h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
nal_ref_idc: 2
[h264 @ 0xb406b310] max_analyze_duration 5000000 reached at 5039938
microseconds st:0
[h264 @ 0xb406b310] After avformat_find_stream_info() pos: 1772544 bytes
read:1802240 seeks:0 frames:78
Input #0, h264, from 'test.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0, 78, 1/1200000: Video: h264 (High), 1 reference frame,
yuv420p(tv, bt709, progressive, left), 640x360 (640x368), 0/1, 15.08 fps,
15 tbr, 1200k tbn, 30 tbc
Successfully opened the file.
Parsing a group of options: output url /tmp/out.yuv.
Applying option pix_fmt (set pixel format) with argument nv12.
Successfully parsed a group of options.
Opening an output file: /tmp/out.yuv.
[file @ 0xb406fb40] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
[h264_mp4toannexb @ 0xb406dd70] The input looks like it is Annex B already
[h264_v4l2m2m @ 0xb42f0730] probing device /dev/video2
[h264_v4l2m2m @ 0xb42f0730] driver 'sde_rotator' on card 'sde_rotator' in
splane mode
[h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
[h264_v4l2m2m @ 0xb42f0730] probing device /dev/video1
[h264_v4l2m2m @ 0xb42f0730] probing device /dev/video0
[h264_v4l2m2m @ 0xb42f0730] probing device /dev/video33
[h264_v4l2m2m @ 0xb42f0730] driver 'msm_vidc_driver' on card
'msm_vidc_venc' in mplane mode
[h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
[h264_v4l2m2m @ 0xb42f0730] probing device /dev/video32
[h264_v4l2m2m @ 0xb42f0730] driver 'msm_vidc_driver' on card
'msm_vidc_vdec' in mplane mode
[h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
[h264_v4l2m2m @ 0xb42f0730] Could not find a valid device
[h264_v4l2m2m @ 0xb42f0730] can't configure decoder
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> rawvideo (native))
Error while opening decoder for input stream #0:0 : Operation not permitted
[AVIOContext @ 0xb406fc90] Statistics: 0 seeks, 0 writeouts
[AVIOContext @ 0xb4073d00] Statistics: 1802240 bytes read, 0 seeks

On Sun, May 24, 2020 at 3:43 PM Carl Eugen Hoyos <[hidden email]> wrote:

> Am So., 24. Mai 2020 um 08:11 Uhr schrieb Anjo John <[hidden email]
> >:
>
> > I have been testing ffmpeg's v4l2m2m codec support in qualcomm qcs605
> SOC.
> > Ffmpeg isn't able to find the output format NV12 in the v4l2 m2m device.
> > Although the format NV12 is present and is listed with v4l-utils.
> >
> > FFMPEG version : tested 4.1.1 and 4.2.2
> > Below is the command i used for testing
> > *ffmpeg -y -c:v h264_v4l2m2m -i /opt/input.h264 -pix_fmt nv12 out.yuv*
>
> Please test current FFmpeg git head and provide the command line
> you tested together with the complete, uncut console output.
>
> > _Disclaimer: _© 2020 VVDN Technologies Pvt. Ltd. This e-mail
> > contains PRIVILEGED AND CONFIDENTIAL INFORMATION
>
> Please remove this from emails sent to a public mailing list.
>
> Carl Eugen
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> [hidden email] with subject "unsubscribe".



--

*With Best Regards*


*Anjo John*

VVDN Technologies Pvt Ltd

*Cell : *+91 9539931442 | Skype :anjojohn051

--



_Disclaimer: _© 2020 VVDN Technologies Pvt. Ltd. This e-mail contains
PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the
addressee(s). If you are not the intended recipient, please notify the
sender by e-mail and delete the original message. Further, you are not to
copy, disclose, or distribute this e-mail or its contents to any other
person and any such actions are unlawful._
_
_
_
__
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: h264_v4l2m2m unable to find output format

Andriy Gelman
On Sun, 24. May 18:49, Anjo John wrote:

> I have tested the master branch from git. it also reports the same
> behaviour. Sorry i couldn't remove the "Disclaimer" line at the end.
> Please find the complete output with loglevel debug.
> ffmpeg -loglevel debug -c:v h264_v4l2m2m -i test.h264 -pix_fmt nv12
> /tmp/out.yuv
> ffmpeg version N-97929-g26b4509 Copyright (c) 2000-2020 the FFmpeg
> developers
>   built with gcc 6.4.0 (GCC)
>   configuration: --disable-stripping --enable-pic --enable-shared
> --enable-pthreads --cross-prefix=arm-oe-linux-gnueabi-
> --ld='arm-oe-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard
> -fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
> -Wformat -Wformat-security -Werror=format-security
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> --cc='arm-oe-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard
> -fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
> -Wformat -Wformat-security -Werror=format-security
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> --cxx='arm-oe-linux-gnueabi-g++ -march=armv7-a -mfpu=neon -mfloat-abi=hard
> -fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
> -Wformat -Wformat-security -Werror=format-security
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> --arch=arm --target-os=linux --enable-cross-compile --extra-cflags=' -O2
> -fomit-frame-pointer -Wa,--noexecstack -fexpensive-optimizations
> -frename-registers -ftree-vectorize -finline-functions -finline-limit=64
> -Wno-error=maybe-uninitialized -Wno-error=unused-result -march=armv7-a
> -mfpu=neon -mfloat-abi=hard -fstack-protector-strong -pie -fPIE
> -D_FORTIFY_SOURCE=2 -Wa,--noexecstack -Wformat -Wformat-security
> -Werror=format-security
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> --extra-ldflags='-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
> -Wl,-z,relro,-z,now,-z,noexecstack'
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot
> --libdir=/usr/lib --shlibdir=/usr/lib --datadir=/usr/share/ffmpeg
> --disable-mipsdsp --disable-mipsdspr2 --cpu=generic --pkg-config=pkg-config
> --enable-alsa --enable-avcodec --enable-avdevice --enable-avfilter
> --enable-avformat --enable-avresample --enable-bzlib --disable-libfdk-aac
> --enable-gpl --disable-libgsm --disable-indev=jack --disable-libvorbis
> --enable-lzma --disable-libmfx --disable-libmp3lame --disable-openssl
> --enable-postproc --disable-sdl2 --disable-libspeex --enable-swresample
> --enable-swscale --enable-libtheora --disable-vaapi --disable-vdpau
> --disable-libvpx --enable-libx264 --disable-libx265 --disable-libxcb
> --disable-outdev=xv --enable-zlib
>   libavutil      56. 48.100 / 56. 48.100
>   libavcodec     58. 87.101 / 58. 87.101
>   libavformat    58. 43.100 / 58. 43.100
>   libavdevice    58.  9.103 / 58.  9.103
>   libavfilter     7. 83.100 /  7. 83.100
>   libavresample   4.  0.  0 /  4.  0.  0
>   libswscale      5.  6.101 /  5.  6.101
>   libswresample   3.  6.100 /  3.  6.100
>   libpostproc    55.  6.100 / 55.  6.100
> Splitting the commandline.
> Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> level) with argument 'debug'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_v4l2m2m'.
> Reading option '-i' ... matched as input url with argument 'test.h264'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'nv12'.
> Reading option '/tmp/out.yuv' ... matched as output url.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option loglevel (set logging level) with argument debug.
> Successfully parsed a group of options.
> Parsing a group of options: input url test.h264.
> Applying option c:v (codec name) with argument h264_v4l2m2m.
> Successfully parsed a group of options.
> Opening an input file: test.h264.
> [NULL @ 0xb406b310] Opening 'test.h264' for reading
> [file @ 0xb406bb50] Setting default whitelist 'file,crypto,data'
> [h264 @ 0xb406b310] Format h264 probed with size=2048 and score=51
> [h264 @ 0xb406b310] Before avformat_find_stream_info() pos: 0 bytes
> read:32768 seeks:0 nb_streams:1
> [extract_extradata @ 0xb4073c90] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [extract_extradata @ 0xb4073c90] nal_unit_type: 7(SPS), nal_ref_idc: 3
> [extract_extradata @ 0xb4073c90] nal_unit_type: 8(PPS), nal_ref_idc: 3
> [extract_extradata @ 0xb4073c90] nal_unit_type: 5(IDR), nal_ref_idc: 3
> [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 0xb406c6a0] nal_unit_type: 7(SPS), nal_ref_idc: 3
> [h264 @ 0xb406c6a0] nal_unit_type: 8(PPS), nal_ref_idc: 3
> [h264 @ 0xb406c6a0] nal_unit_type: 5(IDR), nal_ref_idc: 3
> [h264 @ 0xb406c6a0] Format yuv420p chosen by get_format().
> [h264 @ 0xb406c6a0] Reinit context to 640x368, pix_fmt: yuv420p
> [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> nal_ref_idc: 2
> [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> nal_ref_idc: 2
> [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> nal_ref_idc: 2
> [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> nal_ref_idc: 2
> [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> nal_ref_idc: 2
> [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> nal_ref_idc: 2
> [h264 @ 0xb406b310] max_analyze_duration 5000000 reached at 5039938
> microseconds st:0
> [h264 @ 0xb406b310] After avformat_find_stream_info() pos: 1772544 bytes
> read:1802240 seeks:0 frames:78
> Input #0, h264, from 'test.h264':
>   Duration: N/A, bitrate: N/A
>     Stream #0:0, 78, 1/1200000: Video: h264 (High), 1 reference frame,
> yuv420p(tv, bt709, progressive, left), 640x360 (640x368), 0/1, 15.08 fps,
> 15 tbr, 1200k tbn, 30 tbc
> Successfully opened the file.
> Parsing a group of options: output url /tmp/out.yuv.
> Applying option pix_fmt (set pixel format) with argument nv12.
> Successfully parsed a group of options.
> Opening an output file: /tmp/out.yuv.
> [file @ 0xb406fb40] Setting default whitelist 'file,crypto,data'
> Successfully opened the file.
> [h264_mp4toannexb @ 0xb406dd70] The input looks like it is Annex B already
> [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video2
> [h264_v4l2m2m @ 0xb42f0730] driver 'sde_rotator' on card 'sde_rotator' in
> splane mode
> [h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
> [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video1
> [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video0
> [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video33
> [h264_v4l2m2m @ 0xb42f0730] driver 'msm_vidc_driver' on card
> 'msm_vidc_venc' in mplane mode
> [h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
> [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video32
> [h264_v4l2m2m @ 0xb42f0730] driver 'msm_vidc_driver' on card
> 'msm_vidc_vdec' in mplane mode
> [h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
> [h264_v4l2m2m @ 0xb42f0730] Could not find a valid device
> [h264_v4l2m2m @ 0xb42f0730] can't configure decoder
> Stream mapping:
>   Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> rawvideo (native))
> Error while opening decoder for input stream #0:0 : Operation not permitted
> [AVIOContext @ 0xb406fc90] Statistics: 0 seeks, 0 writeouts
> [AVIOContext @ 0xb4073d00] Statistics: 1802240 bytes read, 0 seeks
>
> On Sun, May 24, 2020 at 3:43 PM Carl Eugen Hoyos <[hidden email]> wrote:
>
> > Am So., 24. Mai 2020 um 08:11 Uhr schrieb Anjo John <[hidden email]
> > >:
> >
> > > I have been testing ffmpeg's v4l2m2m codec support in qualcomm qcs605
> > SOC.
> > > Ffmpeg isn't able to find the output format NV12 in the v4l2 m2m device.
> > > Although the format NV12 is present and is listed with v4l-utils.
> > >
> > > FFMPEG version : tested 4.1.1 and 4.2.2
> > > Below is the command i used for testing
> > > *ffmpeg -y -c:v h264_v4l2m2m -i /opt/input.h264 -pix_fmt nv12 out.yuv*
> >
> > Please test current FFmpeg git head and provide the command line
> > you tested together with the complete, uncut console output.
> >
> > > _Disclaimer: _© 2020 VVDN Technologies Pvt. Ltd. This e-mail
> > > contains PRIVILEGED AND CONFIDENTIAL INFORMATION
> >
> > Please remove this from emails sent to a public mailing list.
> >
> > Carl Eugen
> > _______________________________________________
> > ffmpeg-user mailing list
> > [hidden email]
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > [hidden email] with subject "unsubscribe".
>

Hello,

It looks that your device doesn't have a h264 decoder.
Could you try: v4l2-ctl --list-formats-out -d /dev/video32 

It's also possible that VIDIOC_TRY_FMT ioctl fails during initialization.
Try: v4l2-compliance -d /dev/video32
and post the output.

--
Andriy
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: h264_v4l2m2m unable to find output format

Anjo John
Please find the v4l2-ctl output below
v4l2-ctl --list-formats-out -d /dev/video32
ioctl: VIDIOC_ENUM_FMT
Index       : 0
Type        : Video Output Multiplanar
Pixel Format: 'MPG2' (compressed)
Name        : MPEG-2 ES

Index       : 1
Type        : Video Output Multiplanar
Pixel Format: 'H264' (compressed)
Name        : H.264

Index       : 2
Type        : Video Output Multiplanar
Pixel Format: 'HEVC' (compressed)
Name        : HEVC

Index       : 3
Type        : Video Output Multiplanar
Pixel Format: 'VP80' (compressed)
Name        : VP8

Index       : 4
Type        : Video Output Multiplanar
Pixel Format: 'VP90' (compressed)
Name        : VP9

v4l2-complinace fails in 14 cases.
v4l2-compliance -d /dev/video32
v4l2-compliance SHA   : bf6084ee51251ff5ad89607055b95d409611a9b3

Driver Info:
Driver name   : msm_vidc_driver
Card type     : msm_vidc_vdec
Bus info      :
Driver version: 0.0.1
Capabilities  : 0x84203000
Video Capture Multiplanar
Video Output Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps   : 0x04203000
Video Capture Multiplanar
Video Output Multiplanar
Streaming
Extended Pix Format

Compliance test for device /dev/video32 (not using libv4l2):

Required ioctls:
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(314):
string empty
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(538):
check_ustring(vcap.bus_info, sizeof(vcap.bus_info))
test VIDIOC_QUERYCAP: FAIL

Allow for multiple opens:
test second video open: OK
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(314):
string empty
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(538):
check_ustring(vcap.bus_info, sizeof(vcap.bus_info))
test VIDIOC_QUERYCAP: FAIL
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(656):
doioctl(node, VIDIOC_S_PRIORITY, &prio)
test VIDIOC_G/S_PRIORITY: FAIL
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(628):
!ok
test for unlimited opens: FAIL

Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK
test VIDIOC_LOG_STATUS: OK (Not Supported)

Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-input-output.cpp(420):
G_INPUT not supported for a capture device
test VIDIOC_G/S/ENUMINPUT: FAIL
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 0 Audio Inputs: 0 Tuners: 0

Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-input-output.cpp(790):
G_OUTPUT not supported for an output device
test VIDIOC_G/S/ENUMOUTPUT: FAIL
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)

Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-controls.cpp(504):
g_ctrl accepted invalid control ID
test VIDIOC_G/S_CTRL: FAIL
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-controls.cpp(576):
g_ext_ctrls worked even when no controls are present
test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0

Format ioctls:
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(190):
0 for min_width/height or step_width/height
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: FAIL
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1191):
got error 22 when setting parms for buftype 1
test VIDIOC_G/S_PARM: FAIL
test VIDIOC_G_FBUF: OK (Not Supported)
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(448):
pixelformat 38323151 (Q128) for buftype 9 not reported by ENUM_FMT
test VIDIOC_G_FMT: FAIL
test VIDIOC_TRY_FMT: OK (Not Supported)
test VIDIOC_S_FMT: OK (Not Supported)
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1377):
doioctl(node, VIDIOC_G_SELECTION, &sel)
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1390):
testLegacyCrop(node)
test Cropping: FAIL
test Composing: OK (Not Supported)
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1553):
doioctl(node, VIDIOC_S_FMT, &fmt)
test Scaling: OK

Codec ioctls:
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-codecs.cpp(45):
ret != EINVAL
test VIDIOC_(TRY_)ENCODER_CMD: FAIL
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
fail:
../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-codecs.cpp(91):
ret != EINVAL
test VIDIOC_(TRY_)DECODER_CMD: FAIL

Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test VIDIOC_EXPBUF: OK (Not Supported)

Test input 0:


Total: 43, Succeeded: 29, Failed: 14, Warnings: 0

On Sun, May 24, 2020 at 9:10 PM Andriy Gelman <[hidden email]>
wrote:

> On Sun, 24. May 18:49, Anjo John wrote:
> > I have tested the master branch from git. it also reports the same
> > behaviour. Sorry i couldn't remove the "Disclaimer" line at the end.
> > Please find the complete output with loglevel debug.
> > ffmpeg -loglevel debug -c:v h264_v4l2m2m -i test.h264 -pix_fmt nv12
> > /tmp/out.yuv
> > ffmpeg version N-97929-g26b4509 Copyright (c) 2000-2020 the FFmpeg
> > developers
> >   built with gcc 6.4.0 (GCC)
> >   configuration: --disable-stripping --enable-pic --enable-shared
> > --enable-pthreads --cross-prefix=arm-oe-linux-gnueabi-
> > --ld='arm-oe-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard
> > -fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
> > -Wformat -Wformat-security -Werror=format-security
> >
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> > --cc='arm-oe-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard
> > -fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
> > -Wformat -Wformat-security -Werror=format-security
> >
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> > --cxx='arm-oe-linux-gnueabi-g++ -march=armv7-a -mfpu=neon
> -mfloat-abi=hard
> > -fstack-protector-strong -pie -fPIE -D_FORTIFY_SOURCE=2 -Wa,--noexecstack
> > -Wformat -Wformat-security -Werror=format-security
> >
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> > --arch=arm --target-os=linux --enable-cross-compile --extra-cflags=' -O2
> > -fomit-frame-pointer -Wa,--noexecstack -fexpensive-optimizations
> > -frename-registers -ftree-vectorize -finline-functions -finline-limit=64
> > -Wno-error=maybe-uninitialized -Wno-error=unused-result -march=armv7-a
> > -mfpu=neon -mfloat-abi=hard -fstack-protector-strong -pie -fPIE
> > -D_FORTIFY_SOURCE=2 -Wa,--noexecstack -Wformat -Wformat-security
> > -Werror=format-security
> >
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot'
> > --extra-ldflags='-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
> > -Wl,-z,relro,-z,now,-z,noexecstack'
> >
> --sysroot=/media/vvdn/data/zooj_vrcm/zooj_vrcm_64bit/src/system/hlos/poky/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/lib32-ffmpeg/1.0+git999-r0/lib32-recipe-sysroot
> > --libdir=/usr/lib --shlibdir=/usr/lib --datadir=/usr/share/ffmpeg
> > --disable-mipsdsp --disable-mipsdspr2 --cpu=generic
> --pkg-config=pkg-config
> > --enable-alsa --enable-avcodec --enable-avdevice --enable-avfilter
> > --enable-avformat --enable-avresample --enable-bzlib --disable-libfdk-aac
> > --enable-gpl --disable-libgsm --disable-indev=jack --disable-libvorbis
> > --enable-lzma --disable-libmfx --disable-libmp3lame --disable-openssl
> > --enable-postproc --disable-sdl2 --disable-libspeex --enable-swresample
> > --enable-swscale --enable-libtheora --disable-vaapi --disable-vdpau
> > --disable-libvpx --enable-libx264 --disable-libx265 --disable-libxcb
> > --disable-outdev=xv --enable-zlib
> >   libavutil      56. 48.100 / 56. 48.100
> >   libavcodec     58. 87.101 / 58. 87.101
> >   libavformat    58. 43.100 / 58. 43.100
> >   libavdevice    58.  9.103 / 58.  9.103
> >   libavfilter     7. 83.100 /  7. 83.100
> >   libavresample   4.  0.  0 /  4.  0.  0
> >   libswscale      5.  6.101 /  5.  6.101
> >   libswresample   3.  6.100 /  3.  6.100
> >   libpostproc    55.  6.100 / 55.  6.100
> > Splitting the commandline.
> > Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> > level) with argument 'debug'.
> > Reading option '-c:v' ... matched as option 'c' (codec name) with
> argument
> > 'h264_v4l2m2m'.
> > Reading option '-i' ... matched as input url with argument 'test.h264'.
> > Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> > format) with argument 'nv12'.
> > Reading option '/tmp/out.yuv' ... matched as output url.
> > Finished splitting the commandline.
> > Parsing a group of options: global .
> > Applying option loglevel (set logging level) with argument debug.
> > Successfully parsed a group of options.
> > Parsing a group of options: input url test.h264.
> > Applying option c:v (codec name) with argument h264_v4l2m2m.
> > Successfully parsed a group of options.
> > Opening an input file: test.h264.
> > [NULL @ 0xb406b310] Opening 'test.h264' for reading
> > [file @ 0xb406bb50] Setting default whitelist 'file,crypto,data'
> > [h264 @ 0xb406b310] Format h264 probed with size=2048 and score=51
> > [h264 @ 0xb406b310] Before avformat_find_stream_info() pos: 0 bytes
> > read:32768 seeks:0 nb_streams:1
> > [extract_extradata @ 0xb4073c90] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [extract_extradata @ 0xb4073c90] nal_unit_type: 7(SPS), nal_ref_idc: 3
> > [extract_extradata @ 0xb4073c90] nal_unit_type: 8(PPS), nal_ref_idc: 3
> > [extract_extradata @ 0xb4073c90] nal_unit_type: 5(IDR), nal_ref_idc: 3
> > [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [h264 @ 0xb406c6a0] nal_unit_type: 7(SPS), nal_ref_idc: 3
> > [h264 @ 0xb406c6a0] nal_unit_type: 8(PPS), nal_ref_idc: 3
> > [h264 @ 0xb406c6a0] nal_unit_type: 5(IDR), nal_ref_idc: 3
> > [h264 @ 0xb406c6a0] Format yuv420p chosen by get_format().
> > [h264 @ 0xb406c6a0] Reinit context to 640x368, pix_fmt: yuv420p
> > [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> > nal_ref_idc: 2
> > [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> > nal_ref_idc: 2
> > [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> > nal_ref_idc: 2
> > [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> > nal_ref_idc: 2
> > [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> > nal_ref_idc: 2
> > [h264 @ 0xb406c6a0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> > [h264 @ 0xb406c6a0] nal_unit_type: 1(Coded slice of a non-IDR picture),
> > nal_ref_idc: 2
> > [h264 @ 0xb406b310] max_analyze_duration 5000000 reached at 5039938
> > microseconds st:0
> > [h264 @ 0xb406b310] After avformat_find_stream_info() pos: 1772544 bytes
> > read:1802240 seeks:0 frames:78
> > Input #0, h264, from 'test.h264':
> >   Duration: N/A, bitrate: N/A
> >     Stream #0:0, 78, 1/1200000: Video: h264 (High), 1 reference frame,
> > yuv420p(tv, bt709, progressive, left), 640x360 (640x368), 0/1, 15.08 fps,
> > 15 tbr, 1200k tbn, 30 tbc
> > Successfully opened the file.
> > Parsing a group of options: output url /tmp/out.yuv.
> > Applying option pix_fmt (set pixel format) with argument nv12.
> > Successfully parsed a group of options.
> > Opening an output file: /tmp/out.yuv.
> > [file @ 0xb406fb40] Setting default whitelist 'file,crypto,data'
> > Successfully opened the file.
> > [h264_mp4toannexb @ 0xb406dd70] The input looks like it is Annex B
> already
> > [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video2
> > [h264_v4l2m2m @ 0xb42f0730] driver 'sde_rotator' on card 'sde_rotator' in
> > splane mode
> > [h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
> > [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video1
> > [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video0
> > [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video33
> > [h264_v4l2m2m @ 0xb42f0730] driver 'msm_vidc_driver' on card
> > 'msm_vidc_venc' in mplane mode
> > [h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
> > [h264_v4l2m2m @ 0xb42f0730] probing device /dev/video32
> > [h264_v4l2m2m @ 0xb42f0730] driver 'msm_vidc_driver' on card
> > 'msm_vidc_vdec' in mplane mode
> > [h264_v4l2m2m @ 0xb42f0730] v4l2 output format not supported
> > [h264_v4l2m2m @ 0xb42f0730] Could not find a valid device
> > [h264_v4l2m2m @ 0xb42f0730] can't configure decoder
> > Stream mapping:
> >   Stream #0:0 -> #0:0 (h264 (h264_v4l2m2m) -> rawvideo (native))
> > Error while opening decoder for input stream #0:0 : Operation not
> permitted
> > [AVIOContext @ 0xb406fc90] Statistics: 0 seeks, 0 writeouts
> > [AVIOContext @ 0xb4073d00] Statistics: 1802240 bytes read, 0 seeks
> >
> > On Sun, May 24, 2020 at 3:43 PM Carl Eugen Hoyos <[hidden email]>
> wrote:
> >
> > > Am So., 24. Mai 2020 um 08:11 Uhr schrieb Anjo John <
> [hidden email]
> > > >:
> > >
> > > > I have been testing ffmpeg's v4l2m2m codec support in qualcomm qcs605
> > > SOC.
> > > > Ffmpeg isn't able to find the output format NV12 in the v4l2 m2m
> device.
> > > > Although the format NV12 is present and is listed with v4l-utils.
> > > >
> > > > FFMPEG version : tested 4.1.1 and 4.2.2
> > > > Below is the command i used for testing
> > > > *ffmpeg -y -c:v h264_v4l2m2m -i /opt/input.h264 -pix_fmt nv12
> out.yuv*
> > >
> > > Please test current FFmpeg git head and provide the command line
> > > you tested together with the complete, uncut console output.
> > >
> > > > _Disclaimer: _© 2020 VVDN Technologies Pvt. Ltd. This e-mail
> > > > contains PRIVILEGED AND CONFIDENTIAL INFORMATION
> > >
> > > Please remove this from emails sent to a public mailing list.
> > >
> > > Carl Eugen
> > > _______________________________________________
> > > ffmpeg-user mailing list
> > > [hidden email]
> > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> > >
> > > To unsubscribe, visit link above, or email
> > > [hidden email] with subject "unsubscribe".
> >
>
> Hello,
>
> It looks that your device doesn't have a h264 decoder.
> Could you try: v4l2-ctl --list-formats-out -d /dev/video32
>
> It's also possible that VIDIOC_TRY_FMT ioctl fails during initialization.
> Try: v4l2-compliance -d /dev/video32
> and post the output.
>
> --
> Andriy
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> [hidden email] with subject "unsubscribe".



--

*With Best Regards*
*Anjo John*

--



_Disclaimer: _© 2020 VVDN Technologies Pvt. Ltd. This e-mail contains
PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the
addressee(s). If you are not the intended recipient, please notify the
sender by e-mail and delete the original message. Further, you are not to
copy, disclose, or distribute this e-mail or its contents to any other
person and any such actions are unlawful._
_
_
_
__
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: h264_v4l2m2m unable to find output format

Andriy Gelman
On Sun, 24. May 21:46, Anjo John wrote:

> Please find the v4l2-ctl output below
> v4l2-ctl --list-formats-out -d /dev/video32
> ioctl: VIDIOC_ENUM_FMT
> Index       : 0
> Type        : Video Output Multiplanar
> Pixel Format: 'MPG2' (compressed)
> Name        : MPEG-2 ES
>
> Index       : 1
> Type        : Video Output Multiplanar
> Pixel Format: 'H264' (compressed)
> Name        : H.264
>
> Index       : 2
> Type        : Video Output Multiplanar
> Pixel Format: 'HEVC' (compressed)
> Name        : HEVC
>
> Index       : 3
> Type        : Video Output Multiplanar
> Pixel Format: 'VP80' (compressed)
> Name        : VP8
>
> Index       : 4
> Type        : Video Output Multiplanar
> Pixel Format: 'VP90' (compressed)
> Name        : VP9

That's strange. Looks that h264 decoder is supported, but we fail when trying to
probe it in ffmpeg. There are v4l2-compliance fails, but not sure if they are related.
You could also look at the output of dmesg..

>
> v4l2-complinace fails in 14 cases.
> v4l2-compliance -d /dev/video32
> v4l2-compliance SHA   : bf6084ee51251ff5ad89607055b95d409611a9b3
>
> Driver Info:
> Driver name   : msm_vidc_driver
> Card type     : msm_vidc_vdec
> Bus info      :
> Driver version: 0.0.1
> Capabilities  : 0x84203000
> Video Capture Multiplanar
> Video Output Multiplanar
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps   : 0x04203000
> Video Capture Multiplanar
> Video Output Multiplanar
> Streaming
> Extended Pix Format
>
> Compliance test for device /dev/video32 (not using libv4l2):
>
> Required ioctls:
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(314):
> string empty
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(538):
> check_ustring(vcap.bus_info, sizeof(vcap.bus_info))
> test VIDIOC_QUERYCAP: FAIL
>
> Allow for multiple opens:
> test second video open: OK
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(314):
> string empty
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(538):
> check_ustring(vcap.bus_info, sizeof(vcap.bus_info))
> test VIDIOC_QUERYCAP: FAIL
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(656):
> doioctl(node, VIDIOC_S_PRIORITY, &prio)
> test VIDIOC_G/S_PRIORITY: FAIL
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-compliance.cpp(628):
> !ok
> test for unlimited opens: FAIL
>
> Debug ioctls:
> test VIDIOC_DBG_G/S_REGISTER: OK
> test VIDIOC_LOG_STATUS: OK (Not Supported)
>
> Input ioctls:
> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> test VIDIOC_ENUMAUDIO: OK (Not Supported)
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-input-output.cpp(420):
> G_INPUT not supported for a capture device
> test VIDIOC_G/S/ENUMINPUT: FAIL
> test VIDIOC_G/S_AUDIO: OK (Not Supported)
> Inputs: 0 Audio Inputs: 0 Tuners: 0
>
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-input-output.cpp(790):
> G_OUTPUT not supported for an output device
> test VIDIOC_G/S/ENUMOUTPUT: FAIL
> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> Outputs: 0 Audio Outputs: 0 Modulators: 0
>
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> test VIDIOC_G/S_EDID: OK (Not Supported)
>
> Control ioctls:
> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
> test VIDIOC_QUERYCTRL: OK
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-controls.cpp(504):
> g_ctrl accepted invalid control ID
> test VIDIOC_G/S_CTRL: FAIL
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-controls.cpp(576):
> g_ext_ctrls worked even when no controls are present
> test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL
> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> Standard Controls: 0 Private Controls: 0
>
> Format ioctls:
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(190):
> 0 for min_width/height or step_width/height
> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: FAIL
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1191):
> got error 22 when setting parms for buftype 1
> test VIDIOC_G/S_PARM: FAIL
> test VIDIOC_G_FBUF: OK (Not Supported)
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(448):
> pixelformat 38323151 (Q128) for buftype 9 not reported by ENUM_FMT
> test VIDIOC_G_FMT: FAIL
> test VIDIOC_TRY_FMT: OK (Not Supported)
> test VIDIOC_S_FMT: OK (Not Supported)
> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1377):
> doioctl(node, VIDIOC_G_SELECTION, &sel)
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1390):
> testLegacyCrop(node)
> test Cropping: FAIL
> test Composing: OK (Not Supported)
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-formats.cpp(1553):
> doioctl(node, VIDIOC_S_FMT, &fmt)
> test Scaling: OK
>
> Codec ioctls:
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-codecs.cpp(45):
> ret != EINVAL
> test VIDIOC_(TRY_)ENCODER_CMD: FAIL
> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> fail:
> ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-codecs.cpp(91):
> ret != EINVAL
> test VIDIOC_(TRY_)DECODER_CMD: FAIL
>
> Buffer ioctls:
> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> test VIDIOC_EXPBUF: OK (Not Supported)
>
> Test input 0:
>
>
> Total: 43, Succeeded: 29, Failed: 14, Warnings: 0
>
> On Sun, May 24, 2020 at 9:10 PM Andriy Gelman <[hidden email]>
> wrote:
>

--
Andriy
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".