Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Changes in v3 since v2: - Kconfig: select VIDEOBUF2_DMA_CONTIG, not SG - drop i2c code as unused - Dropped num_buffers check in queue_setup as suggested by Hans - Drop std autodetect on streaming start as suggested by Hans - Cleanup buf queue on enable_input() failure - Change container_of() to list_entry() where applicable - Changed V4L2_FIELD_NONE to V4L2_FIELD_INTERLACED as suggested - frameinterval rework suggested by Hans - Add enum_framesizes - Report framesize based on std, not input w/h - Add printed warning about known video quality issues - MAINTAINERS: fix path - request_mem_region() -> pci_request_regions() - Rebase onto Hans' "for-v4.8i" branch - Follow changes from patchset "vb2: replace allocation context by device pointer" Below log is produced by today's v4l2-compliance from v4l-utils git, and this patch based on branch "for-v4.8i" of git://linuxtv.org/hverkuil/media_tree.git . Compliance test runs fine. checkpatch.pl is happy with this patch except for artifacts_warning which produces a bunch of such warnings: WARNING: quoted string split across lines torvalds#155: FILE: drivers/media/pci/tw5864/tw5864-core.c:44: +"This driver was developed by Bluecherry LLC by deducing behaviour of original" +" manufacturer's driver, from both source code and execution traces.\n" I believe I'd better not join all the lines to avoid them looking like "Paragraph one.\Paragraph two.\Paragraph three.\n" # v4l2-compliance -d 6 -s v4l2-compliance SHA : 5e74f6a15aa14c01d8319e086d98f33d96a6a04d Driver Info: Driver name : tw5864 Card type : TW5864 Encoder 2 Bus info : PCI:0000:06:05.0 Driver version: 4.7.0 Capabilities : 0x85200001 Video Capture Read/Write Streaming Extended Pix Format Device Capabilities Device Caps : 0x05200001 Video Capture Read/Write Streaming Extended Pix Format Compliance test for device /dev/video6 (not using libv4l2): Required ioctls: test VIDIOC_QUERYCAP: OK Allow for multiple opens: test second video open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK 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 test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 1 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 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) Test input 0: Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 11 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK 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 (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK Test input 0: Streaming ioctls: test read/write: OK test MMAP: OK test USERPTR: OK (Not Supported) test DMABUF: OK (Not Supported) Total: 46, Succeeded: 46, Failed: 0, Warnings: 0 ---8<--- Support for boards based on Techwell TW5864 chip which provides multichannel video & audio grabbing and encoding (H.264, MJPEG, ADPCM G.726). This submission implements only H.264 encoding of all channels at D1 resolution. Thanks to Mark Thompson <[email protected]> for help, and for contribution of H.264 startcode emulation prevention code. Signed-off-by: Andrey Utkin <[email protected]> Tested-by: Andrey Utkin <[email protected]>
- Loading branch information