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

63 Коммитов

Автор SHA1 Сообщение Дата
Akshata Sahukar
4ef2b8899d video: driver: Block HB layer encoding type
Allow only HP layer encoding type until fw fatal error
is resolved

Change-Id: Id35e78bbb5feaab0c9d4ad94c94d5b7e47733b69
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-19 14:40:51 -07:00
Akshata Sahukar
98e799da29 video: driver: Add support to handle GOP and its dependencies
Add support to below mentioned properties:
- HFI_PROP_LAYER_ENCODING_TYPE
- HFI_PROP_LAYER_COUNT
- HFI_PROP_MAX_GOP_FRAMES
- HFI_PROP_MAX_B_FRAMES.

Change-Id: I3be975a48dc668d0ec83f6ff13837488fc570b78
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-19 12:33:27 -07:00
Mihir Ganu
fd68015bc7 video: driver: Allow dynamic setting for CODEC_CONFIG
Set dynamic flag for CODEC_CONFIG cap to allow dynamic setting.

Change-Id: Ie49b60508b0633b34b38e4c17b8e214e7e4159a5
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-03-18 09:41:52 -07:00
Darshana Patil
3dc0696b1d video: driver: enable thumbnail mode
enable thumbnail mode depending upon
the thumbnail capability in database.

Change-Id: I2f3a36ae0ee785e73a009cfc385290c983a43e29
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-16 22:25:02 -07:00
Govindaraj Rajagopal
f4045ecbd6 video: driver: enable image encode and decode support
Added change to enable image encode and decode support.

Decoder:
    - codec: hevc
    - input buffer size: yuv size
    - run as turbo session
    - all intra session
    - disable dcvs & batching
    - ignore admission control(skip mbps, mbpf check)

Encoder:
    - codec: hevc
    - rc mode: CQ
    - profile: MainStillPic
    - all intra session
    - output buffer size: 2 * yuv size
    - output dimension: 512 x 512
    - disable dcvs & batching
    - ignore admission control(skip mbps, mbpf check)
    - skip scaling check
    - hfi: set grid enable & disable time_delta based rc.

Change-Id: I0af47de1406a53d8d8bf1969a65b3a390b0aacb5
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-13 18:44:11 +05:30
Mihir Ganu
261f173680 video: driver: Enable HDR10/10+ encoder metadata
Modify control database to allow hdr10/10+ metadata
controls for encoder.

Change-Id: I594bae02c9f768307422b20ef0d5fe18b5597056
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-03-08 08:34:06 -08:00
Darshana Patil
41d465f5cf video: driver: add dpb tag list metadata support
- add DPB tag list capability in database
- subscribe in metadata mode for the dpb tag list
  property if enabled

Change-Id: Id4b9b7392b7b26cccf0860d578b8a0cb8d798d04
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-05 16:36:29 -08:00
Govindaraj Rajagopal
a7670d7f42 video: driver: enable decoder batching support
Added change to enable decoder batching feature.

Batching willbe enabled only when below conditions were met.

[1] platform supports batching
[2] decode session
[3] realtime session
[4] non-thumbnail session
[5] non-heif session
[6] 2-stage decode only(low_latency not supported).

Change-Id: I54b601814c3b5fa2077dc41c5b0ac84964c2674a
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-04 09:38:55 +05:30
Darshana Patil
596ca194de video: driver: add thumbnail and priority support
- add thumbnail mode and priority in database.
- modify output min count for thumbnail session
- deprecate is_turbo_session.
- deprecate flags variable in instance structure and
  use database entries.

Change-Id: I04a3386f1e2eb9fb97bd550d6f169f9510f462c8
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-03 18:13:09 -08:00
Akshata Sahukar
660008370e video: driver: Add NAL length based encoding
Add support to set HFI_PROP_NAL_LENGTH_FIELD property to
video firmware.

Change-Id: I20db36bad394fe0b5163a156199340836af3f740
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-03 11:43:00 -08:00
Akshata Sahukar
4387226f98 video: driver: Add support to set default fps
Add support to set default fps to video fw.

Change-Id: I5074b5379c8bca273e098a3375f2c949b0656ae8
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-02 18:39:25 -08:00
Maheshwar Ajja
395d4a9ff5 video: driver: amend interlace detection logic
As per HFI_PROP_CODED_FRAMES details, 0x0 is field interlace,
0x1 is progressive and 0x2 is adaptive frame field bitstream.
Treat 0x1 as progressive and both 0x0 and 0x2 as interlace in
driver.

Change-Id: I07c7c8b4faaccc896249b2da84148ec05c2047da
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-03-02 09:44:17 -08:00
Darshana Patil
481a6117d8 video: driver: update license year
update license year to 2020-2021

Change-Id: I5a67bf49c386e86337bc7449ded08d186fc9a280
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-01 18:07:35 -08:00
Govindaraj Rajagopal
4055a23255 video: driver: enable smmu_fault_handler support
Added smmu_fault_handler support and printing all buffers,
allocations, mappings list details as part of smmu fault
handling.

Change-Id: Idb5d28357f9fb885adf7ae16f328b4963c56aa8c
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-02-25 12:26:46 +05:30
Akshata Sahukar
17addfbc6d video: driver: add support to few properties
Add support to below properties
- HFI_PROP_MULTI_SLICE_BYTES_COUNT
- HFI_PROP_MULTI_SLICE_MB_COUNT
- HFI_PROP_CHROMA_QP_OFFSET
- HFI_PROP_REQUEST_SYNC_FRAME

Change-Id: I4cc62870756d058e7a7b15290f5d6797b3be243c
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-24 12:06:26 -08:00
Darshana Patil
d4b5661567 video: driver: modify msm_media_info.h to fix 10bit
- introduce STRIDE_BYTES and STRIDE_PIX to
  calculate size is bytes and pxls respectively.
- DEPRECATE VENUS_BUFFER_SIZE and introduce
  VIDEO_RAW_BUFFER_SIZE. All buffer sizes are
  calculated by using STRIDE_BYTES.
- For s_fmt, use STRIDE_PIX to calculate size.
- For v4l2 bytesperline, use STRIDE_IN_BYTES to
  calculates size in bytes

Change-Id: I3db4d843d1834b25c6160ebc318572ac67e22806
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-23 20:02:29 -08:00
Akshata Sahukar
e83bddb6e9 video: driver: allow interlace metadata for avc dec only
Allow interlace metadata for avc decoder

Change-Id: I25ad16d5d904068e633b0304a62bc766a7de16bc
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-23 10:23:45 -08:00
Govindaraj Rajagopal
f02bbaf836 video: driver: enable encoder superframe batching support
Added HFR/HSR superframe handling support for encoder.

Change-Id: I28ced3f223cd78d00b1a654a79bcac3b02f378dc
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-02-22 11:52:43 +05:30
Akshata Sahukar
d8e9c5d4db video: driver: Avoid setting HFI_PROP_LAYER_ENCODING_TYPE
Avoid setting HFI_PROP_LAYER_ENCODING_TYPE to firmware

Change-Id: I056baa670a3b6ceee150b1032e5691623c6ddab9
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-19 15:00:42 -08:00
Akshata Sahukar
3ad2fda959 video: driver: add support to set colorspace for enc
- Set enc colorspace info to firmware via
  HFI_PROP_SIGNAL_COLOR_INFO property.
- Fix dec colorspace payload packaging.

Change-Id: Ib7ef2395a4f98f6497bbb200770a8612410eb8f5
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-18 14:08:00 -08:00
qctecmdr
f8e4a801a2 Merge "video: driver: Remove ddr_type call" 2021-02-12 15:53:56 -08:00
Sebastian Dang
a92ec61904 video: driver: Remove ddr_type call
Use default LPDDR5 ubwc config.

Change-Id: I658117c7daefd3d5900db790b2092db0f75dd01a
2021-02-12 15:00:42 -08:00
Akshata Sahukar
b5ce6c94cc video: driver: dynamic control support
- Set dynamic flag in inst database to allow
  dynamic setting of necessary controls.
- avoid enc qbuf call routed to dec.

Change-Id: I66cfcc6be86bfbfe237191a11d533ab6c9455f32
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-11 17:33:39 -08:00
Akshata Sahukar
622febc90c video: driver: Modify frame skip mode control
Modify frame skip mode control to alogn with waipio
kernel.

Change-Id: I311e5a6359543cb90ac5c96730b0d50d9f9b2295
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-11 16:53:36 -08:00
Akshata Sahukar
691eb8dfa5 video: driver: Add support for CQ bitrate mode
Add CQ bitrate mode support. Also add related
constant quality control support.

Change-Id: I415423e76dc855a7a72e1b68062b9d49433f3ed3
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-09 13:55:19 -08:00
Darshana Patil
d4a802bba5 video: driver: add default hdr and rap frame support
For decoder FW should not assume any default sequence header.
Decodering should start only after FW receives first sequence
header. Also, decoding starts only after discovery of random
access point frame. RAP frame means IDR for AVC, IDR/CRA/BLA
for HEVC, I frame for VP9 and MPEG2.

Change-Id: Ie12b8140f6b63e57c52a9c96cb1250f4958a42c6
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-04 14:15:58 -08:00
Darshana Patil
b226d6a089 video: driver: fixes for nv12 format and dpb buffer
fixes for nv12 format and dpb buffers. modified
PIX_FMTS and corresponding driver color format
structure, therby fixing enum_fmts.

Change-Id: I955b76dd4938e96fe259311e107a0cdca39425bc
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-28 15:42:40 -08:00
qctecmdr
48423c4696 Merge "waipio: driver: Add support for fw unload and power collapse" 2021-01-22 17:45:25 -08:00
Chinmay Sawarkar
852608fcc3 waipio: driver: Add support for fw unload and power collapse
If required, Firmware can be unloaded after every session.
Power collapse is enabled by default.

Change-Id: Ie014a26ae600816d8713cd34826f1f9a77088e4a
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-01-22 16:55:57 -08:00
Akshata Sahukar
0b21038c27 video: driver: Add support to deduce min, max, frame qp values
Add support to deduce min, max, frame qp values from client set
controls and set the same to video firmware.

Change-Id: Id94e781cc0c8afdf0e9e00562bdaea32db04fd74
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-21 12:49:37 -08:00
Chinmay Sawarkar
dca32dc984 waipio: driver: Add support for work mode and route
Iris2 specific calculations for Work Mode and Route.
Also add quality mode support.

Change-Id: I7a1e2fa27236aa749978d146d85fd0af6177084c
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-01-19 18:14:02 -08:00
qctecmdr
11556af3f4 Merge "video: driver: kill session and core deinit support" 2021-01-19 16:19:03 -08:00
Maheshwar Ajja
39e830e7e3 video: driver: kill session and core deinit support
Add below support
- kill session in case of errors
- core deinit in case of timeout errors
- flush buffers in streamoff
- decide supported colorformats based on
  bitdepth and interlace info
- print level based logs

Change-Id: I45b9b0eae4220a818de23308da8802a9e12ae255
Signed-off-by: Maheshwar Ajja <majja@quicinc.com>
2021-01-19 12:03:09 -08:00
Akshata Sahukar
92f04d7446 video: driver: Phase 2: Add support for advance controls
Add support for some advance controls to set adjusted
client set values to video fw. Mentioned below
are the properties added.
 - HFI_PROP_LTR_COUNT
 - HFI_PROP_LTR_USE
 - HFI_PROP_LTR_MARK
 - HFI_PROP_IR_RANDOM_PERIOD
 - HFI_PROP_AUD
 - HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL
 - HFI_PROP_8X8_TRANSFORM
 - HFI_PROP_LTR_MARK_USE_DETAILS
 - HFI_PROP_DEBLOCKING_MODE

Change-Id: Id31e9774154556df7c66cda366913489815a2723
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-15 21:18:17 -08:00
Darshana Patil
45d8a8c80e video: driver: add decoder bitstream size overwrite support
add decoder bitsream size overwrite support

Change-Id: Id2968c3ac7d485109a47ff7a570a1c18d74dfe43
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-14 19:06:52 -08:00
qctecmdr
b63cb106a4 Merge "Revert "video: driver: update defaults to avoid fw sync issue for enc session"" 2021-01-12 16:34:57 -08:00
Akshata Sahukar
60bf543cff video: driver: fix enc drain and change frame rate set handling
- Move driver to MSM_VIDC_DRAIN state when drain command
  is receieved for an encoder session
- Static HFI_PROP_FRAME_RATE setting to video fw handling
  is moved to inst database set function via
  msm_vidc_set_v4l2_properties to avoid enc session failure
  due to setting HFI_PROP_FRAME_RATE before starting video fw

Change-Id: I207b4bce932c5959fe47b9cca32abd15660ce2a9
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-12 15:00:17 -08:00
Akshata Sahukar
a972b72afe Revert "video: driver: update defaults to avoid fw sync issue for enc session"
This reverts commit 2ddc143565.

Change-Id: I6484584391963fa352ee158b11a0ef83984a5f80
2021-01-12 13:50:49 -08:00
Akshata Sahukar
0208a2b471 video: driver: Add support for VIDIOC_S_PARM and VIDIOC_G_PARM
Add support for S_PARM and G_PARM to enable client to
set and get frame rate and operating rate to driver. Also
includes some inst database grooming changes.

Change-Id: I5b39537662faa56effa0ac63acdfc100d83bf403
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-11 17:07:07 -08:00
Mihir Ganu
2126abf6c3 video: driver: Update metadata delivery and subscription
Enable delivery and subscriptions of various metadata based
on client settings. Also, skip instance state changes during
metadata port streamon/streamoff.

Change-Id: I063b562818c661bf1932c3362ecb709d7fe6bc20
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-08 16:48:31 -08:00
Akshata Sahukar
2ddc143565 video: driver: update defaults to avoid fw sync issue for enc session
Use STAGE_1 work mode and HFI_SEQ_HEADER_JOINED_WITH_1ST_FRAME
as header mode as default values to avoid firmware sync issue with
enc HEVC NV12_UBWC session.

Change-Id: If15c743ec8f9d34e6ec878e4fbbedd20f7bb4e73
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-05 17:52:46 -08:00
Akshata Sahukar
37b85f09d6 video: driver: update ubwc settings
Amend UBWC settings to firmware for processing
UBWC data.

Change-Id: Ia15f6117cc3182344ff96c54cce02ca2f8185eb1
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-05 12:39:34 -08:00
Maheshwar Ajja
a96377f69b video: driver: amend colorformat mask values
Amend database colorformat mask values to avoid
enum / query colorformat failure for clients.

Change-Id: I2ef61129d0aac3da12b015af699eea9bdc73dc57
Signed-off-by: Maheshwar Ajja <majja@quicinc.com>
2021-01-04 15:33:36 -08:00
Akshata Sahukar
c19f4aec51 video: driver: update basic functionality controls
- update basic functionality controls with their parents
  and children list.
- deprecate MPEG2 related code.
- rename driver internal color formats.

Change-Id: I918d6fd238486098f10c5b9ce40c895bcd9468e5
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-30 13:06:03 -08:00
Mihir Ganu
ce89227af9 video: driver: Enable encoder and decoder metadata
-Add support to set metadata controls.
-Adjust set/get format for metadata ports.
-Add check when queuing metadata buffers.

Change-Id: I73725e26106621386dcb62cbf916186b9bc43995
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2020-12-23 09:55:59 -08:00
Akshata Sahukar
38b9dd655f video: driver: enc fix to run sample HEVC NV12C testcase
Allocate ARP buffer in CB4 to avoid HW hang issue.
Add support to set HFI_PROP_RAW_RESOLUTION at enc INPUT port
and did necessary changes to set HFI_PROP_CROP_OFFSETS at
OUTPUT port only for encoder. Also added support to set
missing basic control properties to video firmware.

Change-Id: If5bc2940d37ac20c1889cd4de466be09f1e1f28b
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-18 19:20:27 -08:00
Darshana Patil
a2f47ddf00 video: driver: split ipsc and opsc subscription
Set ipsc subscribe properties once during start input
and opsc subscribe once during start output. Fetch all
property values from ipsc and set the same values to
output port.
added codec config control support.

Change-Id: I3683becdb62096ee4dbed36181a2dc9876c53724
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-12-17 20:57:32 -08:00
Darshana Patil
c07697a367 video: driver: fixes for port settings change
Disable subscribe and delivery mode metadata.
increase hardware timeout. fix to set port
settings subscription once on input and
output port.

Change-Id: I16bbc40d2efe852d1d7f626feb871317a3bc6c08
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2020-12-15 17:23:30 -08:00
Akshata Sahukar
bdc2de6c93 video: driver: fixes to get enc start/stop working
below are the fixes added to get enc start/stop working
along with setting default values to firmware for basic
functionality controls.
  - Create and queue COMV and NON COMV internal buffers
  - Use HFI_PAYLOAD_64_PACKED as payload_info type instead
    of HFI_PAYLOAD_32_PACKED HFI_PROP_CROP_OFFSETS
  - Introduce new control port specifier flags in instance
    database to help set correct port to controls while
    packetization
  - Add support to map basic functionality controls
    v4l2 enum values to hfi enum values
  - Enable static adjust and set controls support

Change-Id: Idc0dc3e3d07d8f6349c74136327a45d77ced1035
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-09 16:21:34 -08:00
Akshata Sahukar
e970285cda video: driver: driver fixes required for latest firmware
Update debug packet structure to use waipio related debug
packet structure. Also add HFI_INFORMATION_END cmd
packets handling in reverse thread.

Change-Id: Idbd421d8ada0e8c9d33df54e6f3708b1079c8b47
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2020-12-08 17:06:46 -08:00