Critical priority - A video session which is prioritized above
all concurrent sessions. Such sessions have low latencies and
at the same time they cannot be rejected due to overload.
Reserve duration - Duration by which a session reserves the
video hardware for processing frames from that session.
Both the above aspects are implemented with these changes.
Change-Id: I58aef5f239e5ee106201d6819d2228784f0f0ad0
Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Add support to enable slice encode delivery for
HEVC and AVC codec. Basically in this mode, each
encoded slice is given as a separate FBD to the client.
Change-Id: Ia30fde9abaf2b38fb486113807fbb7f19110225c
Signed-off-by: Chandrakant I Viraktamath <quic_civirakt@quicinc.com>
- Allow dec sw fence enablement only if decode order is set and
non interlace type session.
- Enable low latency mode if sw fence is enabled.
- Signal fence if FBD length > 0.
Change-Id: Ib59c2de51f621b796e68fe2aba68d9fca3ff4272
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Currently driver supports only random intra refresh, extend
it to support cyclic intra refresh too.
Cyclic intra refresh is supported dynamically as well.
- If intra refresh type is set and num of LCU’s to be refreshed
are non-zero before session start, intra refresh will be enabled
throughout the session.
Any further dynamic settings in the number of LCU’s including 0
will be honored accordingly.
- If intra refresh type is set and num of LCU’s to be refreshed are zero
before session start, intra refresh will be disabled.
When client sets it to non-zero value dynamically, driver will set
HFI_PROP_REQUEST_SYNC_FRAME with
HFI_SYNC_FRAME_REQUEST_WITH_PREFIX_SEQ_HDR.
Driver needs to send HFI_PROP_REQUEST_SYNC_FRAME only at time of
CIR Enable, no need to send at time of disable/enable again.
Change-Id: I10a2fb22d131353721ee658213ed807ce0794009
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Introduce new v4l2 controls to set frame rate and operating rate
on decoder as VIDIOC_S/G_PARM is not allowed on decoder.
fix: v4l2-compliance:S/G_PARM
Change-Id: I6c090c0ae541a086c73bb79564dd29ed4aa755b3
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
- Introduce V4L2_EVENT_VIDC_METADATA to post fence fd returned in
ETB metadata done buffer.
- V4L2_CID_MPEG_VIDC_SW_FENCE_FD g_ctrl support for client to get
fence fd for requested fence id.
- Addition of fence delivery and subscribtion support.
- Fence property packetization to send to firmware via FTB buffer.
Change-Id: Ifb289849e352af2c4729aa95040bd83753979970
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Decouple fence structure from video buffer. Also add some
misc fence flow setup support.
Change-Id: Ia4e223a3a288f0dae3238850685f3a73d4b9400a
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
Client can enable V4L2_CID_MPEG_VIDC_INPUT_METADATA_VIA_REQUEST_ENABLE
control and send input metadata buffer via request.
Change-Id: Icccdada8253d1d0291c01e2e539968141f7ddd2c
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Add support to handle AV1 bitstreams with flim grain
for both UBWC and linear colorformats.
Change-Id: Ica07853d992c566c3471dc007ad8c22aba796dd4
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
Added support for timestamp reorder. It is default
disabled.
Change-Id: I51a6fc785860081b651fc67f443132cb2675b9fd
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Deprecate ctrls that are now available in upstream.
Change-Id: Id1c99d3d6c9b9eebc15216786298a4693ab574e4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
add RGBA and RGBA_UBWC color format support
for encoder.
Change-Id: I3e179ae9769d851afc5a6f11e1afb14d96e92073
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Add new control to set Encoder Input Compression Ratio.
Change-Id: I4a68aead33c40e848ed354c51356e4084190290d
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
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>
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>
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>
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>
move msm_midia_info from uapi to core video
driver folder.
Change-Id: Ibe7eb898fd40958577a8b1afa46c46ea3c6a2ddf
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
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>
-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>
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>