İşleme Grafiği

244 İşleme

Yazar SHA1 Mesaj Tarih
Deepa Guthyappa Madivalara
52c0799bf7 video: driver: support upto level 6.2 for AVC and HEVC dec
allow support upto level 6.2 for AVC/HEVC decoder

Change-Id: I5579b5fa7f41fbe98c9e6998d4362542423cbd18
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-05-18 22:10:08 -07:00
Vikash Garodia
5a7898589e video: driver: keep default complexity as 50
Complexity parameter defines the encoding tools used
during an encode session. Higher the complexity implies
more quality with advance encoding tools used.
Keeping the default value as moderate or acceptable
range.

Change-Id: I3ee66d3a6612d5d60cd63a0698a4248f48ee8e2d
Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com>
2022-05-13 09:55:40 +05:30
Vikash Garodia
e3da5c43e2 driver: video: Add critical priority and reserve duration
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>
2022-05-02 11:17:18 +05:30
Akshata Sahukar
91f3bc9ab7 video: driver: fix invalid output buffer tag receipt in fence usecase
When fence is enabled, output buffer tag is sent to fw via
output metadata buffer. Since fw relies on bytesused field of
output metadata buffer to invalidate cache and perform read operation,
output metadata buffer's filled length cannot be zero.
Hence set valid size for bytesused field to fix this issue.

Change-Id: I7bd87ec49508402d2d654095f06e75992771c39d
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-04-29 20:00:28 -07:00
Chandrakant I Viraktamath
308499361d video: driver: Add support for slice encode delivery
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>
2022-04-29 22:18:06 +05:30
Akshata Sahukar
047ed11bf7 video: driver: add restrictions for dec fence enablement
- 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>
2022-04-26 13:28:13 -07:00
Roopangkumar Patel
0f28bde3c5 video: driver: Change to support ROI with CBR
- Enable ROI for VBR, CBR_CFR, CBR_CFR bitrate modes.
 - Disable ROI feature, when rotation, downscaling/scaling
   enable,
 - Disable adaptive blur, when ROI feature is enable.

Change-Id: If645a255bca93b90fe5cee5a735d7ffcd2a6bc5c
Signed-off-by: Roopangkumar Patel <quic_rooppate@quicinc.com>
2022-04-24 21:56:05 -07:00
qctecmdr
80e463004e Merge "video: driver: amend priorities to allow more sessions" 2022-04-22 19:11:24 -07:00
Deepa Guthyappa Madivalara
59b8019b9d video: driver: amend priorities to allow more sessions
1. adjust client set non-realtime priroty with NRT_PRIORITY_OFFSET (2)
2. if total mbps is more than max_mbps
    a. allow encode session by reducing decoder sessions priority by 1
    b. allow decode session by moving it to non-realtime session
        in order to not disturb the ongoing sessions

Change-Id: I96fd2ac75c123d681982fb9a2c06ac51d15bd59a
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-04-22 11:55:29 -07:00
Deepa Guthyappa Madivalara
54b17e1340 video: driver: Multi instance support
Increase max session count for 4k and 1080p to allow
more concurrent UHD sessions

Change-Id: I0ed70d0b4bac54dccd40f89725525420b71742a5
Signed-off-by: Deepa Guthyappa Madivalara <dmadival@qti.qualcomm.com>
2022-04-18 13:54:37 -07:00
Govindaraj Rajagopal
f47f897e4a video: driver: split platform database entries into 2 parts
Divided database entries into 2 parts

[1] struct msm_platform_inst_capability -> it tracks cap_id,
domain, codec, min, max, step, default, v4l2_id, hfi_id, flags.
[2] struct msm_platform_inst_cap_dependency -> this will track
cap_id, domain, codec, parents, childrens, adjust and set
callbacks.

It will help to reduce number of database entries.

Change-Id: I692968b0f6804b45371e8cf4af6407e57df54bb9
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-04-12 15:25:59 +05:30
Govindaraj Rajagopal
a820f65654 video: driver: fix corner cases in caps_list preparation
during opt_list iteration, eligible node gets added into
root_list but if incase that node is having children then
child nodes were not getting added into opt_list. So added
change to address this corner case.

Change-Id: Ie402a9d57b5b00cb94ef30e2345c8c4580fc8f69
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-04-11 14:42:38 +05:30
Akshata Sahukar
ae362a4130 video: driver: Set 1 stage for Byte based Slice mode
Set 1 stage for Byte based Slice mode.

Change-Id: I9924535234e202e83d6f33b03ebc7de578e7aa48
Signed-off-by: Akshata Sahukar <asahukar@quicinc.com>
2022-04-08 22:02:14 -07:00
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
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
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
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
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
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
qctecmdr
a7c220a441 Merge "video-driver: Add support for saliency metadata" 2022-03-26 07:22:30 -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
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
qctecmdr
2e1a127d25 Merge "video driver: calculate power based on input queuing rate" 2022-03-22 19:08:47 -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
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
Darshana Patil
eef358cf9c video: driver: request api fixes for v4l2-compliance
- add support for prepare_buf
- check if client has configured invalid fd for metadata
  buffer fd control.

Change-Id: I576d02be05e4692a5ab45286895c34284f08651c
Signed-off-by: Darshana Patil <darshana@quicinc.com>
2022-03-14 16:44:15 -07:00
qctecmdr
70714739d7 Merge "video: driver: disable 100ms VBV delay and adaptive blur" 2022-03-11 17:02:12 -08:00
Mahesh Kumar Sharma
9e1771a074 video: driver: disable 100ms VBV delay and adaptive blur
Disable 100ms VBV delay and apaptive blur.

Change-Id: I7a2daa0636dead60d4ceeff9078563ec5f4572a9
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
2022-03-10 13:19:31 -08:00
Govindaraj Rajagopal
4f1180f1a6 video: driver: handle static and dynamic properties for decoder
Added change at decoder side to use adjust/set functions for
static(streamon) and dynamic(s_ctrl) cases.

Change-Id: I3d8c32baaf2fa2c3a077cc936a8ff2159ababfe3
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-03-08 19:46:05 +05:30
Mihir Ganu
de4872d103 video: driver: Update AV1D secure session capabilities
Add width and height limits to AV1D secure session
capabilities.

Change-Id: I8ebdb6818828073ec28597270a2cf72b3669a04b
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2022-03-02 15:34:48 -08:00
Govindaraj Rajagopal
8b8d3ec47a video: driver: use static const at possible places
Use static const at all possible places to improve
the performance.

Change-Id: Ib9ac9eb7a15735949ae2a8ab727355e0626bc8ef
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-02-18 20:56:53 +05:30
qctecmdr
2d2e07aee9 Merge "video: driver: AV1 power changes" 2022-02-17 22:19:05 -08:00
Chinmay Sawarkar
48f1d09c2f video: driver: AV1 power changes
AV1 power changes.

Change-Id: If05c52cb6f30152b773389cc4127bf2514765170
Signed-off-by: Chinmay Sawarkar <quic_chinmays@quicinc.com>
2022-02-17 17:15:37 -08:00
Akshata Sahukar
22cc24de7f video: driver: Enhance fence support
- 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>
2022-02-17 13:16:53 -08:00
qctecmdr
7373cc5efe Merge "video: driver: add request api controls for metadata" 2022-02-15 16:26:52 -08:00
qctecmdr
ef7ec4e390 Merge "video: driver: check proper DDR type" 2022-02-15 08:52:52 -08:00
Darshana Patil
7a27860070 video: driver: add request api controls for metadata
- Added an extension to enable sending input metadata
  via request.
- Added an extension for client to send input metadata
  buffer fd via request api.

Change-Id: I503ea2cbfb02831d9cfd475e83c94eee72545836
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-02-14 16:17:54 -08:00