Commit-Graf

81 Incheckningar

Upphovsman SHA1 Meddelande Datum
Darshana Patil
23605ffffb video: driver: handle dpb list property
- subscribe for dpb list property in combined
 mode on output port.
- copy dpb list property payload from fw to
 static array.
- using this array, mark read_only list buffers
 as non-reference if not part of array. if count
 of such buffers is greater than output min count,
 send to fw for release.
- once fw returns them, destroy these buffers.
- unmap stale output mappings due to lazy unmap feature.
- unify release internal functions into common function.

Change-Id: Id32f04efb19eecaff453cc4383ee8296a0246263
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-04-09 18:21:34 -07:00
Govindaraj Rajagopal
6791a81197 video: driver: refine max_host_buffer count logic
- added max_host_buffer_count for decoder input & output.
- increased buffer count for image_session & encode
  batching case.

Change-Id: I4edf1c3a0953e38d6f84f554ab78e624d39a7306
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-04-09 11:24:36 +05:30
qctecmdr
d0d96b1076 Merge "video: driver: Always set metadata delivery/subcribe commands to fw" 2021-04-05 21:38:36 -07:00
Akshata Sahukar
376e52f50c video: driver: Always set metadata delivery/subcribe commands to fw
Set metadata delivery/subscribe commands to fw even when
delivery/subcribe metadata list is empty to ensure disabling
of needless metadata.

Change-Id: Ifbc8cfbe8911bf3318c6f85f0f6823243f7c6e67
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-04-02 14:41:01 -07:00
Akshata Sahukar
712640a1a8 video: driver: Modify decode order and some misc changes
- 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>
2021-04-02 14:24:46 -07:00
Govindaraj Rajagopal
d6890cd14a video: driver: print buffer_name instead of hex value
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>
2021-04-03 00:43:18 +05:30
Akshata Sahukar
89e7e48231 video: driver: Add support to deliver HFI_PROP_BUFFER_TAG via FTB
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>
2021-03-31 19:09:10 -07:00
Govindaraj Rajagopal
78b1491ee1 video: driver: enable dcvs - power feature
Enable/disable dcvs based on below settings.

- core supports dcvs
- core_clock_voting is set: disable
- encode_batching(superframe): disable
- decode_batching: disable
- thumbnail session: disable
- image session: disable

Handle below items as part of dcvs enablement.

- skip clock scaling for inactive session.
- reset dcvs flags to 0, for encoder at dcvs_window.

Change-Id: I84e6710946bca3fa8c83178f29745d4b9afd4697
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-31 02:02:36 +05:30
Vikash Garodia
0017afac21 video: driver: Add handling for session priority
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>
2021-03-29 22:47:28 +05:30
Darshana Patil
74b6d67205 video: driver: remove release of dpb buffers
remove release of dpb buffers as part of start
of output port.
handle watchdog interrupt incase of page fault

Change-Id: Idaccbcaa92d4835dea2da3d8b6f645114baa338a
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-24 17:58:21 -07:00
Akshata Sahukar
7a9d3462dd video: driver: fix colorspace subscribe params initialization
Initialize subscribe params for colorspace using OUTPUT
port params and use right mapper function

Change-Id: Ie6be50c1de20e351bad0fc4b015bcc4d72d1711b
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-03-19 17:32:12 -07:00
Elliot Berman
1147530e8c video: format: Add bounds check
Add bounds check on fmtdesc index
to prevent out-of-bounds array access.

Change-Id: I52873426714c8a15c0fe7b0971fe5737a549c691
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2021-03-17 14:43:00 -07:00
qctecmdr
d51e886a52 Merge "video: driver: modify s_fmt for decoder" 2021-03-16 18:39:05 -07:00
Darshana Patil
b3ddb4f102 video: driver: modify s_fmt for decoder
read input width and height and update
output resolution based on client set
color format.

Change-Id: I5605eb875ca679c671d083ca691b046769279ce5
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-15 17:16:08 -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
Darshana Patil
d102315942 video: driver: add picture type for decoder
subscribe for picture type property on output
port for decoder.

Change-Id: I4354f47777ca51a257f8ab85e9cb85faddad0099
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-03-10 16:58:40 -08:00
Govindaraj Rajagopal
6d97dd3795 video: driver: refine queue work functionality
[1] remove unwanted switch cases to reduce code complexity
[2] refine queue_response_work functionality.

Change-Id: I91aabb2eb4c64caea09a26895358544972a7d427
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-03-09 23:41:35 +05:30
qctecmdr
74f2907a9f Merge "video: driver: Enable CR and CF" 2021-03-08 15:08:22 -08:00
Chinmay Sawarkar
1a9c2e36bb video: driver: Enable CR and CF
Enable Compression Ratio and Complexity Factor property.

Change-Id: Ia34ffe0a91b0b3b9941ccb0bbb0eacfdb16b51e9
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2021-03-08 12:06:51 -08:00
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
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
b297e04dee video: driver: initialize subscribe parameters
Initialize subscribe parameters before input port settings
change event from firmware to avoid uninitialized subscribe
params usage in video driver.

Change-Id: I39a1e6646a845836a406193ace7a5fb71edee192
Depends-On: I07c7c8b4faaccc896249b2da84148ec05c2047da
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-03-02 17:04:40 -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
Akshata Sahukar
20d30c5dd2 video: driver: amend colorspace info setting
v4l2 enums for color space info are not one to one
mappings with hevc spec values. Hence, introduce and
use corresponding mapper functions.

Change-Id: I37a79a9b34b66184ece9a284ae98c9fa4efd248f
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-26 12:52:14 -08:00
Govindaraj Rajagopal
e743f5dd48 video: driver: use char array for printing vidc logs
Instead of formulating session_id, codec_type, domain at
each log print, used pre-formatted char array to print
the vidc logs.

Change-Id: If7a93ecb25a7b1b98ebca6f39e3990079c00b5dd
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-02-26 22:10:16 +05:30
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
qctecmdr
a04866f293 Merge "video: driver: set default_header property at session level" 2021-02-19 17:23:44 -08:00
Darshana Patil
52e7bb2213 video: driver: set default_header property at session level
set default header property once per session for decoder.

Change-Id: I5ca9088b8bed09907f2c9f829acec3db23e65a7c
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-19 11:46:38 -08:00
Darshana Patil
0126cc3d4b video: driver: modify decoder subscribe psc list
modify decoder subscribe psc list according
to supported codecs.

Change-Id: Id54ea26bac07491b80877ef88ab7888c08750335
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-18 20:02:22 -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
Darshana Patil
b8996ba008 video: driver: modify crop offsets property
modify crop offsets property to match the
hfi header file.

Change-Id: Id4cd1e6f68a811e7d3dfbaeb80b20bff98eaf35c
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-17 18:50:24 -08:00
Govindaraj Rajagopal
8867ad497a video: driver: resume input port for drain sequnce.
HFI_CMD_RESUME should be sent for following cases:

Decoder(V4L2_DEC_CMD_START)
input port: ipsc & drain
output port: opsc

Encoder(V4L2_ENC_CMD_START)
input port: drain
output port: no usage

Change-Id: I77b29c2da542a3d91f7ba96fb36291303d6af3f9
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
2021-02-17 13:07:38 +05:30
Darshana Patil
40a39d7455 video: driver: queue persist buffer as session buffer
-queue persist buffer as session buffer at the start
 of the session for decoder
-fix hfi buffer packet parsing when payload is none.

Change-Id: I5da2472d00bf85dd328bbdfcbd35074a46522d25
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-02-10 12:39:49 -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
Akshata Sahukar
f5a9db9667 video: driver: Add NV12 related support for enc
Add support to set HFI_PROP_LINEAR_STRIDE_SCANLINE
property to video fw.

Change-Id: I0ce3549a472388a5d2471bf4c8978a5a5f524a34
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-02-03 19:07:45 -08:00
Sebastian Dang
5220f1f7f2 video: driver: Convert debug messages
Add new print format using msm_vidc_inst.
    Convert existing sid print statements.

Change-Id: Iba6774c31ff92997b4f8598e6a705f58bfa1b03c
2021-02-02 10:21:34 -08:00
Maheshwar Ajja
2719badd2b video: driver: amend stop and last flag processing
- do not ignore last flag buffer in last flag not allowed
  case also
- ignore stop command if input port is not streaming
  instead of returning -EBUSY error.
- defer input port settings change in few states instead of
  ignoring it.

Change-Id: I705f0c8ae2da899a5d262f6246aa65de5591ac26
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
2021-01-29 12:41:44 -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
Akshata Sahukar
18f496a511 video: driver: handle enc internal buffers returned from fw
- destroy enc internal buffers when firmware returns these
 buffers after its usage.
- fix some incorrect log masks that result in false error
 logs.

Change-Id: I4707e915b725769bbbaa0a2c4c4e0d9cd10805a4
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
2021-01-26 17:44:21 -08:00
Darshana Patil
d868af90db video: driver: remove cabac_session as PSC property
remove HFI_PROP_CABAC_SESSION as PSC property.

Change-Id: Ib123f5576763221775a225f882bcc91685d16411
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-26 12:06:51 -08:00
Darshana Patil
60b7435a4c video: driver: add nv12 format support
add nv12 format support

Change-Id: I6a9f2eb814504e35797fb91053417f16cfdf8b25
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-25 16:12:48 -08:00
Mihir Ganu
9ec3d72b48 video: driver: Update metadata port settings
- Set correct metadata buffer sizes/counts in initialization.
- Update metadata buffer sizes/count when a metadata control is set.

Change-Id: Ib695b267efac26caa5858cdcdec1868d85182b90
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-19 18:39:48 -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
Darshana Patil
56f8fb871d video: driver: move msm_media_info from uapi
move msm_midia_info from uapi to core video
driver folder.

Change-Id: Ibe7eb898fd40958577a8b1afa46c46ea3c6a2ddf
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
2021-01-15 14:44:35 -08:00
Mihir Ganu
0750c2bb02 video: driver: Skip subscription/delivery when not required
Avoid sending subscribe or delivery comannds to firmware
when no metadata is enabled by client.

Change-Id: I379aa018b676ebc9b7e327757213371dbf089d53
Signed-off-by: Mihir Ganu <mganu@codeaurora.org>
2021-01-12 13:35:17 -08:00