Commit Graph

39 Commits

Author SHA1 Message Date
Mihir Ganu
1b5a6b1d6f video: driver: Add support for AV1 dynamic frame resolution change
AV1 bitstream frames can have different resolutions than
sequence resolutions. Subscribe to BITSTREAM_RESOLUTION and
CROP_OFFSETS metadatas and exopose them to clients so that
clients can receive per-frame resolution and crop.

Change-Id: I7c0503f25ddde201979d13ff18028681f685d649
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2021-12-17 10:58:35 -08:00
Mahesh Kumar Sharma
2a7cf79509 video: driver: Add AV1 codec, profile and level in UAPI
Add AV1 codec, profile and level defintions and controls in UAPI.
Add these controls as private controls in video driver.

Change-Id: I58edec2d7fabceaa405708c99a75997c9f454022
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
2021-11-30 15:01:05 -08:00
Mahesh Kumar Sharma
767c8ad13d video: driver: Fix dlkm compilation
1.) New dma_buf_vmap() returns SUCCESS or FAIL unlike legacy dma_buf_vmap()
    which return type is vmap address. dma_buf_vmap() takes two arguments now.
    Now it returns vmap address in pointer passed as second argument.
2.) If defined, use V4L2_CTRL_CLASS_CODEC else use V4L2_CTRL_CLASS_MPEG.
3.) iommu_dma_enable_best_fit_algo is commented temporary.
4.) remove subsystem_resart.h

Change-Id: I73c6a840fa6028f021debff33b88178ac74dcef9
Signed-off-by: Mahesh Kumar Sharma <smahesh@codeaurora.org>
2021-11-03 16:32:50 -07:00
Akshata Sahukar
4a0e4b65c2 video: driver: fix CTS V2 media DecoderColorAspectsTest color mismatch issue
Since ycbcr_enc is u8 member varible, 302 value exceeds its memory range
resulting in storage of incorrect matrix coefficents, and passing the same
to HAL. As a result, incorrect color space info is propagated to client
resulting into color mismatch issue and failing the CTS testcase.
Fixed this.

Change-Id: I66424c033bb4c4ad7d7528974a45a6a4b2740327
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-08-27 10:20:17 -07:00
Darshana Patil
05270719fb video: driver: add max num reorder frames support
add support for HFI_PROP_MAX_NUM_REORDER_FRAMES.
add ctrl for this metadata for avc and hevc.

Change-Id: I9a7b95f130e58f810255aff23e9b605304841072
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-08-09 11:39:57 -07:00
Akshata Sahukar
36a4971392 video: driver: Add enc vbr min quality restrictions
Do not support vbr min quality with below configs:
- HEVC 10bit
- Bitstream fps > 60
- ROI enabled/support
- HP encoding
- External Blur
- Resolution beyond 1080P.

Change-Id: I5e4a420abdd0c6fee4342c3c097684ef69bb0597
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-06-15 18:23:36 -07:00
Vikash Garodia
72699f7278 video: driver: Add encoder complexity to decide power mode
Client can choose to run an encode session to acheive maximum
performance rather than maximum quality.
Add the handling to configure video core accordingly for the
configured video session.
Such configuration is only applicable for non-realtime session.

Change-Id: Ife290b377c844e5b1d3be93b2509c787f8e05c59
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2021-06-10 05:43:00 -07:00
Darshana Patil
e7c7a2fb02 video-driver: add decode QP metadata support
add v4l2 extension and necassary support for
decoder QP metadata.

Change-Id: I364ef9b7b3a63bef0a59c955018bc8456f12d03f
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-05-14 13:43:16 -07:00
Govindaraj Rajagopal
f05007686d video: driver: add support for main10StillPic profile
Added support for V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE.
It willbe used in 10bit image encoding usecases.

Change-Id: I14877547f1f4792eefb0ea6bcecf2643627c125a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-05-06 22:09:25 +05:30
Akshata Sahukar
7c612dd033 video: driver: Deprecate private ctrls and use upstream ctrls
Remove private ctrl definitions, and use upstream ctrls
in source code.

Change-Id: Ib12cae5b78be69936bf0f97ca09483f5baa60350
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-08 12:10:39 -07:00
Akshata Sahukar
691131156d video: driver: Define upstream controls
Define upstream controls if any control is currently not
availble in gki or gsi bionic header file.

Change-Id: I370c58712479cb3e8f6f4e5650a8c35cefe59c4f
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-05 18:46:14 -07:00
Akshata Sahukar
89e7e48231 video: driver: Add support to deliver HFI_PROP_BUFFER_TAG via FTB
Add support to deliver HFI_PROP_BUFFER_TAG via FTB metadata buffer
to receive HFI_PROP_DPB_TAG_LIST from fw via FBD metadata buffer.

Change-Id: Id9eeee26135379975f55923505d9c91905fa0b9e
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-31 19:09:10 -07:00
Akshata Sahukar
359b3bd628 video: driver: Deprecate upstreamed private ctrls
Deprecate ctrls that are now available in upstream.

Change-Id: Id1c99d3d6c9b9eebc15216786298a4693ab574e4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-29 10:25:09 -07:00
Akshata Sahukar
14efc2a0bc video: driver: Add support to advanced bitrate ctrls
Add support to below properties:
- HFI_PROP_BITRATE_BOOST
- HFI_PROP_CONTENT_ADAPTIVE_CODING
- HFI_PROP_MAINTAIN_MIN_QUALITY
- HFI_PROP_VBV_DELAY
- HFI_PROP_TOTAL_PEAK_BITRATE
- HFI_PROP_BITRATE_LAYERx.

Change-Id: I1072f97c7c202c7f4fc38c26e0ab9274ae06fce0
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-25 14:50:20 -07:00
qctecmdr
c07fa5dd60 Merge "video: driver: add RGBA format support" 2021-03-23 13:37:09 -07:00
Darshana Patil
48912aee84 video: driver: add RGBA format support
add RGBA and RGBA_UBWC color format support
for encoder.

Change-Id: I3e179ae9769d851afc5a6f11e1afb14d96e92073
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-22 18:12:16 -07:00
Chinmay Sawarkar
6d7120a4d3 video: driver: Add ctrl for encoder input cr
Add new control to set Encoder Input Compression Ratio.

Change-Id: I4a68aead33c40e848ed354c51356e4084190290d
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-03-22 16:22:15 -07:00
Govindaraj Rajagopal
67f9760f85 video: driver: add HEIC codec type to support image session
Added V4L2_PIX_FMT_HEIC codec type to support image decode
and encode session.

Change-Id: I1adc3eeacaef5622222122b464ffd43b877638e8
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-13 18:41:19 +05:30
Vinay Pandurangi
048064ff82 Revert video: driver: add HEIC codec type to support image session
Change-Id: I164df87ab15c31e368a27f5f7f8d0f207f73df6b
2021-03-12 18:34:01 -08:00
Govindaraj Rajagopal
cb2b2112f1 video: driver: add HEIC codec type to support image session
Added V4L2_PIX_FMT_HEIC codec type to support image encode
and decode session.

Change-Id: I41fef70de36e853a694afe5fca7a365e46a1b034
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-12 18:22:19 +05:30
Darshana Patil
eab6987113 video: driver: add dpb tag list control
add dpb tag list private control.

Change-Id: I1bc409991e94ac455918eab41e6bdfb7a526b577
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-05 16:29:48 -08:00
Darshana Patil
57637ef8e0 video: driver: add thumbnail mode and priority controls
add thumbnail mode and priority private controls.

Change-Id: Ie274d8ab429978d12054e5a07956f34e025b8e1f
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-03 18:11:20 -08:00
Darshana Patil
481a6117d8 video: driver: update license year
update license year to 2020-2021

Change-Id: I5a67bf49c386e86337bc7449ded08d186fc9a280
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-01 18:07:35 -08:00
Akshata Sahukar
20d30c5dd2 video: driver: amend colorspace info setting
v4l2 enums for color space info are not one to one
mappings with hevc spec values. Hence, introduce and
use corresponding mapper functions.

Change-Id: I37a79a9b34b66184ece9a284ae98c9fa4efd248f
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-26 12:52:14 -08:00
Govindaraj Rajagopal
f02bbaf836 video: driver: enable encoder superframe batching support
Added HFR/HSR superframe handling support for encoder.

Change-Id: I28ced3f223cd78d00b1a654a79bcac3b02f378dc
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-02-22 11:52:43 +05:30
Mihir Ganu
59813f951d video: driver: Update interlace metadata UAPI
Update UAPI for interlace metadata and add
better logging for metadata qbuf.

Change-Id: Icd56872ffea7444a1b8f3c5c1bb61495552659b4
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-22 17:41:48 -08:00
Akshata Sahukar
0b21038c27 video: driver: Add support to deduce min, max, frame qp values
Add support to deduce min, max, frame qp values from client set
controls and set the same to video firmware.

Change-Id: Id94e781cc0c8afdf0e9e00562bdaea32db04fd74
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-21 12:49:37 -08:00
Darshana Patil
56f8fb871d video: driver: move msm_media_info from uapi
move msm_midia_info from uapi to core video
driver folder.

Change-Id: Ibe7eb898fd40958577a8b1afa46c46ea3c6a2ddf
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-15 14:44:35 -08:00
Darshana Patil
45d8a8c80e video: driver: add decoder bitstream size overwrite support
add decoder bitsream size overwrite support

Change-Id: Id2968c3ac7d485109a47ff7a570a1c18d74dfe43
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-14 19:06:52 -08:00
Mihir Ganu
2126abf6c3 video: driver: Update metadata delivery and subscription
Enable delivery and subscriptions of various metadata based
on client settings. Also, skip instance state changes during
metadata port streamon/streamoff.

Change-Id: I063b562818c661bf1932c3362ecb709d7fe6bc20
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-08 16:48:31 -08:00
Mihir Ganu
ce89227af9 video: driver: Enable encoder and decoder metadata
-Add support to set metadata controls.
-Adjust set/get format for metadata ports.
-Add check when queuing metadata buffers.

Change-Id: I73725e26106621386dcb62cbf916186b9bc43995
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2020-12-23 09:55:59 -08:00
Akshata Sahukar
10e2017aa8 video: driver: update instance database with controls
Update instance database with v4l2 controls.

Change-Id: I0715edfcbf46a82c8e2f67ec298185e2cf4eb5d0
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-11-02 14:22:45 -08:00
Akshata Sahukar
7fe61f51d3 video: driver: add private control definitions
Add private control macros and update old private
control macro usage with newly added macros.

Change-Id: Ie07fa28d74860bbd4de45fdcf746c1990c811aec
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-11-02 14:22:08 -08:00
Akshata Sahukar
4d9b29ebf3 video: driver: rename video header interface file
Rename msm_vidc_utils.h to v4l2_vidc_extensions.h.

Change-Id: I50a9212d3d28756bdf0be33e135bce9c6337a816
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-11-02 14:21:27 -08:00
Maheshwar Ajja
78857beace video: driver: add buffer handling support
- Add queue buffer support
- Add dequeue buffer support
- Use multiple plane buffers instead of single plane.

Change-Id: I911784a1fa4b8a4b5d3fd35049379ea35d4d52b0
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-11-02 10:35:16 -08:00
Maheshwar Ajja
ec2f06a4ba video: driver: add queue buffer support
Add queue buffer support for sending buffers to
firmware.

Change-Id: Ie573c10a9b2f32a3eb202f97227b5e7edea26705
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-30 14:09:17 -07:00
Maheshwar Ajja
b5c03abc93 video: driver: add decoder controls
Add decoder controls and subscribe parameters

Change-Id: Ib4157b7f1dc8ce3c0b49f6bf7f6586883bf3b547
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-30 14:08:41 -07:00
Akshata Sahukar
25f6fd7e7e video: driver: add capabilities parsing logic
Parse capabilities from platform specific file.

Change-Id: I46e45995f24f92d374f749fd58c200542591b6a4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-09-30 14:07:25 -07:00
Maheshwar Ajja
6f107f7e35 techpack: video: add video driver
Add initial video driver files.

Change-Id: Icd48bbf31e435cf36f149d6c3267cf3a4d7913b3
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2020-09-24 23:56:26 -07:00