For decoder FW should not assume any default sequence header.
Decodering should start only after FW receives first sequence
header. Also, decoding starts only after discovery of random
access point frame. RAP frame means IDR for AVC, IDR/CRA/BLA
for HEVC, I frame for VP9 and MPEG2.
Change-Id: Ie12b8140f6b63e57c52a9c96cb1250f4958a42c6
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
fixes for nv12 format and dpb buffers. modified
PIX_FMTS and corresponding driver color format
structure, therby fixing enum_fmts.
Change-Id: I955b76dd4938e96fe259311e107a0cdca39425bc
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
If required, Firmware can be unloaded after every session.
Power collapse is enabled by default.
Change-Id: Ie014a26ae600816d8713cd34826f1f9a77088e4a
Signed-off-by: Chinmay Sawarkar <chinmays@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>
Iris2 specific calculations for Work Mode and Route.
Also add quality mode support.
Change-Id: I7a1e2fa27236aa749978d146d85fd0af6177084c
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
Add below support
- kill session in case of errors
- core deinit in case of timeout errors
- flush buffers in streamoff
- decide supported colorformats based on
bitdepth and interlace info
- print level based logs
Change-Id: I45b9b0eae4220a818de23308da8802a9e12ae255
Signed-off-by: Maheshwar Ajja <majja@quicinc.com>
Add support for some advance controls to set adjusted
client set values to video fw. Mentioned below
are the properties added.
- HFI_PROP_LTR_COUNT
- HFI_PROP_LTR_USE
- HFI_PROP_LTR_MARK
- HFI_PROP_IR_RANDOM_PERIOD
- HFI_PROP_AUD
- HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL
- HFI_PROP_8X8_TRANSFORM
- HFI_PROP_LTR_MARK_USE_DETAILS
- HFI_PROP_DEBLOCKING_MODE
Change-Id: Id31e9774154556df7c66cda366913489815a2723
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
- Move driver to MSM_VIDC_DRAIN state when drain command
is receieved for an encoder session
- Static HFI_PROP_FRAME_RATE setting to video fw handling
is moved to inst database set function via
msm_vidc_set_v4l2_properties to avoid enc session failure
due to setting HFI_PROP_FRAME_RATE before starting video fw
Change-Id: I207b4bce932c5959fe47b9cca32abd15660ce2a9
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Add support for S_PARM and G_PARM to enable client to
set and get frame rate and operating rate to driver. Also
includes some inst database grooming changes.
Change-Id: I5b39537662faa56effa0ac63acdfc100d83bf403
Signed-off-by: Akshata Sahukar <asahukar@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>
Use STAGE_1 work mode and HFI_SEQ_HEADER_JOINED_WITH_1ST_FRAME
as header mode as default values to avoid firmware sync issue with
enc HEVC NV12_UBWC session.
Change-Id: If15c743ec8f9d34e6ec878e4fbbedd20f7bb4e73
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
- update basic functionality controls with their parents
and children list.
- deprecate MPEG2 related code.
- rename driver internal color formats.
Change-Id: I918d6fd238486098f10c5b9ce40c895bcd9468e5
Signed-off-by: Akshata Sahukar <asahukar@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>
Allocate ARP buffer in CB4 to avoid HW hang issue.
Add support to set HFI_PROP_RAW_RESOLUTION at enc INPUT port
and did necessary changes to set HFI_PROP_CROP_OFFSETS at
OUTPUT port only for encoder. Also added support to set
missing basic control properties to video firmware.
Change-Id: If5bc2940d37ac20c1889cd4de466be09f1e1f28b
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Set ipsc subscribe properties once during start input
and opsc subscribe once during start output. Fetch all
property values from ipsc and set the same values to
output port.
added codec config control support.
Change-Id: I3683becdb62096ee4dbed36181a2dc9876c53724
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Disable subscribe and delivery mode metadata.
increase hardware timeout. fix to set port
settings subscription once on input and
output port.
Change-Id: I16bbc40d2efe852d1d7f626feb871317a3bc6c08
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
below are the fixes added to get enc start/stop working
along with setting default values to firmware for basic
functionality controls.
- Create and queue COMV and NON COMV internal buffers
- Use HFI_PAYLOAD_64_PACKED as payload_info type instead
of HFI_PAYLOAD_32_PACKED HFI_PROP_CROP_OFFSETS
- Introduce new control port specifier flags in instance
database to help set correct port to controls while
packetization
- Add support to map basic functionality controls
v4l2 enum values to hfi enum values
- Enable static adjust and set controls support
Change-Id: Idc0dc3e3d07d8f6349c74136327a45d77ced1035
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
add support for input port settings change raised
by fw. update driver subscribed port settings
properties with instance. Raise event to client.
Release, get, create and queue input internal buffers.
Send resume commond to fw on input port.
Add support to destroy internal buffers.
Change-Id: Ic979cf2d0c7298b8083347173a973d553ed52af8
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
updated hfi command, property header files.
deleted hfi definition header file.
added new input and output properties for decoder.
added profile, level and tier properties as part of
port settings subscription.
Change-Id: I072d0bb56183950920975950b3873003218d526e
Signed-off-by: Darshana Patil <darshana@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>
- 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>
Add support for control initialization and set control
implementation. Modified hfi_create_header() and
hfi_create_packet() to handle offset and num_packets
within in the function itself.
Change-Id: If8560be8a884c5df2fcc91f75be90311f1003a41
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
Add below configuration
- format enumeration
- set format for encoder
- get inst capabilities based on codec from core
Change-Id: I2484056ae688cf7b634c5137631197a83c382950
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>