نمودار کامیت

952 کامیت‌ها

مولف SHA1 پیام تاریخ
qctecmdr
6756aa4f73 Merge "video: driver: Add Complexity vs. Operating Rate handling" 2022-05-20 01:51:29 -07:00
Vedang Nagar
dd262f5916 video: driver: Add Complexity vs. Operating Rate handling
For Quality mode decision, Complexity and Operating rate
are handled as below -
[1] If Complexity and operating rate both are set,
    then for NRT, complexity is honored, and operating
    rate can be adjusted. But for RT, Operating Rate is
    honored and complexity can be adjusted.
[2] If only Complexity is set, then complexity is honored.
[3] If only Operating rate set then Operating rate is honored
[4] If None set, then upto encoder to decide

Change-Id: Ib8008551d5ee7a9506f4d1586ed7a3ae967ac54b
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2022-05-19 23:02:11 +05:30
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
Mihir Ganu
094b4c057c video: driver: Increase vpp cycles for specific AV1 content
AV1 bitstreams can be encoded with non-recommended tile settings
which reduce pipe efficiency when 128x128 superblocks are used.
Increase vpp cycles when 128x128 superblocks are detected.

Change-Id: I14b42363fe36116144e2a2a4bbf67cd9cc26632b
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2022-05-18 10:33:28 -07:00
qctecmdr
5b6a6bc3c8 Merge "video: driver: Subscribe to color info for AV1" 2022-05-17 16:39:56 -07:00
qctecmdr
91781e4fa0 Merge "video: driver: keep default complexity as 50" 2022-05-14 23:23:29 -07:00
Mihir Ganu
888ecb9f1b video: driver: Subscribe to color info for AV1
Subscribe to HFI_PROP_SIGNAL_COLOR_INFO to receive
color info from bitstream AV1 bitstreams.

Change-Id: I3c76bc651160b701078bd73725f7060388ad9125
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2022-05-13 08:00:01 -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
Akshata Sahukar
96a1693ba4 video: driver: Acquire lock for fence fd creation
Acquire lock for fence fd creation to avoid sync_file_poll
race conditions in fence enabled case.

Change-Id: Icb45550cd6d2018112e99d886aedd98ac3922a2c
Signed-off-by: Akshata Sahukar <quic_asahukar@quicinc.com>
2022-05-12 15:34:28 -07:00
Darshana Patil
2f361417ab video: driver: input metadata buffer size changes
use default 16kb as input metadata buffer size.
Amend buffer size if ROi metadata is enabled.

Change-Id: I7b07c432dcf27f83096f07be03537f02db9114dd
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-05-11 12:39:22 -07:00
Deepa Guthyappa Madivalara
0b5a5e71fc video: driver: fix uinitalized variables
Intitalize variables to address warnings

Change-Id: Id211e49e5055839b34950f6075e034aa74f4ae0c
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-05-09 14:57:16 -07:00
Govindaraj Rajagopal
701b2a4c58 video: driver: fix fd leak issue
if msm_vidc_memory_map() call fails then, we are not
decrementing dma_buf refcount immediately and entry
still stays in mappings list. So backed fd willnot be
reusable for the entire session and gets cleaned up
only during msm_vidc_close(). This issue mostly occur
for encode session. Added change to cleanup dma_buf
refcount immediately at the time of issue.

Change-Id: I48b4ffaa9d329ef14ef59c5c016a6dd04f705b7a
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-05-04 18:14:40 +05:30
Mihir Ganu
2de81c4c69 video: driver: Configure UBWC stride/scanlines for AV1D
Set stride/scanline (in bytes) for UBWC color formats.
This is required to keep fixed stride/scanline during
in-sequence frame resolution changes in AV1 bitstreams.
Driver sets this property before resume/start.

Change-Id: I40526793cee36ad110f40e6ce110cda8070864d7
Signed-off-by: Mihir Ganu <quic_mganu@quicinc.com>
2022-05-03 13:48:45 -07:00
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
qctecmdr
57b55c5c22 Merge "video: driver: Add support for slice encode delivery" 2022-04-29 15:44:27 -07:00
qctecmdr
cf5a48074b Merge "video: driver: introduce metadata size macro" 2022-04-29 13:19:19 -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
Mahesh Kumar Sharma
a079cc43f3 video: driver: preprocessing pass required additional cycles and bw
Encoder preprocessing feature requires additional cycles
and bw to support this feature if it is enabled.

Change-Id: I46de42dd0cb0d5a7cd9fdf00beeaefd50e40798e
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
2022-04-28 17:02:55 -07:00
Darshana Patil
808cebd0b4 video: driver: introduce metadata size macro
introduce encode input and output metadata
size macro in the interface file.

Change-Id: I40776018c5c3278d40a426c2afde4d56e90066e2
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-04-28 14:36:19 -07:00
qctecmdr
c39eec6e2e Merge "video: driver: superframe metabuffer fix" 2022-04-28 10:01:42 -07:00
Govindaraj Rajagopal
31272040c3 video: driver: fix dmabuf leak issue in queue init sequence
In __interface_queues_init() api somtimes map() call is failing.
Map failure scenario we were not freeing allocated memory. So
added change to cleanup allocated memory incase of map failure
scenario.

Change-Id: I04b196e55a5f080a4ec973aa166f7e1b6525a58c
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
2022-04-27 16:35:44 +05:30
Darshana Patil
ef97be4b75 video: driver: superframe metabuffer fix
with request api, c2 hal sets 2MB as
input metadata buffer size for encoder.
Hence amend superframe meta buffer size
sanity condition.

Change-Id: I6c837bb85471b5e4be25811922081d1160761464
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-04-26 22:34:32 -07:00
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
qctecmdr
3cbfc66709 Merge "video: driver: fix decoder output port crop info" 2022-04-25 21:43:18 -07:00
qctecmdr
e115a1410e Merge "video-driver: Add Null Pointer check for response_workq" 2022-04-25 16:34:33 -07:00
Darshana Patil
bb8c08f6cd video: driver: fix decoder output port crop info
crop width and height should be calculated using
left and top as references.

Change-Id: I463cdc9557dab3ae7200cb6aaf60fce399571d30
Signed-off-by: Darshana Patil <darshana@quicinc.com>
2022-04-25 13:53:00 -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
Vedang Nagar
30cee602ed video-driver: Add Null Pointer check for response_workq
Add Null Pointer check for response_workq inside
cancel_response_work_sync function.

Change-Id: I574034b8937ade601cb9cda3f91c3c3bcf2c3e1e
Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com>
2022-04-24 21:06:06 -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
Mahesh Kumar Sharma
e323f28384 video: driver: set Max QB to 25 upto 4k@60 fps
Set max QB to 25 upto 4k@60 fps.

Change-Id: Iad23e86c5b67323cde691db8523a2a99500ace3c
Signed-off-by: Mahesh Kumar Sharma <quic_smahesh@quicinc.com>
2022-04-21 14:56:10 -07:00
qctecmdr
f2dbcd6258 Merge "video: driver: Multi instance support" 2022-04-21 12:18:31 -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
Deepa Guthyappa Madivalara
8a1d57af0e video: driver: add comments for kernel space logs
adding comments to avoid changes in kernel space
logs that are used by post processing scripts

Change-Id: I66ee9743866d12c740c3791b92534eaf7601436d
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-04-15 17:35:09 -07:00
qctecmdr
e7a0e95217 Merge "video: driver: add macros for kernel space logs" 2022-04-14 18:23:36 -07:00
Deepa Guthyappa Madivalara
7e9d5106f6 video: driver: add macros for kernel space logs
adding kernel space logs used by post processing
scripts as macros to avoid changes in them.

Change-Id: Iea0fb0514c134767f063902ff98fd756898ef7c4
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-04-14 15:06:12 -07:00
qctecmdr
524675dc5e Merge "video: driver: createbufs and controls v4l2-compliance fixes" 2022-04-13 16:45:34 -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
Darshana Patil
0602d95bd9 video: driver: createbufs and controls v4l2-compliance fixes
when create_bufs ioctl is called for meta port, v4l2
framework calls queue_setup with num_planes as 1.
fixed the num_planes condition by updating it for only
input and output ports.
removed a condition to check if client has set unsupported
bits for metadata controls.

Change-Id: I0faf2cfc2827af7d3992bda63a04d4203f13c9e1
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
2022-04-11 17:33:36 -07:00
qctecmdr
6b08ced7fe Merge "video: driver: fix corner cases in caps_list preparation" 2022-04-11 16:58:20 -07:00
qctecmdr
e0b25f7772 Merge "video: driver: Error handling for HW overload" 2022-04-11 16:58:20 -07:00
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
Deepa Guthyappa Madivalara
cbeeaa8c64 video: driver: Error handling for HW overload
- send '-ENOMEM' after max mbps is reached

Change-Id: I6d597021046ea375f2131c2e40ac07d1aebdd9b8
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
2022-04-08 10:18: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