Re: [PATCH v2 4/5] media: imx-jpeg: Add V4L2 driver for i.MX8 JPEG Encoder/Decoder

From: Mirela Rabulea
Date: Thu Dec 12 2019 - 10:12:09 EST


Hi,

On Vi, 2019-11-15 at 14:34 +0200, Mirela Rabulea wrote:
> V4L2 driver for the JPEG encoder/decoder from i.MX8QXP/i.MX8QM
> application
> processors.
> The multi-planar buffers API is used.
>
> Baseline and extended sequential jpeg decoding is supported.
> Progressive jpeg decoding is not supported by the IP.
> Supports encode and decode of various formats:
> ÂÂÂÂÂYUV444, YUV422, YUV420, RGB, ARGB, Gray
> YUV420 is the only multi-planar format supported.
> Minimum resolution is 64 x 64, maximum 8192 x 8192.
> The alignment requirements for the resolution depend on the format,
> multiple of 16 resolutions should work for all formats.
>
> v4l2-compliance tests are passing, including the
> streaming tests, "v4l2-compliance -s"
>
> Signed-off-by: Mirela Rabulea <mirela.rabulea@xxxxxxx>
> ---
> Changes in v2:
> Fix v4l2-compliance streaming tests, "v4l2-compliance -s"
> + return 0;
> +}

Any new feedback after the v2 for this patch? Or for the entire patch
set?

The status so far is:
Patch #1 got Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.
com>
Patch #2 got no feedback.
Patch #3 got Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
Patch #4 is at v2, after fixing v4l2-compliance streaming tests, thanks
Hans Verkuil for feedback. There was more feedback from Ezequiel Garcia
related to common JPEG code, I tried using Philipp Zabel's v4l2 JPEG
helpers patch, but I cannot use it "as-is", I'm expecting the next
version.
Patch #5 got no feedback

For the reference, this is the latest output from v4l2-compliance:

./v4l2-compliance --device /dev/video1 -s
v4l2-compliance SHA: 6c415a11fceb32067cdb5c2e33f90dbf018182a4, 64 bits

Compliance test for mxc-jpeg decode device /dev/video1:

Driver Info:
Driver nameÂÂÂÂÂÂ: mxc-jpeg decode
Card typeÂÂÂÂÂÂÂÂ: mxc-jpeg decoder
Bus infoÂÂÂÂÂÂÂÂÂ: platform:58450000.jpegenc
Driver versionÂÂÂ: 5.5.0
CapabilitiesÂÂÂÂÂ: 0x84204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device CapsÂÂÂÂÂÂ: 0x04204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Detected JPEG Encoder

Required ioctls:
test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
test second /dev/video1 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK

Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
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)
test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
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)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
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 (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
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:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK

Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK

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

Test input 0:

Streaming ioctls:
test read/write: OK (Not Supported)
test blocking wait: OK
Video Capture Multiplanar: Captured 58 buffersÂÂÂÂ
test MMAP (no poll): OK
Video Capture Multiplanar: Captured 58 buffersÂÂÂÂ
test MMAP (select): OK
Video Capture Multiplanar: Captured 58 buffersÂÂÂÂ
test MMAP (epoll): OK
test USERPTR (no poll): OK (Not Supported)
test USERPTR (select): OK (Not Supported)
test DMABUF: Cannot test, specify --expbuf-device

Total for mxc-jpeg decode device /dev/video1: 51, Succeeded: 51,
Failed: 0, Warnings: 0

Thanks,
Mirela