There are few apk which does not set the rate. As per the design,
video sessions should run in non real time mode for such sessions.
It is leading to high power as the resources are clocked to max
in non realtime mode.
Keeping the mode as real time for such sessions.
Change-Id: I072b33038b1169788f37711ebf6cb069d0f07381
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
- make B and P frame QP controls as dynamic.
- enable I/P/B QP to fw as and when these
controls are set to the driver.
- remove HEIC qp support.
Change-Id: I7f45ab0bda75df8128bbbdfcebe66c2cae208b06
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Priority level was not determined at few sequences.
Determine the priority level and set to firmware, if
there is a change in driver and firmware priority.
Change-Id: I97861fd4ce8cfb7cf828a8da9a5ce8ba900280ef
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Currently driver prints hex values for codec type, pixel
format and port number. So added change to print strings
instead of hex values.
Removed unnecessary logs to avoid overlogging timeout
issues.
Change-Id: Ia44401990797dc20eae0a35631e9ed6a0b094c20
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
- misc fix for setting frame qp, min qp, max qp.
- seperate LEVEL database entry for encoder and
decoder as max level supported by encoder is 6_0,
but decoder supports upto 6_2.
Change-Id: Ia0a0a717e73e55a8b6933421e3eb55c3831524b2
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Currently session_error check is scattered at multiple places,
So check for session error at ioctl entry point itself(for set
type controls only).
Cleanup &inst->response_works.list as part of session close to
avoid leaks and remove unused variables from inst struct.
Change-Id: I349ec845cc71814b33a94ac07c7628304ddae564
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Add strict check in msm_vidc_check_mbpf_supported() to
reject image session, if total image load exceeds 16K.
Added msm_vidc_print_insts_info() support to print all
running instance info, if new session is rejected due
to mbpf/mbps checks.
Change-Id: I98bab985fcf4f4d20c6f263c48e0c701ec86ab6f
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Decoder supports dynamic low latency. When client configures the
video session in low latency mode, driver would configure the
firmware such that HFI_CMD_SETTINGS_CHANGE is triggerred on
sync frame boundary.
Change-Id: Ie70eaaeb8ad420db926f0d99f77723476deee400
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
[1] Irrespective of layer encoding type P or B, always
caliberate gop size to have gop size multiple
of sub gop size.
[2] Do not cap enh layer count value to max 1 value when
cvp is disabled.
Change-Id: I10f602202ce007707c0fee76d9f847db70798754
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Add support to honor client enablement of csc custom
matrix and set csc coeff to video firmware.
Change-Id: I14d702eb7033541aa439bebe11df7fc4aa49ffdb
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Deprecate custom pipe setting and use the hfi setter
to configure it alongwith other configurations.
Change-Id: Iffbd25df89f43cf77c1fa85ffa97601a31998410
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Latency property is set to firmware during streamon output port,
if set as part of initial configuration by client.
During runtime, the property is set as and when configured by
client.
1. Make the latency property dynamic for decoder.
2. For encoder, the same gets set to firmware with regular
v4l2 set properties.
3. For decoder, set the property explicitly during streamon
output port.
Change-Id: I35990614b95e57f113ddacfc2272cad6ae0dde82
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Allow max 1 enh layers when cvp metadata is disabled for HB
layer type.
Change-Id: If6e33462e8be36a4ca1fb1f253875678b697c05a
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
[1] External blur is disbled to firmware if either blur width or
blur height exceeds driver crop width or crop height.
Also, it is disabled when both blur width and blur height is
equal to blur width and blur height.
[2] fix b_frame adjustment calculation formula.
Change-Id: I71458b72095542f12c31094f7b9fc3bd34a7c66b
Signed-off-by: Akshata Sahukar <asahukar@quicinc.com>
Added support for V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE.
It willbe used in 10bit image encoding usecases.
Change-Id: I14877547f1f4792eefb0ea6bcecf2643627c125a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Fix the issue where bitrate cap database value is
incorrectly updated to dynamically client set layer bitrate
value when layer bitarte is not set.
Change-Id: I0f66c056c8ea0d053f8347dd003b61193258687e
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
To avoid memory leakage, clean children and firmware lists
at session close, error cases, and at the end of each usage.
Change-Id: I1eadbf81da207bd987c50428c0c7cf4967a8885f
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
[1] Add support to adjust and set blur type and blur
resolution.
[2] Modify flip to not allow dynamic flip enablement
when external blur is enabled.
Change-Id: I730f452c143ba8c8e15402d1c1ec3a0617bd583c
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Modify cap values for below properties:
[1] VBV Dealy: default as 300, min as 100, and max as 300
[2] Peak bitrate: default as avg bitrate set by client.
Change-Id: Ic9533e8a40e789128e5baa975bf1a0355e373e08
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Update output buffer min & extracount, if thumbnail mode is set
and also tune extracount at input psc sequence.
Change-Id: I77b28198257d127454ee3e9b2a307e1931547e8f
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
add extra size for input meta buffer
when ROI metadata is enabled.
add dependency of rate control and
color format.
Change-Id: Icefd3f9e319d596f88090cee331417c0b2946180
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Avoid adjusting, sanitizing, and setting mark and use ltr
controls to fw for input port static case.
Change-Id: I8ac7fd9537ff0c5ddce0ff0f4d0337cb19dd83d2
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
For max-qp, set_min_qp is called,
correct the same.
Change-Id: I2ff7d6557a033fa45343b131fd68cae1eaf6d796
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
Combination of PREPEND_SPSPPS_TO_IDR with V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE or
V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME is not supported.
Hence, prioritize PREPEND_SPSPPS_TO_IDR over SEPARATE/JOINED_WITH_1ST_FRAME
to set to fw.
Change-Id: Ia23569c046c95889d5eabbe2142d6fd2c69d032a
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
- Account for V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY
ctrl value to decide HFI_PROP_DECODE_ORDER_OUTPUT property value.
- Set encoder run time properties on raw port
- Some logging changes.
Change-Id: I5eef81b484e81b69031854a3a8665de4be7f98f9
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Handled below items as part of this change.
- print buffer_name instead of hex value.
- enable dcvs only for realtime sessions.
- enhanced max_input_data_size handling at
msm_vidc_scale_power.
Change-Id: If5ac810f4e020bee54364161596c5547af94161a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Add support to deliver HFI_PROP_BUFFER_TAG via FTB metadata buffer
to receive HFI_PROP_DPB_TAG_LIST from fw via FBD metadata buffer.
Change-Id: Id9eeee26135379975f55923505d9c91905fa0b9e
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
- Allow HB layer encoding type
- fix dynamic setting of I Frame QP and Peak Bitrate.
This reverts commit 4ef2b8899d.
Change-Id: I4d63dd424c68d388709684c649ef492ce2489caa
Following changes are added with this:
1. Handle and adjust session priority.
2. Session addmission based on priority.
3. Power (clock and bus) scaling based on priority.
4. Handle s_parm influence on priority.
Change-Id: I12dec5fb03d733f07b0b0a24b4d74d1ccd4bf791
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>