bootlin / libva-v4l2-request

LibVA implementation for the Linux Video4Linux2 Request API
Other
77 stars 60 forks source link

libva-v4l2-request on aarch64 #18

Closed avafinger closed 5 years ago

avafinger commented 5 years ago

Hi,

I am trying to build libva-v4l2-request on my board with gcc 8.2 but it can't link `tiled_to_planar' for some reason.

Can you please provide the right way to configure and build the libva-v4l2-request?

Here is the way i am trying:

./autogen.sh --prefix=/usr CFLAGS="-I/usr/src/linux-headers-$(uname -r)/include"

~/libva-v4l2-request$ make
Making all in src
make[1]: Entering directory '/home/ubuntu/libva-v4l2-request/src'
make  all-am
make[2]: Entering directory '/home/ubuntu/libva-v4l2-request/src'
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-request.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-request.Tpo -c -o v4l2_request_drv_video_la-request.lo `test -f 'request.c' || echo './'`request.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-request.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-request.Tpo -c request.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-request.o
mv -f .deps/v4l2_request_drv_video_la-request.Tpo .deps/v4l2_request_drv_video_la-request.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-object_heap.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-object_heap.Tpo -c -o v4l2_request_drv_video_la-object_heap.lo `test -f 'object_heap.c' || echo './'`object_heap.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-object_heap.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-object_heap.Tpo -c object_heap.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-object_heap.o
mv -f .deps/v4l2_request_drv_video_la-object_heap.Tpo .deps/v4l2_request_drv_video_la-object_heap.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-config.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-config.Tpo -c -o v4l2_request_drv_video_la-config.lo `test -f 'config.c' || echo './'`config.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-config.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-config.Tpo -c config.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-config.o
mv -f .deps/v4l2_request_drv_video_la-config.Tpo .deps/v4l2_request_drv_video_la-config.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-surface.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-surface.Tpo -c -o v4l2_request_drv_video_la-surface.lo `test -f 'surface.c' || echo './'`surface.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-surface.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-surface.Tpo -c surface.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-surface.o
mv -f .deps/v4l2_request_drv_video_la-surface.Tpo .deps/v4l2_request_drv_video_la-surface.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-context.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-context.Tpo -c -o v4l2_request_drv_video_la-context.lo `test -f 'context.c' || echo './'`context.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-context.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-context.Tpo -c context.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-context.o
mv -f .deps/v4l2_request_drv_video_la-context.Tpo .deps/v4l2_request_drv_video_la-context.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-buffer.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-buffer.Tpo -c -o v4l2_request_drv_video_la-buffer.lo `test -f 'buffer.c' || echo './'`buffer.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-buffer.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-buffer.Tpo -c buffer.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-buffer.o
mv -f .deps/v4l2_request_drv_video_la-buffer.Tpo .deps/v4l2_request_drv_video_la-buffer.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-picture.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-picture.Tpo -c -o v4l2_request_drv_video_la-picture.lo `test -f 'picture.c' || echo './'`picture.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-picture.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-picture.Tpo -c picture.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-picture.o
mv -f .deps/v4l2_request_drv_video_la-picture.Tpo .deps/v4l2_request_drv_video_la-picture.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-subpicture.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-subpicture.Tpo -c -o v4l2_request_drv_video_la-subpicture.lo `test -f 'subpicture.c' || echo './'`subpicture.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-subpicture.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-subpicture.Tpo -c subpicture.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-subpicture.o
mv -f .deps/v4l2_request_drv_video_la-subpicture.Tpo .deps/v4l2_request_drv_video_la-subpicture.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-image.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-image.Tpo -c -o v4l2_request_drv_video_la-image.lo `test -f 'image.c' || echo './'`image.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-image.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-image.Tpo -c image.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-image.o
mv -f .deps/v4l2_request_drv_video_la-image.Tpo .deps/v4l2_request_drv_video_la-image.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-utils.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-utils.Tpo -c -o v4l2_request_drv_video_la-utils.lo `test -f 'utils.c' || echo './'`utils.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-utils.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-utils.Tpo -c utils.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-utils.o
mv -f .deps/v4l2_request_drv_video_la-utils.Tpo .deps/v4l2_request_drv_video_la-utils.Plo
depbase=`echo tiled_yuv.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool    --mode=compile gcc -DHAVE_CONFIG_H -I.     -I/usr/src/linux-headers-4.20.6/include -MT tiled_yuv.lo -MD -MP -MF $depbase.Tpo -c -o tiled_yuv.lo tiled_yuv.S &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I/usr/src/linux-headers-4.20.6/include -MT tiled_yuv.lo -MD -MP -MF .deps/tiled_yuv.Tpo -c tiled_yuv.S  -fPIC -DPIC -o .libs/tiled_yuv.o
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-video.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-video.Tpo -c -o v4l2_request_drv_video_la-video.lo `test -f 'video.c' || echo './'`video.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-video.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-video.Tpo -c video.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-video.o
mv -f .deps/v4l2_request_drv_video_la-video.Tpo .deps/v4l2_request_drv_video_la-video.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-media.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-media.Tpo -c -o v4l2_request_drv_video_la-media.lo `test -f 'media.c' || echo './'`media.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-media.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-media.Tpo -c media.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-media.o
mv -f .deps/v4l2_request_drv_video_la-media.Tpo .deps/v4l2_request_drv_video_la-media.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-v4l2.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-v4l2.Tpo -c -o v4l2_request_drv_video_la-v4l2.lo `test -f 'v4l2.c' || echo './'`v4l2.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-v4l2.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-v4l2.Tpo -c v4l2.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-v4l2.o
mv -f .deps/v4l2_request_drv_video_la-v4l2.Tpo .deps/v4l2_request_drv_video_la-v4l2.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-mpeg2.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-mpeg2.Tpo -c -o v4l2_request_drv_video_la-mpeg2.lo `test -f 'mpeg2.c' || echo './'`mpeg2.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-mpeg2.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-mpeg2.Tpo -c mpeg2.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-mpeg2.o
mv -f .deps/v4l2_request_drv_video_la-mpeg2.Tpo .deps/v4l2_request_drv_video_la-mpeg2.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-h264.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-h264.Tpo -c -o v4l2_request_drv_video_la-h264.lo `test -f 'h264.c' || echo './'`h264.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-h264.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-h264.Tpo -c h264.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-h264.o
mv -f .deps/v4l2_request_drv_video_la-h264.Tpo .deps/v4l2_request_drv_video_la-h264.Plo
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.    -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-h265.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-h265.Tpo -c -o v4l2_request_drv_video_la-h265.lo `test -f 'h265.c' || echo './'`h265.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include/libdrm -I/usr/src/linux-headers-4.20.6/include -MT v4l2_request_drv_video_la-h265.lo -MD -MP -MF .deps/v4l2_request_drv_video_la-h265.Tpo -c h265.c  -fPIC -DPIC -o .libs/v4l2_request_drv_video_la-h265.o
mv -f .deps/v4l2_request_drv_video_la-h265.Tpo .deps/v4l2_request_drv_video_la-h265.Plo
/bin/bash ../libtool  --tag=CC   --mode=link gcc -I../include -I/usr/include/libdrm  -I/usr/src/linux-headers-4.20.6/include -module -avoid-version -no-undefined -Wl,--no-undefined  -o v4l2_request_drv_video.la -rpath /usr/lib/dri/ v4l2_request_drv_video_la-request.lo v4l2_request_drv_video_la-object_heap.lo v4l2_request_drv_video_la-config.lo v4l2_request_drv_video_la-surface.lo v4l2_request_drv_video_la-context.lo v4l2_request_drv_video_la-buffer.lo v4l2_request_drv_video_la-picture.lo v4l2_request_drv_video_la-subpicture.lo v4l2_request_drv_video_la-image.lo v4l2_request_drv_video_la-utils.lo tiled_yuv.lo v4l2_request_drv_video_la-video.lo v4l2_request_drv_video_la-media.lo v4l2_request_drv_video_la-v4l2.lo v4l2_request_drv_video_la-mpeg2.lo v4l2_request_drv_video_la-h264.lo v4l2_request_drv_video_la-h265.lo -ldrm -lva 
libtool: link: gcc -shared  -fPIC -DPIC  .libs/v4l2_request_drv_video_la-request.o .libs/v4l2_request_drv_video_la-object_heap.o .libs/v4l2_request_drv_video_la-config.o .libs/v4l2_request_drv_video_la-surface.o .libs/v4l2_request_drv_video_la-context.o .libs/v4l2_request_drv_video_la-buffer.o .libs/v4l2_request_drv_video_la-picture.o .libs/v4l2_request_drv_video_la-subpicture.o .libs/v4l2_request_drv_video_la-image.o .libs/v4l2_request_drv_video_la-utils.o .libs/tiled_yuv.o .libs/v4l2_request_drv_video_la-video.o .libs/v4l2_request_drv_video_la-media.o .libs/v4l2_request_drv_video_la-v4l2.o .libs/v4l2_request_drv_video_la-mpeg2.o .libs/v4l2_request_drv_video_la-h264.o .libs/v4l2_request_drv_video_la-h265.o   -ldrm -lva  -Wl,--no-undefined   -Wl,-soname -Wl,v4l2_request_drv_video.so -o .libs/v4l2_request_drv_video.so
.libs/v4l2_request_drv_video_la-image.o: In function `RequestDeriveImage':
image.c:(.text+0x5b4): undefined reference to `tiled_to_planar'
collect2: error: ld returned 1 exit status
Makefile:512: recipe for target 'v4l2_request_drv_video.la' failed
make[2]: *** [v4l2_request_drv_video.la] Error 1
make[2]: Leaving directory '/home/ubuntu/libva-v4l2-request/src'
Makefile:427: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/ubuntu/libva-v4l2-request/src'
Makefile:416: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
avafinger commented 5 years ago

readelf -Ws tiled_yuv.o

Symbol table '.symtab' contains 5 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    2 
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
avafinger commented 5 years ago

Does it run on aarch64?

e1voronov commented 5 years ago

Hi ALL, I have the same issue....

.libs/v4l2_request_drv_video_la-image.o: In function RequestDeriveImage: /usr/src/bootlin/libva-v4l2-request-release-2019.03/src/image.c:179: undefined reference to tiled_to_planar collect2: error: ld returned 1 exit status Makefile:512: recipe for target 'v4l2_request_drv_video.la' failed make[2]: [v4l2_request_drv_video.la] Error 1 make[2]: Leaving directory '/usr/src/bootlin/libva-v4l2-request-release-2019.03/src' Makefile:427: recipe for target 'all' failed make[1]: [all] Error 2 make[1]: Leaving directory '/usr/src/bootlin/libva-v4l2-request-release-2019.03/src' Makefile:416: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1

gcc --version gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0

Any thoughts on it?

avafinger commented 5 years ago

@e1voronov

Changed title to better suit the issue.

Legacy cedrus for arm64 does not link (or use) tiled_to_planar. I think this was only tested on arm32. Hope someone can clarify.

e1voronov commented 5 years ago

@avafinger you are right, I do not see this issue on my Allwinner H2+ system (ARCH=arm).

avafinger commented 5 years ago

@e1voronov I think i have found a workaround, how do you test libva-v4l2-request on you H2+?

avafinger commented 5 years ago

Testing with v4l2-request-test gives the following output:

./v4l2-request-test

Config:
 Video path: /dev/video0
 Media path: /dev/media0
 DRM path: /dev/dri/card0
 DRM driver: sun4i-drm
 Slices path: data/bbb-mpeg2
 Slices filename format: slice-%d.dump
 FPS: 0

Preset:
 Name: bbb-mpeg2
 Description: big_buck_bunny_480p_MPEG2_MP2_25fps_1800K.MPG
 License: Creative Commons Attribution 3.0
 Attribution: Blender Foundation | www.blender.org
 Width: 854
 Height: 480
 Frames count: 25
 Format: MPEG2

Media device driver: sun6i-csi
Destination format: NV12 YUV
Missing required driver M2M capability
avafinger commented 5 years ago

Wrong media, now:

./v4l2-request-test -v /dev/video1 -m /dev/media1

Config:
 Video path: /dev/video1
 Media path: /dev/media1
 DRM path: /dev/dri/card0
 DRM driver: sun4i-drm
 Slices path: data/bbb-mpeg2
 Slices filename format: slice-%d.dump
 FPS: 0

Preset:
 Name: bbb-mpeg2
 Description: big_buck_bunny_480p_MPEG2_MP2_25fps_1800K.MPG
 License: Creative Commons Attribution 3.0
 Attribution: Blender Foundation | www.blender.org
 Width: 854
 Height: 480
 Frames count: 25
 Format: MPEG2

Media device driver: cedrus
Destination format: NV12 YUV
Scaling video from 854x480 to 1920x1079+0+0

Processing frame 1/25
Loaded 40286 bytes of video slice data
Unable to set control: Invalid argument
Unable to set slice parameters control
Unable to set format controls
Unable to decode video frame
avafinger commented 5 years ago

@mripard @paulkocialkowski It took me some time to figure out the node order may change on every boot and media order also.

This worked fine: ./v4l2-request-test -v /dev/video1 -m /dev/media0

Is that possible to use ffmpeg to decode and display using v4l2? How would be a command line to accomplish that?

jernejsk commented 5 years ago

@avafinger recently @kwiboo updated his ffmpeg request api codec to automatically find correct video and media devices: https://github.com/Kwiboo/FFmpeg/blob/v4l2-request-hwaccel/libavcodec/v4l2_request.c#L596-L633

BTW, recent Cedrus fix is needed for this to work

avafinger commented 5 years ago

@jernejsk , nice, thanks.

I supposedly have the latest Cedrus (which i don't know which version or the fix it should have), care to point where it is?

With the currently ffmpeg without that fix i am trying the following without success (removed the v4l2 camera):

ffmpeg -v 9 -loglevel 99 -c:v h264_v4l2m2m -i big-buck-bunny-30sec-fullhd.mp4 -f v4l2 /dev/video1

Successfully opened the file.
Parsing a group of options: output url /dev/video1.
Applying option f (force format) with argument v4l2.
Successfully parsed a group of options.
Opening an output file: /dev/video1.
Successfully opened the file.
[h264_v4l2m2m @ 0xaaaacf91f4f0] probing device /dev/video1
[h264_v4l2m2m @ 0xaaaacf91f4f0] driver 'cedrus' on card 'cedrus'
[h264_v4l2m2m @ 0xaaaacf91f4f0] v4l2 output format not supported
[h264_v4l2m2m @ 0xaaaacf91f4f0] Could not find a valid device
[h264_v4l2m2m @ 0xaaaacf91f4f0] can't configure decoder
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (h264_v4l2m2m) -> rawvideo (native))
Error while opening decoder for input stream #0:1 : Invalid argument

I would like to test Kodi but have no idea how Kodi will use ffmpeg to decode and display it on a GDM context.

Can you share additional info?

avafinger commented 5 years ago

ffmpeg -v 9 -loglevel 99 -c:v h264_v4l2m2m -i big-buck-bunny-30sec-fullhd.mp4 -f v4l2 test.raw

Successfully opened the file.
Parsing a group of options: output url test.raw.
Applying option f (force format) with argument v4l2.
Successfully parsed a group of options.
Opening an output file: test.raw.
Successfully opened the file.
[h264_v4l2m2m @ 0xaaaae135b4f0] probing device /dev/video1
[h264_v4l2m2m @ 0xaaaae135b4f0] driver 'cedrus' on card 'cedrus'
[h264_v4l2m2m @ 0xaaaae135b4f0] v4l2 output format not supported
[h264_v4l2m2m @ 0xaaaae135b4f0] Could not find a valid device
[h264_v4l2m2m @ 0xaaaae135b4f0] can't configure decoder
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (h264_v4l2m2m) -> rawvideo (native))
Error while opening decoder for input stream #0:1 : Invalid argument
[AVIOContext @ 0xaaaae134ef90] Statistics: 83249 bytes read, 2 seeks
jernejsk commented 5 years ago

fix is here: https://git.linuxtv.org/hverkuil/media_tree.git/commit/?h=for-v5.2k&id=bac875349f8525a75760d0eee525186cb59658ea

However, I'm a bit confused what are you trying to do. Do you want to use libva-v4l2-request library? If so, then you need to use vaapi in ffmpeg. If you want to use Cedrus driver directly in ffmpeg, then you need to use special version of ffmpeg (https://github.com/Kwiboo/ffmpeg), because stateless v4l2 codecs are not yet supported in upstream ffmpeg.

Anyway, h264_v4l2m2m is not correct, because it is for stateful v4l2 codecs. I think you should just leave out this part.

BTW, which kernel sources are you using?

avafinger commented 5 years ago

I have Cedrus from Mainline 5.1. libva-v4l2-request is working on my Opi H6 and NanoPi A64 (backported Cedrus and Media to 4.20).

The final goal is to use Kodi, and since i have to learn (still have) how Kodi will use h264_v4l2m2m and how it will display it to a GBM context , i thought it would use VAAPI but VAAPI requires OpenGLES3 and i only have OpenGLES2.

any thoughts?

avafinger commented 5 years ago

[Lukas Rusak]

Can you please tell how i should instruct Kodi to use Cedrus in this case?

PS: And the Cedrus and ffmpeg i used were missing the fixes.

jernejsk commented 5 years ago

As I said, h264_v4l2m2m won't work with Cedrus at all. Additionally, libva-v4l2-request is not optimal choice for Kodi as you already figured out.

On LibreELEC Kodi is already working very well with Cedrus driver and DRMPRIME renderer (uses DRM planes). Trick is that special version of ffmpeg I linked in previous post, which natively supports Cedrus.

If you want to test already built image, you can grab one here: https://test.libreelec.tv/ If you want to learn how everything is put together, you can check build system: https://github.com/LibreELEC/LibreELEC.tv (mostly projects/Allwinner and packages/multimedia/ffmpeg/patches)

Besides that "special" ffmpeg, Kodi needs only one patch for H265, otherwise is unchanged.

avafinger commented 5 years ago

Thanks for the info, really appreciate it. Will close here since libva-v4l2-request is working on aarch64 removing the reference to tiled_yuv.

Thank you!

avafinger commented 5 years ago

@jernejsk I have seen your commit on LibreElec but I still confused about mali on H6. Can you please clarify if you need to specify a platform x11|gbm|wayland to build Kodi? "DRMPRIME renderer (uses DRM planes)" implies it does not use GL or GLES at all, right?. The libmali i have found is for fbdev and DDX version does not match the libmali version. Can you point to a GBM libmali somewhere?

jernejsk commented 5 years ago

@avafinger

  1. AFAIK, you always need to specify platform, in this case gbm.
  2. GLES is used, otherwise you wouldn't need GPU driver at all. In this case for GUI rendering and for rendering software decoded video. You can also prefer rendering with GPU over DRM planes.
  3. T720 GBM driver exists only in 32-bit version (LibreELEC prefers 32-bit userspace for now because some binary only plugins can be found only in armhf version, so I asked for such version). You can find it on https://wiki.pine64.org/index.php/PINE_H64_Main_Page#32-bit_Wayland_MALI_Driver:
avafinger commented 5 years ago

@jernejsk Thank you!

avafinger commented 5 years ago

@jernejsk I get these errors in ffmpeg , can you suggest how to fix it? (Call from KODI)

2019-05-19 02:59:33.196 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 55, Bad address (14)
2019-05-19 02:59:33.210 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 53, Bad address (14)
2019-05-19 02:59:33.227 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 51, Bad address (14)
2019-05-19 02:59:33.241 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 55, Bad address (14)
2019-05-19 02:59:33.259 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 53, Bad address (14)
2019-05-19 02:59:33.275 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 51, Bad address (14)
2019-05-19 02:59:33.295 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 55, Bad address (14)
2019-05-19 02:59:33.308 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 53, Bad address (14)
2019-05-19 02:59:33.329 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 51, Bad address (14)
2019-05-19 02:59:33.345 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 55, Bad address (14)
2019-05-19 02:59:33.359 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
frame: set controls failed for request 53, Bad address (14)
2019-05-19 02:59:33.377 T:281472778866832   ERROR: ffmpeg[FFFF7CFF9090]: [h264] ff_v4l2_request_decode_
int ff_v4l2_request_decode_frame(AVCodecContext *avctx, AVFrame *frame, struct v4l2_ext_control *control, int count)
{
    V4L2RequestContext *ctx = avctx->internal->hwaccel_priv_data;
    V4L2RequestDescriptor *req = (V4L2RequestDescriptor*)frame->data[0];
    struct timeval tv = { 2, 0 };
    fd_set except_fds;
    int ret;

    av_log(avctx, AV_LOG_DEBUG, "%s: avctx=%p used=%u controls=%d index=%d fd=%d request_fd=%d\n", __func__, avctx, req->output.used, count, req->capture.index, req->capture.fd, req->request_fd);

    ret = v4l2_request_set_controls(ctx, req->request_fd, control, count);
    if (ret < 0) {
        av_log(avctx, AV_LOG_ERROR, "%s: set controls failed for request %d, %s (%d)\n", __func__, req->request_fd, strerror(errno), errno);
        return -1;
    }
jernejsk commented 5 years ago

I guess you don't have all patches which comes with LE? Note that API is not stable at all so it's best to stick to a known working combo.

avafinger commented 5 years ago

I pulled Leia 18.3 RC1 And applied the LE patches:

0002-guisize.patch
0001-Remove-check-for-sw-format.patch

and used the ffmpeg you pointed (https://github.com/Kwiboo/ffmpeg) and that matches the LE patches for the ffmpeg. I dont know where LE fetches the KODI sources, can you give some pointers?

jernejsk commented 5 years ago

I mean kernel patches. Kodi and ffmpeg patches you used are correct and you don't have to do anything else regarding that. LE uses Kodi git directly.

avafinger commented 5 years ago

I don't have the 4K patches applied since i am now on A64. Interesting that libva-v4l2-request is working with the v4l2-request-test just fine, so i assumed was ok.

jernejsk commented 5 years ago

why not? 4K H264 and H265 playback works just fine on A64. However, you need patch from upcoming 5.2-rc1 to render it correctly.

ffmpeg uses modified H264 interface which is not compatible with this Cedrus driver. This was made mostly to cover interlaced videos. It's only temporary until consensus is reached regarding H264 interface.

In short, you can use Bootlin Cedrus branch with libva-v4l2-request and the v4l2-request-test or you can use ffmpeg + additional Cedrus patches from LE.

avafinger commented 5 years ago

Right, i have to make a choice then, i mixed the two. I guess i have to learn how it works or have to wait for the standardization. Thanks again for the info!

avafinger commented 5 years ago

@jernejsk , One last try, please, can you spot what could be wrong with the interface here, where addr is nil or no picture?

2019-05-19 19:53:09.535 T:281473307381904   DEBUG: Open - avformat_find_stream_info starting
2019-05-19 19:53:09.535 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] Before avformat_find_stream_info() pos: 4676 bytes read:8192 seeks:0 nb_streams:1
2019-05-19 19:53:09.537 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] nal_unit_type: 7, nal_ref_idc: 3
2019-05-19 19:53:09.537 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] nal_unit_type: 8, nal_ref_idc: 3
2019-05-19 19:53:09.538 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 0, dts -66667
2019-05-19 19:53:09.543 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] nal_unit_type: 6, nal_ref_idc: 0
2019-05-19 19:53:09.545 T:281473453215888   DEBUG: CAnnouncementManager - Announcement: OnPlay from xbmc
2019-05-19 19:53:09.545 T:281473453215888   DEBUG: GOT ANNOUNCEMENT, type: 1, from xbmc, message OnPlay
2019-05-19 19:53:09.548 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] nal_unit_type: 5, nal_ref_idc: 3
2019-05-19 19:53:09.548 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] Format yuv420p chosen by get_format().
2019-05-19 19:53:09.548 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] Reinit context to 1920x1088, pix_fmt: yuv420p
2019-05-19 19:53:09.555 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] no picture
2019-05-19 19:53:09.633 T:281473453228048   DEBUG: ------ Window Init (DialogBusy.xml) ------
2019-05-19 19:53:10.004 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] All info found
2019-05-19 19:53:10.005 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0: start_time: 0.000 duration: 10.000
2019-05-19 19:53:10.005 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] format: start_time: 0.000 duration: 10.000 bitrate=24563 kb/s
2019-05-19 19:53:10.007 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] After avformat_find_stream_info() pos: 1162504 bytes read:1162504 seeks:0 frames:1
2019-05-19 19:53:10.007 T:281473307381904   DEBUG: Open - av_find_stream_info finished
2019-05-19 19:53:10.007 T:281473307381904    INFO: ffmpeg[FFFF9C801090]: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/ubuntu/videos/Big_Buck_Bunny_1080_10s_30MB.mp4':
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:   Metadata:
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     major_brand     : isom
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     minor_version   : 512
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     compatible_brands: isomiso2avc1mp41
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     title           : Big Buck Bunny, Sunflower version
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     composer        : Sacha Goedegebure
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     encoder         : Lavf57.63.100
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     genre           : Animation
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:   Duration: 00:00:10.00, start: 0.000000, bitrate: 24563 kb/s
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     Stream #0:0(und), 1, 1/15360: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 24559 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
2019-05-19 19:53:10.008 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:     Metadata:
2019-05-19 19:53:10.009 T:281473307381904    INFO: ffmpeg[FFFF9C801090]:       handler_name    : VideoHandler
2019-05-19 19:53:10.009 T:281473307381904   DEBUG: CDVDDemuxFFmpeg::AddStream ID: 0
2019-05-19 19:53:10.009 T:281473307381904  NOTICE: Opening stream: 0 source: 256
2019-05-19 19:53:10.009 T:281473307381904  NOTICE: Creating video codec with codec id: 27
2019-05-19 19:53:10.009 T:281473307381904  NOTICE: CDVDVideoCodecDRMPRIME::Open - using decoder H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
2019-05-19 19:53:10.010 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [AVHWDeviceContext] Opened DRM device /dev/dri/card0: driver sun4i-drm version 1.0.0.
2019-05-19 19:53:10.010 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] nal_unit_type: 7, nal_ref_idc: 3
2019-05-19 19:53:10.010 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [h264] nal_unit_type: 8, nal_ref_idc: 3
2019-05-19 19:53:10.010 T:281473307381904   DEBUG: CVideoPlayerVideo::OpenStream - open stream with codec id: 27
2019-05-19 19:53:10.010 T:281473307381904  NOTICE: Creating video thread
2019-05-19 19:53:10.010 T:281473164767376   DEBUG: Thread VideoPlayerVideo start, auto delete: false
2019-05-19 19:53:10.010 T:281473164767376  NOTICE: running thread: video_thread
2019-05-19 19:53:10.010 T:281473307381904   DEBUG: ReadEditDecisionLists - Checking for edit decision lists (EDL) on local drive or remote share for: /home/ubuntu/videos/Big_Buck_Bunny_1080_10s_30MB.mp4
2019-05-19 19:53:10.011 T:281473164767376   DEBUG: CVideoPlayerVideo - CDVDMsg::GENERAL_PAUSE: 0
2019-05-19 19:53:10.011 T:281473307381904   DEBUG: CVideoPlayer::SetCaching - caching state 2
2019-05-19 19:53:10.011 T:281473307381904   DEBUG: CDVDClock::SetSpeedAdjust - adjusted:0.000000
2019-05-19 19:53:10.011 T:281473307381904   DEBUG: CVideoPlayer::HandleMessages - player 2 reported state: 0
2019-05-19 19:53:10.014 T:281473307381904   DEBUG: CVideoPlayer::SetCaching - caching state 1
2019-05-19 19:53:10.015 T:281473164767376    INFO: CVideoPlayerVideo - Stillframe left, switching to normal playback
2019-05-19 19:53:10.015 T:281473307381904   DEBUG: CDVDClock::SetSpeedAdjust - adjusted:0.000000
2019-05-19 19:53:10.015 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 1, dts -33333
2019-05-19 19:53:10.018 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 2, dts 0
2019-05-19 19:53:10.019 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 3, dts 33333
2019-05-19 19:53:10.019 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 4, dts 66667
2019-05-19 19:53:10.019 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 5, dts 100000
2019-05-19 19:53:10.022 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] nal_unit_type: 6, nal_ref_idc: 0
2019-05-19 19:53:10.023 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 6, dts 133333
2019-05-19 19:53:10.023 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 7, dts 166667
2019-05-19 19:53:10.023 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 8, dts 200000
2019-05-19 19:53:10.023 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 9, dts 233333
2019-05-19 19:53:10.026 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 10, dts 266667
2019-05-19 19:53:10.026 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 11, dts 300000
2019-05-19 19:53:10.026 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 12, dts 333333
2019-05-19 19:53:10.027 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 13, dts 366667
2019-05-19 19:53:10.027 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 14, dts 400000
2019-05-19 19:53:10.027 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 15, dts 433333
2019-05-19 19:53:10.027 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] nal_unit_type: 5, nal_ref_idc: 3
2019-05-19 19:53:10.027 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] Format drm_prime chosen by get_format().
2019-05-19 19:53:10.027 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] Format drm_prime requires hwaccel initialisation.
2019-05-19 19:53:10.027 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] ff_v4l2_request_init: avctx=0xffff7807a210 hw_device_ctx=0xffff78076190 hw_frames_ctx=(nil)
2019-05-19 19:53:10.029 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 16, dts 466667
2019-05-19 19:53:10.029 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_probe_media_device: avctx=0xffff7807a210 ctx=0xffff7c002120 path=/dev/media0 driver=cedrus
2019-05-19 19:53:10.030 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 17, dts 500000
2019-05-19 19:53:10.030 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_probe_video_device: avctx=0xffff7807a210 ctx=0xffff7c002120 path=/dev/video1 capabilities=69238784
2019-05-19 19:53:10.030 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 18, dts 533333
2019-05-19 19:53:10.030 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_init_context: pixelformat=842094158 width=1920 height=1088 bytesperline=1920 sizeimage=3133440
2019-05-19 19:53:10.030 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 19, dts 566667
2019-05-19 19:53:10.030 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] ff_v4l2_request_frame_params: avctx=0xffff7807a210 ctx=0xffff7c002120 hw_frames_ctx=0xffff7c002c20 hwfc=0xffff7c002560 pool=0xffff7c0025c0 width=1920 height=1088 initial_pool_size=3
2019-05-19 19:53:10.030 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c00ee40
2019-05-19 19:53:10.030 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 20, dts 600000
2019-05-19 19:53:10.030 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c00f058 type=2
2019-05-19 19:53:10.030 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=875967059 width=1920 height=1088 bytesperline=0 sizeimage=2097152
2019-05-19 19:53:10.030 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 21, dts 633333
2019-05-19 19:53:10.034 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 22, dts 666667
2019-05-19 19:53:10.034 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c00f058 index=0 fd=-1 addr=0xffff64686000 width=1920 height=1088 size=2097152
2019-05-19 19:53:10.034 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c00f0d0 type=1
2019-05-19 19:53:10.034 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=842094158 width=1920 height=1088 bytesperline=1920 sizeimage=3133440
2019-05-19 19:53:10.035 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 23, dts 700000
2019-05-19 19:53:10.035 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 24, dts 733333
2019-05-19 19:53:10.035 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 25, dts 766667
2019-05-19 19:53:10.036 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 26, dts 800000
2019-05-19 19:53:10.036 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 27, dts 833333
2019-05-19 19:53:10.038 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c00f0d0 index=0 fd=43 addr=(nil) width=1920 height=1088 size=3133440
2019-05-19 19:53:10.038 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c00ee40 request_fd=45
2019-05-19 19:53:10.039 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c00f490
2019-05-19 19:53:10.039 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c00f6a8 type=2
2019-05-19 19:53:10.039 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=875967059 width=1920 height=1088 bytesperline=0 sizeimage=2097152
2019-05-19 19:53:10.039 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 28, dts 866667
2019-05-19 19:53:10.040 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 29, dts 900000
2019-05-19 19:53:10.040 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 30, dts 933333
2019-05-19 19:53:10.040 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 31, dts 966667
2019-05-19 19:53:10.041 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 32, dts 1000000
2019-05-19 19:53:10.041 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 33, dts 1033333
2019-05-19 19:53:10.042 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c00f6a8 index=1 fd=-1 addr=0xffff64436000 width=1920 height=1088 size=2097152
2019-05-19 19:53:10.042 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c00f720 type=1
2019-05-19 19:53:10.042 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=842094158 width=1920 height=1088 bytesperline=1920 sizeimage=3133440
2019-05-19 19:53:10.045 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 34, dts 1066667
2019-05-19 19:53:10.046 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 35, dts 1100000
2019-05-19 19:53:10.046 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 36, dts 1133333
2019-05-19 19:53:10.046 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 37, dts 1166667
2019-05-19 19:53:10.046 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c00f720 index=1 fd=46 addr=(nil) width=1920 height=1088 size=3133440
2019-05-19 19:53:10.046 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 38, dts 1200000
2019-05-19 19:53:10.046 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c00f490 request_fd=47
2019-05-19 19:53:10.047 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c002d70
2019-05-19 19:53:10.047 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c002f88 type=2
2019-05-19 19:53:10.047 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 39, dts 1233333
2019-05-19 19:53:10.047 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=875967059 width=1920 height=1088 bytesperline=0 sizeimage=2097152
2019-05-19 19:53:10.051 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c002f88 index=2 fd=-1 addr=0xffff6419e000 width=1920 height=1088 size=2097152
2019-05-19 19:53:10.051 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 40, dts 1266667
2019-05-19 19:53:10.051 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c003000 type=1
2019-05-19 19:53:10.051 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=842094158 width=1920 height=1088 bytesperline=1920 sizeimage=3133440
2019-05-19 19:53:10.052 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 41, dts 1300000
2019-05-19 19:53:10.052 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 42, dts 1333333
2019-05-19 19:53:10.053 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 43, dts 1366667
2019-05-19 19:53:10.053 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 44, dts 1400000
2019-05-19 19:53:10.053 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 45, dts 1433333
2019-05-19 19:53:10.057 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 46, dts 1466667
2019-05-19 19:53:10.057 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c003000 index=2 fd=48 addr=(nil) width=1920 height=1088 size=3133440
2019-05-19 19:53:10.057 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c002d70 request_fd=49
2019-05-19 19:53:10.057 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c0032d0
2019-05-19 19:53:10.057 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c0034e8 type=2
2019-05-19 19:53:10.057 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=875967059 width=1920 height=1088 bytesperline=0 sizeimage=2097152
2019-05-19 19:53:10.058 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 47, dts 1500000
2019-05-19 19:53:10.058 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 48, dts 1533333
2019-05-19 19:53:10.058 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 49, dts 1566667
2019-05-19 19:53:10.058 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 50, dts 1600000
2019-05-19 19:53:10.059 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 51, dts 1633333
2019-05-19 19:53:10.062 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 52, dts 1666667
2019-05-19 19:53:10.063 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c0034e8 index=3 fd=-1 addr=0xffff5be00000 width=1920 height=1088 size=2097152
2019-05-19 19:53:10.063 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c003560 type=1
2019-05-19 19:53:10.063 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 53, dts 1700000
2019-05-19 19:53:10.063 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=842094158 width=1920 height=1088 bytesperline=1920 sizeimage=3133440
2019-05-19 19:53:10.063 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 54, dts 1733333
2019-05-19 19:53:10.064 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 55, dts 1766667
2019-05-19 19:53:10.064 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 56, dts 1800000
2019-05-19 19:53:10.068 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 57, dts 1833333
2019-05-19 19:53:10.068 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c003560 index=3 fd=50 addr=(nil) width=1920 height=1088 size=3133440
2019-05-19 19:53:10.068 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c0032d0 request_fd=51
2019-05-19 19:53:10.068 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c003860
2019-05-19 19:53:10.069 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c003a78 type=2
2019-05-19 19:53:10.069 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=875967059 width=1920 height=1088 bytesperline=0 sizeimage=2097152
2019-05-19 19:53:10.069 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 58, dts 1866667
2019-05-19 19:53:10.069 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 59, dts 1900000
2019-05-19 19:53:10.069 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 60, dts 1933333
2019-05-19 19:53:10.069 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 61, dts 1966667
2019-05-19 19:53:10.070 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 62, dts 2000000
2019-05-19 19:53:10.074 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 63, dts 2033333
2019-05-19 19:53:10.074 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c003a78 index=4 fd=-1 addr=0xffff5bba6000 width=1920 height=1088 size=2097152
2019-05-19 19:53:10.074 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c003af0 type=1
2019-05-19 19:53:10.074 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=842094158 width=1920 height=1088 bytesperline=1920 sizeimage=3133440
2019-05-19 19:53:10.075 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 64, dts 2066667
2019-05-19 19:53:10.075 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 65, dts 2100000
2019-05-19 19:53:10.076 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 66, dts 2133333
2019-05-19 19:53:10.076 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 67, dts 2166667
2019-05-19 19:53:10.076 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 68, dts 2200000
2019-05-19 19:53:10.080 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c003af0 index=4 fd=52 addr=(nil) width=1920 height=1088 size=3133440
2019-05-19 19:53:10.080 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 69, dts 2233333
2019-05-19 19:53:10.080 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c003860 request_fd=53
2019-05-19 19:53:10.080 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c003fe0
2019-05-19 19:53:10.080 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c0041f8 type=2
2019-05-19 19:53:10.081 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=875967059 width=1920 height=1088 bytesperline=0 sizeimage=2097152
2019-05-19 19:53:10.081 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 70, dts 2266667
2019-05-19 19:53:10.081 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 71, dts 2300000
2019-05-19 19:53:10.082 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 72, dts 2333333
2019-05-19 19:53:10.082 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 73, dts 2366667
2019-05-19 19:53:10.082 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 74, dts 2400000
2019-05-19 19:53:10.086 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c0041f8 index=5 fd=-1 addr=0xffff5b8fc000 width=1920 height=1088 size=2097152
2019-05-19 19:53:10.086 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: avctx=0xffff7807a210 buf=0xffff7c004270 type=1
2019-05-19 19:53:10.086 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: pixelformat=842094158 width=1920 height=1088 bytesperline=1920 sizeimage=3133440
2019-05-19 19:53:10.086 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 75, dts 2433333
2019-05-19 19:53:10.087 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 76, dts 2466667
2019-05-19 19:53:10.088 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 77, dts 2500000
2019-05-19 19:53:10.088 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 78, dts 2533333
2019-05-19 19:53:10.088 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 79, dts 2566667
2019-05-19 19:53:10.088 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 80, dts 2600000
2019-05-19 19:53:10.093 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 81, dts 2633333
2019-05-19 19:53:10.094 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 82, dts 2666667
2019-05-19 19:53:10.094 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_buffer_alloc: buf=0xffff7c004270 index=5 fd=54 addr=(nil) width=1920 height=1088 size=3133440
2019-05-19 19:53:10.094 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] v4l2_request_frame_alloc: avctx=0xffff7807a210 size=776 data=0xffff7c003fe0 request_fd=55
2019-05-19 19:53:10.094 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 83, dts 2700000
2019-05-19 19:53:10.094 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] Reinit context to 1920x1088, pix_fmt: drm_prime
2019-05-19 19:53:10.094 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 84, dts 2733333
2019-05-19 19:53:10.094 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 85, dts 2766667
2019-05-19 19:53:10.094 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 86, dts 2800000
2019-05-19 19:53:10.097 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 87, dts 2833333
2019-05-19 19:53:10.097 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] no picture
2019-05-19 19:53:10.098 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 88, dts 2866667
2019-05-19 19:53:10.098 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 89, dts 2900000
2019-05-19 19:53:10.098 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 90, dts 2933333
2019-05-19 19:53:10.098 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 91, dts 2966667
2019-05-19 19:53:10.099 T:281473164767376   DEBUG: ffmpeg[FFFF93FFF090]: [h264] ff_v4l2_request_decode_frame: avctx=0xffff7807a210 used=1157027 controls=5 index=5 fd=54 request_fd=55
2019-05-19 19:53:10.099 T:281473307381904   DEBUG: ffmpeg[FFFF9C801090]: [mov,mp4,m4a,3gp,3g2,mj2] stream 0, sample 92, dts 3000000
2019-05-19 19:53:10.099 T:281473164767376   ERROR: ffmpeg[FFFF93FFF090]: [h264] ff_v4l2_request_decode_frame: set controls failed for request 55, Bad address (14)
2019-05-19 19:53:10.099 T:281473164767376   ERROR: ffmpeg[FFFF93FFF090]: [h264] hardware accelerator failed to decode picture
2019-05-19 19:53:10.099 T:281473164767376   ERROR: CDVDVideoCodecDRMPRIME::AddData - send packet failed, ret:-1
avafinger commented 5 years ago

@jernejsk Kwiboo's ffmpeg has structure size and field order mismatch from Cedrus. I have re-written them and now h264 is starting to decode and i have drm_prime output with some artifacts. But something else is missing. I have triple checked the Cedrus code and it matched the latest PATCH.

Is it possible for you to push to GitHub the final kernel tree you used on your LE latest build? (A64)

For the record:

2019-05-23 08:02:01.730 T:281472652415120   DEBUG: ffmpeg[FFFF75761090]: [h264] nal_unit_type: 6, nal_ref_idc: 0
2019-05-23 08:02:01.741 T:281472652415120   DEBUG: ffmpeg[FFFF75761090]: [h264] nal_unit_type: 5, nal_ref_idc: 3
2019-05-23 08:02:01.744 T:281472652415120   DEBUG: ffmpeg[FFFF75761090]: [h264] ff_v4l2_request_decode_frame: avctx=0xffff701b1b10 used=1157027 controls=5 index=3 fd=49 request_fd=50
2019-05-23 08:02:03.767 T:281472652415120   ERROR: ffmpeg[FFFF75761090]: [h264] ff_v4l2_request_decode_frame: request 50 timeout
2019-05-23 08:02:03.768 T:281472652415120   ERROR: ffmpeg[FFFF75761090]: [h264] ff_v4l2_request_decode_frame: dequeue output buffer 3 failed for request 50, Resource temporarily unavailable (11)
2019-05-23 08:02:03.768 T:281472652415120   ERROR: ffmpeg[FFFF75761090]: [h264] ff_v4l2_request_decode_frame: dequeue capture buffer 3 failed for request 50, Resource temporarily unavailable (11)
2019-05-23 08:02:03.769 T:281472652415120   ERROR: ffmpeg[FFFF75761090]: [h264] ff_v4l2_request_decode_frame: reinit request 50 failed, Device or resource busy (16)
2019-05-23 08:02:03.769 T:281472652415120   ERROR: ffmpeg[FFFF75761090]: [h264] hardware accelerator failed to decode picture