Commit graph

455 commits

Author SHA1 Message Date
Vikash Garodia
0db29bbac3 msm: vidc: Configure video context bank for best fit
With best fit configuration, the probability of getting
a mapping for video buffer increases even when the system
is fragmented.

Change-Id: I8689447ce1341fd1189b543eb9fb6a2e03edcc94
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2020-06-05 02:22:35 -07:00
Qiwei Liu
930011097f msm: vidc: support encoder auto dynamic fps
Encoder calculate fps based on timestamp,
if fps changes and stable for 2 frames,
set to firmware to facilitate rate control.
Use closest rounding instead of floor rounding
when calculate fps.

Change-Id: Id2420729a309378107ff6f7830515fae31512ddd
Signed-off-by: Qiwei Liu <qiweil@codeaurora.org>
2020-06-02 04:32:26 -07:00
Chinmay Sawarkar
6ec572de63 msm: vidc: Ignore vpp delay in thumbnail usecase
VPP delay is not applicable to Thumbnail usecase. Hence buffer
counts should not include VPP delay, in thumbnail usecase.

Change-Id: Iba7d3efec48c08c160eb602d946643d620d2a36f
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2020-05-29 16:09:38 -07:00
qctecmdr
2005f62619 Merge "msm: vidc: add active session check for clk and bus vote calculation" 2020-05-29 12:16:34 -07:00
qctecmdr
dbea17c4cb Merge "msm: vidc: Change default width & height" 2020-05-29 12:16:34 -07:00
qctecmdr
4447b8f0ba Merge "msm: venc: uncomment bitrate boost HFI calling" 2020-05-29 12:16:34 -07:00
qctecmdr
25fb9b2451 Merge "msm: vidc: restore native recorder interface" 2020-05-29 12:16:34 -07:00
qctecmdr
36d864b37f Merge "msm: vidc: modify driver output min buffer count" 2020-05-29 12:16:33 -07:00
qctecmdr
bee11d8578 Merge "msm: vidc: Adjust the load for concurrent sessions" 2020-05-29 08:35:49 -07:00
Shi Zhongbo
8fc8209df6 msm: venc: uncomment bitrate boost HFI calling
Uncomment HFI calling part for bitrate boost
setting.

Change-Id: I289b1866089fff883d624bb505b37cca4061a626
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2020-05-27 14:34:22 +08:00
Darshana Patil
bdd837dd06 msm: vidc: modify driver output min buffer count
Modify output driver min count to 4 for HEVC/H264.

Change-Id: I8efa986b693804392a6178b369ef43c7edf9e0d4
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-05-26 18:14:54 -07:00
qctecmdr
c0688d995a Merge "msm: vidc: fix dpb buffer count validation" 2020-05-26 13:25:59 -07:00
qctecmdr
6b5fa66b10 Merge "msm: vidc: update dpb buffer requirements" 2020-05-26 12:26:45 -07:00
qctecmdr
1208e22ffb Merge "msm: vidc: restrict non_secure iova usage" 2020-05-26 11:24:23 -07:00
Qiwei Liu
03507c27f6 msm: vidc: restore native recorder interface
Restore native recorder interface to keep driver
interface aligned with kona.

Change-Id: I8588bd6d85b024556c78d269c7e8d5c0b1518209
Signed-off-by: Qiwei Liu <qiweil@codeaurora.org>
2020-05-27 01:28:44 +08:00
qctecmdr
500619a0d8 Merge "msm: vidc: keep memory_size_limit check for new session" 2020-05-26 10:21:53 -07:00
qctecmdr
e8968dd197 Merge "msm_vidc: venc: update HEIF output buffer count" 2020-05-25 23:04:07 -07:00
Shi Zhongbo
5ffcf2bdc2 msm_vidc: venc: update HEIF output buffer count
1. Update buffer count after setting bitrate mode
2. Update HEIF output buffer count to 12

Change-Id: Ibbe80bc219b51db7d9c10cb001932d8e55a6f086
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2020-05-25 09:38:17 +08:00
Shi Zhongbo
0429942772 msm: venc: update min input buffer count for HEIC
After grid flag enabled for HEIC, update min
input buffer count to 2.

Change-Id: Ia279b571af8c15e029a1cc77e3cbd3f6e51448f7
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2020-05-24 18:07:53 -07:00
Manikanta Kanamarlapudi
c13ea9ecdb msm: vidc: Adjust the load for concurrent sessions
Adjust the load by max image spec for concurrent
video and image sessions.

Change-Id: I433b3a4fb4436589b930a842a02033ac665a826c
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
2020-05-23 09:22:27 -07:00
Qiwei Liu
70c6739172 msm: vidc: fix input port enum_fmt
Assign enum_fmt_out to support input port enum_fmt.
Fix encoder enum_fmt compressd flag.

Change-Id: I822ee81586fe50bfe1fbfd8a808307051e639a79
Signed-off-by: Qiwei Liu <qiweil@codeaurora.org>
2020-05-22 20:47:56 +08:00
Govindaraj Rajagopal
8eaf9d9bc8 msm: vidc: add active session check for clk and bus vote calculation
After couple of buffer transaction, sometimes session will be idle,
So do not consider inactive sessions for clk scaling and bus vote
calculation.

Change-Id: Ib4cc7606da6c828ce1d9108528a2cbbad4e5f6e4
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2020-05-22 12:58:17 +05:30
Govindaraj Rajagopal
5b0dfe97c8 msm: vidc: fix dpb buffer count validation
Shouldn't use count_min to validate dpb buffer count, as it
has already been modified when received seq change event.
Use dpb buffer_count_actual instead.

Change-Id: Iad4117e4d0045859312d726caae1c8801ba1b897
Signed-off-by: Qiwei Liu <qiweil@codeaurora.org>
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2020-05-22 12:57:33 +05:30
Govindaraj Rajagopal
343e1966ff msm: vidc: update dpb buffer requirements
buffer counts(min_cnt, min_host, actual_cnt) is updated in
hal_buffer_requirements only for internal buffers. Currently
for dpb, we are updating only actual_cnt, due to that
msm_vidc_verify_buffer_counts check is failing. So updated
all 3 variables (min_cnt, min_host, actual) for dpb.

Change-Id: Ib6e476fae57407a2b5fb55b1b73986dfca410ae6
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2020-05-22 12:54:03 +05:30
Govindaraj Rajagopal
809cf3a2e5 msm: vidc: restrict non_secure iova usage
check total non_secure memory usage, reject the new
non-secure session, if total non-secure memory usage
exceeds the non-secure region size.

Change-Id: I2b0aaae061e5b022237a4c49c66e92461fb40fca
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2020-05-22 12:50:05 +05:30
Govindaraj Rajagopal
9f4d365098 msm: vidc: keep memory_size_limit check for new session
do not allow to open new session, if total video consumed
memory is beyond allowed memory_size_max_limit for video.

Change-Id: I6bfade01f99bae24691254744adf7ce38de51fdd
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2020-05-22 12:13:49 +05:30
qctecmdr
21b711e085 Merge "msm:vidc: Modify input buffer size calculation" 2020-05-21 21:11:52 -07:00
qctecmdr
ca0e7dd803 Merge "msm: vidc: remove usage of core 1" 2020-05-21 18:46:47 -07:00
Manikanta Kanamarlapudi
ec7ac2c5f2 msm:vidc: Modify input buffer size calculation
calculate buffer size as per the max resolution
for the targets that does not support 4k and also
ensure the size is equal to YUV size by overriding
the div factor to 1.

Change-Id: Ia63676d30d1ee1e697518780a03a48010380555d
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
2020-05-21 11:20:55 -07:00
Govindaraj Rajagopal
07430ccb14 msm: vidc: add support for enc_chroma_qp_offset
[1] add support for HFI_PROPERTY_PARAM_HEVC_PPS_CB_CR_OFFSET
[2] send (cb_qp_offset << 16 | cr_qp_offset) to firmware
[3] default:0 and overridden: -12
[4] firmware will subtract 12 from driver sent value.
      0 maps to 12 to fw and bitstream has 0
    -12 maps to  0 to fw and bitstream has -12

Change-Id: I286c7088640349691930c95e9b176e4e748c669a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2020-05-21 08:03:30 +05:30
qctecmdr
b80bcd6127 Merge "msm: vidc: add RGBA UBWC colorformat support" 2020-05-20 16:13:28 -07:00
qctecmdr
2ea1272898 Merge "msm: vidc: Skip AON register programming for IRIS2 1pipe" 2020-05-19 19:14:57 -07:00
qctecmdr
a214a5b9ca Merge "msm: vidc: Remove support for noc error info registers on IRIS2 1pipe" 2020-05-19 18:01:28 -07:00
qctecmdr
d7718d9d7b Merge "msm: vidc: Enable work mode 2 for image sessions" 2020-05-19 13:45:54 -07:00
Dikshita Agarwal
690e327f30 msm: vidc: remove usage of core 1
Remove usage of core 1 since there is no support of IRIS1.

Change-Id: I5588b452455b592b8156ea4f46cb8e3171e14947
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
2020-05-19 15:02:47 +05:30
Priyanka Gujjula
201523fbce msm: vidc: Skip AON register programming for IRIS2 1pipe
AON register programming is used to set NOC to low
power mode during IRIS2 power off sequence. However
AON register memory map is not applicable and hence
skipping AON register programming for lagoon.

Change-Id: Ib63248d118ed9fecfa5fa87925e8f69625dc1ba8
Signed-off-by: Priyanka Gujjula <pgujjula@codeaurora.org>
2020-05-19 11:50:25 +05:30
Priyanka Gujjula
6d5c90a321 msm: vidc: Remove support for noc error info registers on IRIS2 1pipe
a. NOC error info registers are different for IRIS2_1 pipe HW
   to IRIS2 HW. FW can retrieve the same info without NOC error
   info registers. Hence removing the support to print NOC
   error info registers for lagoon.
b. Since IRIS2 has noc error recovery enabled and same FW is
   used for IRIS2 and IRIS2_1 pipe, only printing NOC error
   info registers is disabled with out disabling noc error
   recovery.

Change-Id: I936629e4f53faa5e25b2a64fb92378a26499ed57
Signed-off-by: Priyanka Gujjula <pgujjula@codeaurora.org>
2020-05-19 11:48:41 +05:30
qctecmdr
eff8274f54 Merge "msm: vidc: Update HFI enc_scratch1_size for lahaina" 2020-05-18 17:25:14 -07:00
qctecmdr
97f11a69f3 Merge "msm: vidc: Add IRIS2 1pipe support" 2020-05-18 17:25:14 -07:00
qctecmdr
4a6a89f80d Merge "msm: vidc: Add log to indicate image session" 2020-05-18 17:25:14 -07:00
Chinmay Sawarkar
71bfe61fda msm: vidc: Initialize ubwc_stats_lock
Initialize ubwc_stats_lock before use and destroy it before
video instance is destroyed.

Change-Id: I4ecc02109d9d1c3f8b7cfe28c49b5467866b4d3e
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2020-05-17 14:37:12 -07:00
Shi Zhongbo
c291a1bcb5 msm: venc: add bitrate boost mode
Add to enable bitrate boost mode when rate
control mode is VBR and CAC is enabled.
The default boost margin is 25. This value
can be config from 0 - 100 by the client.

Change-Id: I4c3d0ae557052d3e615aee4c74b52ce0596fcfcc
Signed-off-by: Shi Zhongbo <zhongbos@codeaurora.org>
2020-05-14 10:15:18 +08:00
Priyanka Gujjula
196a38b647 msm: vidc: Update HFI enc_scratch1_size for lahaina
Update colrcbuf_size calculations with frame width/height
in MB's instead of frame width/heigt in LCU's.

Change-Id: Ia84609e90c3bd6fb626cf759090e9ddcd1f86435
Signed-off-by: Priyanka Gujjula <pgujjula@codeaurora.org>
2020-05-10 21:37:15 -07:00
qctecmdr
0cc830f0c4 Merge "msm: vidc: Add support to Adaptive Blur" 2020-05-09 12:17:12 -07:00
qctecmdr
75cce59c6e Merge "msm: vidc: Add control to configure latency hint" 2020-05-09 12:17:12 -07:00
Manikanta Kanamarlapudi
bc16bc24aa msm: vidc: Change default width & height
Change default width & height for 1080p to
QVGA. Having 1080p as default, creates issue in
concurrent sessions for low end targets where
max capability is 1080p.

CRs-Fixed: 2602438
Change-Id: I0ca9d8633af1882abd5dbfd113c7dd55cd399f0a
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
2020-05-08 12:16:04 -07:00
Priyanka Gujjula
7d5566a34a msm: vidc: Add IRIS2 1pipe support
Add vpu_ver as IRIS2_1 for lagoon and its
corresponding checks such as no CVP, ROI type,
buffer size calculators based on vpu version.

Change-Id: Ie26c015413c551ca430bb70822a4a65d61d56e11
Signed-off-by: Priyanka Gujjula <pgujjula@codeaurora.org>
2020-05-09 00:17:34 +05:30
Vikash Garodia
6a73486000 msm: vidc: Add log to indicate image session
During multiple error scenario, video driver prints
the properties of ongoing video instances. Add a log
to indicate if the session is of type image.

Change-Id: Ie23522bd31c9f5188c204c4a1eeae59a627d1976
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
2020-05-08 04:42:11 -07:00
qctecmdr
98bdda2be1 Merge "msm: vidc: Cleanup VP8 on lahaina" 2020-05-08 00:22:18 -07:00
qctecmdr
97637f4b3c Merge "msm: vidc: update extradata size for input buffer packet" 2020-05-08 00:22:18 -07:00