Граф коммитов

907 Коммитов

Автор SHA1 Сообщение Дата
Mahesh Kumar Sharma
508f4a0282 video: driver: inline preprocessing improvement
For VPSS, FW requests more bandwidth from HW.
In order to support inline processing, FW introduced
request preprcess property.

Enble this property only when following conditions are met:
- CAC-BRS is required
- don't have EVA stats.
- Upto 4k@60 fps, max( frame rate, operating rate) <= 60

Change-Id: I3cf83483d9320e5dfe20617b37a54b9d5fbcffd8
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
2022-04-08 18:52:52 -07:00
Darshana Patil
2d69ee17ae video: driver: remove support of s_parm/g_parm for decoder
remove support of s_parm/g_parm for decoder

Change-Id: I5b35b33610eb96bbfc26181c8c249316ee65b31b
2022-04-07 15:27:43 -07:00
qctecmdr
5969b7c252 Merge "video driver: cleanup input rate list" 2022-04-07 09:32:39 -07:00
Deepa Guthyappa Madivalara
ff9dde7cc1 video driver: cleanup input rate list
cleanup input rate list

Change-Id: I5e64481280f5b1e04aae6439c57c6e1b97ad7395
2022-04-06 15:36:03 -07:00
Deepa Guthyappa Madivalara
fdef18ef50 video driver: remove session priority handling
1. Removes depenceny of priority from frame rate
    and operating rate.
2. Removes changing priority from s_param

Change-Id: Iec51173eab5a3d59b841315549d1420df422d37f
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-04-06 09:22:38 -07:00
qctecmdr
3183f5831b Merge "video: driver: keep all platform common api in a single file" 2022-04-01 11:33:47 -07:00
qctecmdr
c1f317aa10 Merge "video: driver: modify key frame marking for hevc/avc codecs" 2022-04-01 11:33:47 -07:00
Akshata Sahukar
1933eb75bd video: driver: modify key frame marking for hevc/avc codecs
Mark I Frame as Key frames for all codecs.

Change-Id: I4fc73c076a93a959f4ed97ec65398ac3315af602
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-04-01 10:52:22 -07:00
Ankush Mitra
6d48bb4854 video: driver: keep all platform common api in a single file
update msm_vidc_platform.c to keep all common API's
and macro's in a single file to avoid redundancy.

Change-Id: I43869f54514ab8c531b6e27b84ce0a6c1f1806ce
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
2022-04-01 01:29:40 -07:00
Dikshita Agarwal
8f0e12cc93 video: driver: add support for cyclic intra refresh
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>
2022-04-01 11:08:19 +05:30
Akshata Sahukar
0abd877e95 video: driver: fix for fence support
- Add METADATA_PICTURE_TYPE support.
- some fixes for fence support.

Change-Id: Icd2285aa9fef57775122e9d2433f1e5d708ccdd3
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-03-31 16:43:00 -07:00
qctecmdr
f1918f5314 Merge "video driver: calculate power based on max rate" 2022-03-31 07:49:35 -07:00
qctecmdr
c97bbb1e57 Merge "video: driver: update quality mode w.r.t complexity configuration" 2022-03-30 18:38:09 -07:00
qctecmdr
812f40eff9 Merge "video: driver: use custom v4l2 ctrls in place of S/G_PARM on decoder" 2022-03-30 15:32:02 -07:00
qctecmdr
5e64d04cb5 Merge "video: driver: Add missing capability for HEIC encoding" 2022-03-30 15:32:02 -07:00
qctecmdr
3c9409b72f Merge "video: driver: fix v4l2-compliance failure for private codecs" 2022-03-30 15:32:02 -07:00
Deepa Guthyappa Madivalara
ab684e15f6 video driver: calculate power based on max rate
1. Remove load based admission control for decoder.
2. For decoder, use max of frame rate, operating rate,
    timestamp rate and input rate for power calculations.
3. For encoder, use max of frame rate and operating rate
    for power calculations.

Change-Id: Ibdb2d4b29438d7f656a27771953d10e0a0e72edd
2022-03-30 13:03:24 -07:00
qctecmdr
8c00483b2c Merge "video: driver: decouple min quality, CAC and quality boost" 2022-03-30 10:28:20 -07:00
Gaviraju Doddabettahalli Bettegowda
4c9f33d943 video: driver: Add missing capability for HEIC encoding
Added NV21 color format capability for HEIC encoding.

Change-Id: I5c559bdd5c2ec3e5eaf4ded9e766ffb02c0d81a7
Signed-off-by: Gaviraju Doddabettahalli Bettegowda <quic_gdoddabe@quicinc.com>
2022-03-30 20:06:23 +05:30
Darshana Patil
733a7f8bcd video: driver: fix v4l2-compliance failure for private codecs
v4l2-compliance test does not support private codecs. Hence
added check to not return HEIC codec when enum_fmt is called.

Change-Id: Iff6fbb45b436e39e8b7c181859dbc1519338d003
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-03-29 15:17:55 -07:00
Dikshita Agarwal
f60ff0d92c video: driver: use custom v4l2 ctrls in place of S/G_PARM on decoder
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>
2022-03-29 11:45:17 -07:00
Darshana Patil
accb365696 video: driver: v4l2 compliance fixes for test formats
v4l2 compliance fixes for test formats

fixes:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK

Change-Id: I23c193ab5785bb10d070fa3085678d9669f53a92
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-03-28 11:58:06 -07:00
Vikash Garodia
f9c0bfcb9b video: driver: update quality mode w.r.t complexity configuration
Existing video driver allows complexity configuration to update
quality mode only for non realtime sessions.

Change-Id: Ic4eb5b1c8904fffe2baa1606db37285f53e918b3
Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com>
2022-03-28 11:51:05 +05:30
qctecmdr
5fd0e0a094 Merge "video: driver: update input, output and crop dimensions" 2022-03-26 23:24:19 -07:00
qctecmdr
a7c220a441 Merge "video-driver: Add support for saliency metadata" 2022-03-26 07:22:30 -07:00
qctecmdr
f9a552b268 Merge "video: driver: Increase persist buffer size for AV1 metadata" 2022-03-24 19:50:39 -07:00
qctecmdr
a5fd58a834 Merge "video: driver: Change v4l2 metadata controls to BITMASK type" 2022-03-24 19:50:39 -07:00
Manikanta Kanamarlapudi
ab51846ea0 video-driver: Add support for saliency metadata
Add support for saliency metadata control.

Change-Id: I6bfe54f58494a8189484bfbb3c2d989010fe3a2b
Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
2022-03-24 23:35:33 +05:30
Mihir Ganu
0acf5e0082 video: driver: Increase persist buffer size for AV1 metadata
Increase AV1 persist buffer size to accommodate AV1 HDR and
other metadata.

Change-Id: Ib29ed9eb18e39e6f711c5bed7a67366161bf053b
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2022-03-24 08:04:25 -07:00
Mahesh Kumar Sharma
5ae6ad83d2 video: driver: decouple min quality, CAC and quality boost
Remove dependency between min quality, CAC and quality boost.
Accept quality boost value from client and if client did not
set then enable max quality boost upto 4k@60fps and disable after that.

Change-Id: I0685065b8dee8754aff2cf5f176a2f40e9e080dd
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
2022-03-23 19:20:20 -07:00
Akshata Sahukar
8ac3cc7120 video: driver: Change v4l2 metadata controls to BITMASK type
Change v4l2 metadata controls to V4L2_CTRL_TYPE_BITMASK type

Change-Id: I7f19b5dbf268351d368d9824cb52569e60116ebb
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-03-23 14:54:09 -07:00
Manikanta Kanamarlapudi
0ef0acb173 video-driver: Allow 96x96 for hevc encoder
Allow 96x96 for hevc encoder in waipio target.

Change-Id: If2b73e9b24c58562a20f2ccc8234cd58c52943ba
Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
2022-03-23 23:00:49 +05:30
Maheshwar Ajja
db8a8959e2 video: driver: update input, output and crop dimensions
Update input, output and crop resolution based in client provided
resolution on input port as per the v4l2 compliance test expectation.

Change-Id: I56f197d72cc132f38c00842b28b23b20c508cf23
Signed-off-by: Maheshwar Ajja <quic_majja@quicinc.com>
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
2022-03-23 20:11:42 +05:30
qctecmdr
2e1a127d25 Merge "video driver: calculate power based on input queuing rate" 2022-03-22 19:08:47 -07:00
qctecmdr
d9e01a8452 Merge "video-driver: Allow 96x96 for hevc encoder" 2022-03-22 18:50:33 -07:00
qctecmdr
552a6f9470 Merge "video: driver: update condition to allow dynamic controls" 2022-03-22 18:50:33 -07:00
Deepa Guthyappa Madivalara
dc38176276 video driver: calculate power based on input queuing rate
Use client input buffer queuing rate for power
calculations for non-realtime sessions

Change-Id: I498422ba1ae9ae96b782a2096dc0cd0aa7b05798
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-03-22 14:21:35 -07:00
Manikanta Kanamarlapudi
21ab599454 video-driver: Allow 96x96 for hevc encoder
Allow 96x96 for hevc encoder.

Change-Id: I8d3d82b9f38278098cb0fedb71f1fd3f34648a35
Signed-off-by: Manikanta Kanamarlapudi <quic_kmanikan@quicinc.com>
2022-03-22 09:54:50 +05:30
qctecmdr
0835d887df Merge "video: driver: add video banner support" 2022-03-21 13:45:56 -07:00
qctecmdr
4fef9e2544 Merge "video: driver: fix payload ptr null pointer dereference" 2022-03-21 13:45:56 -07:00
Darshana Patil
fc3b1b5466 video: driver: update condition to allow dynamic controls
When client queues input buffer with dynamic controls associated
with it and also sends drain command, it is possible that driver
state changes to DRAIN_LAST_FLAG and after that driver tries to apply
dynamic controls. For encoder currently, dynamic controls are
allowed only in START AND START_OUTPUT state. To resolve this
timing issue updated condition to allow dynamic controls as along
as master port is streaming.

Change-Id: I3fe6aa9f8ca8f89e7fffaf90940618cc6643b21b
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-03-21 11:37:47 -07:00
Govindaraj Rajagopal
0d72a68a7f video: driver: add video banner support
Video-banner contains compilation timestamp, which will
be helpful in stability debugging to find mismatch b/w
ramdump and symbols.

Change-Id: Ibc446fc4398a184b840867c568ed9e8940e490ae
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-03-21 19:20:43 +05:30
qctecmdr
1cc8fd9df1 Merge "video: driver: Enable bitwise operations for metadata controls" 2022-03-19 21:19:38 -07:00
Akshata Sahukar
4cebf46356 video: driver: fix payload ptr null pointer dereference
payload pointer will be null in case firmware incorrectly
sends HFI_PAYLOAD_NONE for property packets that contain
payload. In this case, driver would end up dereferencing
payload ptr which is null. Hence, fix this.

Change-Id: I5b65c081110ffe8bf3565972141b3b72200aee66
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-03-18 17:13:27 -07:00
qctecmdr
b5824aaaa4 Merge "video: driver: Add support for AV1D IBC feature" 2022-03-18 15:47:43 -07:00
Akshata Sahukar
d85f112d92 video: driver: Enable bitwise operations for metadata controls
Enable bitwise operations for metadata controls with below
mentioned bit definitions:
- ENABLE (BIT 0): Enable metadata.
- TX_INP (BIT 1): Client transfers metadata in input port.
- TX_OUT (BIT 2): Client transfers metadata in output port.
- RX_INP (BIT 3): Client receives metadata in input port.
- RX_OUT (BIT 4): Client receives metadata in output port.

Change-Id: Ie3d720528a383632c7766a5ccb09cead0f6b9428
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-03-18 13:26:00 -07:00
Deepa Guthyappa Madivalara
8f45e56c57 video: driver: remove support for diwali
Diwali chipset is not supported on kernel 5.15, hence removing it.

Change-Id: Ibeb69b5f6a4a5377a887c59d98f5571c971792bc
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-03-17 13:13:11 -07:00
qctecmdr
964a9fed8c Merge "video: driver: fix streamon deadlock issue" 2022-03-17 09:44:27 -07:00
qctecmdr
724c5433bb Merge "video: driver: update device capabilities" 2022-03-17 09:44:27 -07:00
qctecmdr
595ccbcc31 Merge "video: driver: ts_reorder for negative timestamps" 2022-03-16 22:08:58 -07:00