Commit Graph

347 Commits

Author SHA1 Message Date
qctecmdr
8b501d3034 Merge "video: driver: remove non-standard header file of_common.h" 2022-10-10 23:01:41 -07:00
Deepa Guthyappa Madivalara
42780a25ce video: driver: Update Pineapple database
Update pineapple database on par with kalama database

Change-Id: If7eb4046abea0c23c703355c3054e8b7d60d1089
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-10-10 11:38:56 -07:00
Dikshita Agarwal
d7e32537a7 video: driver: remove non-standard header file of_common.h
Remove inclusion of non standard header file of_common.h and
related APIs from upstream database and common file.
Include it only in downstream databse file.

Change-Id: I22140c54de38afca8058198c49d9fecdceaad67a
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-09-30 14:10:01 +05:30
Deepa Guthyappa Madivalara
3d9c6f17f9 video: driver: Add support for lanai/iris3.3 platform
Add the required config and platform files to enable
lanai platform with iris3.3 VPU.

Change-Id: I441d631b9876705342e34097feff3e5d355d6b71
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-09-28 14:36:08 -07:00
Dikshita Agarwal
d861f5047c video: driver: remove restricted keyword
Remove restricted keyword from comments.

Change-Id: Idf7cc0925730f05ba0db371e0fe3dda312a85b79
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-09-27 15:47:20 +05:30
qctecmdr
08b36416ce Merge "video: driver: modify slice delivery control as boolean control" 2022-09-22 17:43:50 -07:00
Akshata Sahukar
85d79a7a23 video: driver: remove input meta via request support
remove input meta via request support

Change-Id: If2a504455e1899c4cefb2a9142f7a92db02a45f2
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-09-20 11:07:39 -07:00
Akshata Sahukar
b1dfbad4a4 video: driver: Introduce SUPPORTS_REQUESTS cap
Introduce SUPPORTS_REQUESTS cap to have different caps support
for upstream and downstream driver.

Change-Id: Ib8bae21ba3fa6d65236954e0728fa30e20d7b375
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-09-13 14:29:18 -07:00
Dikshita Agarwal
9b32ff0498 video: driver: modify slice delivery control as boolean control
Update definition of slice delivery control in v4l2_vidc_extensions.h
to make it a boolean control instead of menu control and use it
accordingly.

Change-Id: I8ad5f5b7088bc01b78560cb40eae7c7d677ce7ce
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-09-12 14:11:16 +05:30
qctecmdr
e072a88b28 Merge "video: driver: Introduce CAP_FLAG_META flag for metadata caps" 2022-09-08 18:36:14 -07:00
qctecmdr
1bb9c5f525 Merge "video: driver: add support for standard compressed formats" 2022-09-08 18:36:13 -07:00
Akshata Sahukar
6b5c62db0c video: driver: Introduce DEVICE_CAPS cap in core database
Introduce DEVICE_CAPS capability to have different caps support
for upstream and downstream driver.

Change-Id: Ife73ab8c3b6ef9b47ef844883d9fa18e469d9188
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-09-08 16:02:13 -07:00
Dikshita Agarwal
1aedac8e6e video: driver: add support for standard compressed formats
Add support for standard compressed formats in upstream.
remove usage of not supported codecs HEIC and AV1 from
upstream database file.

Change-Id: I11b29990f439dc2b43d5dcdb70a4e7d47bbf3970
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-09-08 16:08:02 +05:30
Akshata Sahukar
f37cc5fe6c video: driver: Introduce CAP_FLAG_META flag for metadata caps
Introduce CAP_FLAG_META flag to differentiate metadata caps
from non metadata caps.

Change-Id: I7a3d2c5fb952e5d829002a04d11fa7b05b2c9297
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-09-06 13:42:20 -07:00
qctecmdr
bffb7c6070 Merge "msm: vidc: Fix for slice mode configuration" 2022-08-23 21:07:43 -07:00
qctecmdr
91e54040b8 Merge "video: driver: fixes for upstream/downstream driver compilation" 2022-08-23 14:26:58 -07:00
qctecmdr
d0affa6c7c Merge "video: driver: add dynamic_allowed flag in database" 2022-08-23 11:17:23 -07:00
Darshana Patil
c4beadb5d2 video: driver: fixes for upstream/downstream driver compilation
- do not use vidc_v4l2_extensions.h for upstream driver compilation.
- resolve compilation issues in upstream and downstream driver due
  to above change.
- add volatile flag in the database.

Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
Change-Id: I1985cae29a459af2250f7044d85c5cd22cdd68f7
2022-08-22 16:51:31 -07:00
Manikanta Kanamarlapudi
5a0859f15d msm: vidc: Fix for slice mode configuration
When layers are enabled, bitrates are set layerwise.
Need to add the cumulative layer bitrates and calculate
bytes per slice accordingly.

Change-Id: I17616a3b4f73d33c32badbbf8b9aacb60123f54a
Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
2022-08-22 14:00:42 -07:00
Darshana Patil
87557615b9 video: driver: add dynamic_allowed flag in database
add the missing dynamic_allowed flag for dynamic controls
in the database.

Change-Id: Icbdac824d668f2c0fdd86af8a1e5a4a4dd25a160
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-08-11 12:19:30 -07:00
Dikshita Agarwal
203f09ac3f video: driver: add mapping for missing colorspace vidc macros
Add mapping for missing vidc macros MSM_VIDC_TRANSFER_UNSPECIFIED
and MSM_VIDC_PRIMARIES_UNSPECIFIED.

Change-Id: I39fc60d98fe9f7c73d91768f5a0eb36e2c72a94c
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-08-10 13:19:26 +05:30
qctecmdr
1ee1d9c8e5 Merge "video: driver: define slice delivery as boolean control." 2022-08-03 10:39:31 -07:00
Dikshita Agarwal
f1a32f5a86 video: driver: define slice delivery as boolean control.
Make slice delivery a boolean control instead of menu.

Change-Id: Iedf8e0df882d61e82661c7f557473d3f7b49215a
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-08-02 12:28:44 +05:30
Gaviraju Doddabettahalli Bettegowda
9789b56a49 video: driver: add change to support slice mode decode
Added new capabilty changes to support slice based decoding.

This feature basically enables to decode the given input in terms of
slices and deliver single output to the higher layers when all slices
decoded in a frame.
When HW receives the slices then it will start decoding the slices,
instead of waiting for all the slices belongs to same frame.
So this will help to achieve lower decode latency.

Change-Id: Id107b34baba6d7b4a88238e232e8bf4a0fd6e58e
Signed-off-by: Gaviraju Doddabettahalli Bettegowda <quic_gdoddabe@quicinc.com>
2022-08-01 17:53:54 -07:00
Sachu George
c1e000514f video: driver: Adding missing capabilites for anorak
Added mising capabilites in msm_vidc_anorak.c for the
changes submitted in msm_vidc_kalama.c

Change-Id: I3578cbc59e01d4ab41e1329bbc1a0ead7a7a5f65
Signed-off-by: Sachu George <quic_sachgeor@quicinc.com>
2022-08-01 17:22:31 -07:00
Manikanta Kanamarlapudi
2e52eecb78 video: driver: add vui timing info control
Add vui timing info control with default
value as disabled in driver.

Change-Id: Ibaa45303fe389a0120d487fe3b6ff336e721f359
Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
2022-08-01 17:21:57 -07:00
Renjiang Han
da980f7582 video: driver: Set the fps of vp9 to the standard value
180fps is not a standard value, so we need to change
MAXIMUM_OVERRIDE_VP9_FPS to 200.

Change-Id: Ia32fc20598b8a2908ec3057dd0b00b40ea429b42
Signed-off-by: Renjiang Han <quic_renjiang@quicinc.com>
2022-08-01 17:20:14 -07:00
Mihir Ganu
1e87ceec2b video: driver: Introduce a property to set COMV bufcount
Certain codecs/use cases require larger COMV buffer sizes to achieve
performance. Introduce a property to set COMV bufcount and calculate
COMV buffer size based on the bufcount.

Change-Id: Ib0ed8afe77708dc453cbcc121bcd8606db637152
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2022-08-01 17:19:20 -07:00
Dikshita Agarwal
7d1fbd07cf video: driver: redefine private v4l2 macros in common file
Define vidc macros corresponding to private v4l2 macros
defined in v4l2_vidc_extensions.h file in msm_vidc_internal.h
and use the same wherever applicable for successful
compilation of upstream driver.

Change-Id: I2c7b3741d29996beb35b08b9c6dbd88876bb6ca6
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-08-01 17:59:08 +05:30
Dikshita Agarwal
704a316370 video: driver: replace V4L2_MPEG_MSM_VIDC_DISABLE/ENABLE
Replace V4L2_MPEG_MSM_VIDC_DISABLE/ENABLE macros with
0 & 1 to comply with v4l2 standard.

Change-Id: I5f27bfb8416b5be8caee29fb487916ccba020116
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-08-01 16:00:39 +05:30
Dikshita Agarwal
c5c78e3ba2 video: driver: move v4l2 to vidc mappings to target specific file
Move mapping of v4l2 to vidc macros for codec, color format,
color primaries etc to target specific file to restirct the
usage of private v4l2 defines to target specific file.

Change-Id: Ie83968cb944c756e55b6514c496c0b23c5d16413
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-07-29 12:30:10 +05:30
Dikshita Agarwal
ea38b901b7 video: driver: update msm_media_info to use vidc colorformat
Update all functions in msm_media_info.h to use vidc color formats
instead of v4l2 color formats macros to restrict the usage of private
color format defines in only helper functions.

Change-Id: Ib308c76af7b16ddac93023202191a47b21d68f5c
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-07-27 15:40:05 +05:30
Dikshita Agarwal
b3fa32cf81 video: driver: prepare upstream caps database
- Remove caps related to private controls.
- Update parent, child dependencies for caps if not
  standard.
- Keep the caps which doesn't have v4l2 control associated
  and are used internally for some features.
- keep  non-standard but good to have features by removing
  the v4l2 control associated.

Change-Id: I31326c94edf3ef864f30765f44852b11c5eaf6ac
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-07-12 14:56:20 +05:30
Dikshita Agarwal
69d0c83f55 video: driver: split control code
Split control code into msm_vidc_control.c and
msm_vidc_control_ext.c files.

Change-Id: I95f13d66f33fb75da4ebaa08e24bf31fe5de55b4
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-07-12 12:15:54 +05:30
qctecmdr
48f5a64bbd Merge "vidoe driver: increase decoder maximum FPS and OR" 2022-07-05 01:57:14 -07:00
Zhongbo Shi
627e5c6176 vidoe driver: increase decoder maximum FPS and OR
Increase decoder maximum FPS and Operating Rate
to 960.

Change-Id: Ic3634bb0c78bc9dc27e732147bb0cc65d8ccfc4a
Signed-off-by: Zhongbo Shi <quic_zhongbos@quicinc.com>
2022-07-04 13:17:20 +08:00
Sachu George
a709f30d05 video-driver: Add driver support for anorak
Adding driver support for anorak(Halliday).

Change-Id: I65239264758a1cc462ef6c458cb0a12f1fcdaf53
Signed-off-by: Sachu George <quic_sachgeor@quicinc.com>
2022-07-02 18:01:19 -07:00
Darshana Patil
10794c2968 video: driver: initial state machine changes
- hierarchical state model which comprises of
  top level states and sub states
- top level states include OPEN, CLOSE, ERROR,
  INPUT_STREAMING, OUTPUT_STREAMING, STREAMING.
- sub states include DRAIN, DRC, DRAIN_LAST_BUFFER,
  DRC_LAST_BUFFER, INPUT_PAUSE, OUTPUT_PAUSE.
- follows deterministic approach for key sequences
  like DRC, DRAIN and last flag handling i.e none
  of these events are ignored or discarded.
- removal of auto start of firmware input port as
  part of ipsc handling.
- introduction of hfi commands for host controlled
  PAUSE and RESUME of firmware ports.
- introduction of information last flag packets
  for DRC and DRAIN when FW has insufficient
  output buffers.

Change-Id: Ie8c8f44af464d06f5a7bb76822f749c9874f869a
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-06-29 10:47:54 -07:00
qctecmdr
c7360bccc3 Merge "video: driver: Modify Min QP in CAP_TO_8BIT_QP macro" 2022-06-26 01:20:54 -07:00
Vedang Nagar
2eacac6058 video: driver: Modify Min QP in CAP_TO_8BIT_QP macro
For HEVC 8 bit usecase, QP values are being capped
from [-11,51] to [1,51]. Modifying the same in
CAP_TO_8BIT_QP macro.

Change-Id: Id17fab4c62770140131f0f8454fc480090732d0b
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2022-06-24 00:38:18 +05:30
Vedang Nagar
9f8cff04a3 video: driver: Modify Min QP for 8 and 10 bit usecase
As part of firmware stress test with QP range of [0, 5],
FW gets a divide by zero exception with QP 0, and RC
validation happens with QP range of [1, MaxQP].
Modifing Min QP from 0 to 1 for 8 bit and from
-12 to -11 for 10 bit usecases to avoid multiple FW issues.

Change-Id: I29d8fd785cfafbcb1b73984b3f79900307c22c10
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2022-06-24 00:23:12 +05:30
Akshata Sahukar
1e7edf5b98 video: driver: buffer tracing changes
1. Introduce new v4l2 control to get HAL session id and
   print the same in driver to have unqiue session id
   between HAL and driver
2. Copy input buffer timestamp into input meta buffer
   to track input meta buffer done at HAL side. Required
   specially for fence use case.

Change-Id: I146b153fa0baea3b684a482de5da19e736df3736
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-06-22 16:41:08 -07:00
Govindaraj Rajagopal
e433d223a6 video: driver: fix faulty msm_vidc_vmem_alloc() failures
Sometimes uninitialized local pointer variables were passed to
msm_vidc_vmem_alloc() call for allocating memory. Uninitialized
variables might garbage value, so msm_vidc_vmem_alloc() is
treating that double alloc request and returning error. So i.e
leading to undefined behaviour.

For e.x, msm_vidc_update_input_cr() call will never add any
entries into &inst->enc_input_crs(due to above mentioned issue),
So i.e leading to populate invalid input compression ratio in
encoder usecase.

Change-Id: I4507b343bee8eec7252cf946ad8d3120efd7bacb
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-06-21 19:29:12 +05:30
Renjiang Han
6bf3bcb9cc video: driver: vp9 1080p decoder needs to reach 180fps
cts requires vp9 1080p decoder to achieve 180fps on AndroidT.

Change-Id: I68f53a661cb9644dee085652e19962e3bac132c4
Signed-off-by: Renjiang Han <quic_renjiang@quicinc.com>
2022-06-20 19:13:01 +08:00
Vedang Nagar
cbfbff897a video: driver: Add missing capabilites
Add mising capabilites in msm_vidc_waipio.c
for the changes done in msm_vidc_kalama.c

Change-Id: Idc75533162c977333efb4caec992ee13408ce422
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2022-06-06 14:21:27 +05:30
qctecmdr
12c5ef4768 Merge "video-driver: add to support DolbyVision metadata" 2022-06-01 23:48:24 -07:00
qctecmdr
395e8686ec Merge "video: driver: Use max bitrate depending upon session" 2022-06-01 21:40:44 -07:00
Deepa Guthyappa Madivalara
0160053f46 video: driver: Use max bitrate depending upon session
1. Host will use HQ quality mode for all INTRA encoding case
2. Cap bitarate and bit rate boost to max bitrate of current
   session config

Change-Id: I8e8d19998ebeff992c290fbd18c072b2b93ffef2
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-06-01 11:36:14 -07:00
Zhongbo Shi
f781c619a9 video-driver: add to support DolbyVision metadata
1. add DolbyVision metadata cap and V4L2 id;
2. Increase decoder persist buffer size;
3. Increase decoder output meta buffer size;
4. Increase encoder input meta buffer size;
5. Parse buffer overflow flag and set buffer flag
   accordingly;

Change-Id: I8fa5e89068dd479033d28f627e585edc3a1c58bb
Signed-off-by: Zhongbo Shi <quic_zhongbos@quicinc.com>
2022-06-01 16:29:30 +08:00
Akshata Sahukar
5713e9a303 video: driver: fix slice mode support
Allow client to set slice mode control to slice off for
HEIC codec.

Change-Id: Iffc8be23990a5dad451550cccb8236cc32951b2a
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-05-31 14:36:04 -07:00