Commit Graph

3026 Commits

Author SHA1 Message Date
xueman.ruan
09de35e9b5 [enc_cfg]: Update mirror transformation.
1. constraint the range of input argument.
2. add flip config, equal to vertical mirror transformation.
3. add mirroring_ext and rotation_ext to config set, for supporting
GET_CFG control.

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: I01c0b9187a18851354e81b5f08afc6dcaaba8365
2022-09-21 15:21:40 +08:00
Yandong Lin
8d905fe82e [h265_vdpu34x]: fix rcb size cal err in multi-tile case
A ext 64 bytes are required for each col tile boundary

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I3d6b64579b4f881354c015e556c69ea126d5976a
2022-09-21 11:38:42 +08:00
sayon.chen
536010f378 [roi_utils]: Fix cu_size set error
Change-Id: I47c2ec6ee17a37071c33468b52d306c193f6c6e8
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-20 15:25:24 +08:00
Herman Chen
1fd4733db4 [mpp_mem_pool]: Add finalized check
Add finalized flag to avoid double free error which happened on C++
static destruction function order error.

If ~MppMemPoolService is called first in __cxa_finalize then another C++
static destruction function call mpp_mem_pool function later it will
cause double free crash.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I14862e74d7987e30cccbcbaaee21170d92aa62d9
2022-09-19 17:17:53 +08:00
Herman Chen
d8fcd77685 [mpp_mem_pool]: Add lock protection on put_pool
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: If61a3d526f64c1f681bdf4e1281c7e05f4bf8499
2022-09-19 16:46:36 +08:00
sayon.chen
4386e9427c [vepu_580]: Add roi buf size check
Change-Id: Ib29be39356745de96a486112c12d7861bb01b89d
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-19 15:13:14 +08:00
sayon.chen
d1111e74ba [utils]: Support yuv420sp_tight_10bit to 16bit dump
Change-Id: Ic1143a7fe022d38ba8f6300b7e9e017a44bf802c
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-16 15:38:40 +08:00
Hongjin Li
f095476ab0 [vp9_parser]: Added log for yuv support
Change-Id: Ie2f9ca9370726e526cb2fdba578c96abc5c56dc8
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-09-16 15:14:47 +08:00
Yandong Lin
56a5a455fc [hal_av1_vdpu]: fix av1 dec err
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I3f1db1f53cd3b06ca5b27b38a8f7994f5eb8e80c
2022-09-15 18:11:14 +08:00
sayon.chen
37cc658ff3 [vdpu34x_h265]: Error_ref_base select used min poc distance
due to ref is bidirection if only select before, some case will
get fail when ref poc all after current poc, so select error ref
base used min(abs(cur_poc - ref_poc[i])) in current ref list

Change-Id: Ib6796d0e4313601ded245c6b41a4fa0c19668de7
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-15 16:11:17 +08:00
Hongjin Li
1e55b8395d [h264d]: Fix 264d decoding missing last frame
When the last packet sends empty data, h264d_prepare
returns in advance, causing the previous nalu to not
be saved normally, resulting in the loss of the last
frame of data.

Change-Id: Ic519b4326935d82b2534e7442c0ba5175885cef2
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-09-09 15:02:21 +08:00
Hongjin Li
da38e7c7d9 [h264d]: Fix missing frames in 264 decoding issue
After receiving the last packet of data, the program exits
without parsing, resulting in the frame loss of the last
packet of data.

Change-Id: I2effe7ae111402d8318095c016269f27467cb987
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-09-08 11:50:59 +08:00
Hongjin Li
516a02c4c4 [h265d_parser]: Fix I frame is marked with wrong flag issue
Fixed the problem that the I frame could not be judged correctly,
resulting in the wrong flag of the I frame to be set.

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: Ieeeb7c70d440f720808fabc6918b04b20f63565c
2022-09-07 09:32:55 +08:00
Yandong Lin
24fea09634 [mpp_platform]: fix get_kernel_version failed on 5.10
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I51fe2311641b4a7a64595e8fc8b4813c6a962303
2022-09-06 18:04:03 +08:00
sayon.chen
2fb572d291 [mpp_enc]: Clear rc info input before reenc
Before re-encode the bit_real and the quality_real should be be clear.

Change-Id: I724c93fa49feaef7194a0a10c6278527aa51598a
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-02 09:59:58 +08:00
sayon.chen
277ddfdcab [vdu34x_hevc]: Stop using error frame as refer
On yuv case skip frame decoding if it can't found right refer frame.

Change-Id: Ibd29bee262010bccb5e9fcebe94674eab9e62b6e
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-02 09:39:59 +08:00
sayon.chen
9cfb3df153 [roi_utils]: Optimize the roi set
Change-Id: Ia9085caeecf421c426e31c6d669f7f402cbac41d
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-02 09:34:40 +08:00
sayon.chen
33973ad0bb [h265d_paser]: Support decode order output
Change-Id: I5ac1cd12d4b835c9529e549c444d661fc9e21342
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-02 08:56:49 +08:00
sayon.chen
e3e79db585 [h265d]: Support fast_play
Change-Id: Iaf1ae34fa0317e09d75f934e7806faad06ac377d
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-02 08:51:14 +08:00
sayon.chen
273d2bdd92 [h265e_ps]: Add auto tile split cfg
Auto tile cfg will let encoder auto split picture into tiles
according to platform encoder core number.

When enabled on RK3588 all picture will be splited into two tiles.

Encoder cfg string: h265:auto_tile

Change-Id: I3bd91a7781fc2c7e0b43bf2e3be775a5b8098d78
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-09-01 10:56:23 +08:00
Herman Chen
09116fef5c [hal_jpege_vepu2]: Fix memory leak on multi-core
Change-Id: If98d9a01903d8907ad86a4a234c8e3bdac0e48d5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-08-31 14:38:12 +08:00
Hongjin Li
3fea12e62d [vp9]: Fix vp9 64x64 crash issue
Fix the problem that the program crashes
when the source size is less than 65x65

Change-Id: I4519cb0d70c651845cd46a23bcb2243d365450c5
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-08-31 09:10:15 +08:00
Ding Wei
6cc173d1f4 [hal_avsd]: Fix crash on avsd ref err path
Change-Id: I71229e9ecff0d1976629f32db86e78f10518e307
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-08-29 14:42:34 +08:00
dawnming.huang
dea76b856d [avsd]: fix avsd eos no set and frame slot on enough
Change-Id: Ibf7a9f3575c800e1124a20004cf0857af4c7c50f
Signed-off-by: dawnming.huang <dawnming.huang@rock-chips.com>
2022-08-24 15:16:50 +08:00
xueman.ruan
c00f55111f [h263d]: Enable mpp split for h263.
Fix h263 split logic.

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: Ifa52b9c1e905ba418aef7d95e9572467a2c83c14
2022-08-24 14:38:02 +08:00
Johnson Ding
b446025bf8 [hal_avs2d]: disable some error bistream check
Some stream encoded from xavs2 might not have `aec_lcu_stuffing_bit` set
correctly. Disable this check at CABAC module from hardware to make
decoder contiune to work instead of reseting.

Change-Id: If38624e1469debcdb1c8aecf356aa69f10521633
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-08-23 19:46:16 +08:00
Rimon Xu
c737ecbf4e [jpegd_rkv] jpegd_rkv can't support fbc compress mode
So we need check the fbc by format and return error.

Change-Id: I634e4189866e8d01eede35f9573620f3ab75ce56
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2022-08-23 10:56:41 +08:00
Hongjin Li
19e7edf048 [h264d_dpb]: Optimize fast play
For external control, fastplay is turned off by default.
For internal, judge whether to start fastplay according to
different poc modes.

External control has higher priority.

Change-Id: Ifd79267dbafa68b4f46699f3eff5b954d17a2e89
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-08-16 14:54:43 +08:00
xueman.ruan
82ae30f031 [h264e_sps]: Add parameters config for encoder
Encorder parameters: constraint_set0~5

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: I7f90ff97881f875ffad77cf4125ee6623d179563
2022-08-16 12:16:57 +08:00
Jeffy Chen
a71135a060 [mpp_compat]: Correct AFBC buf size for non-android platforms
Change-Id: I4d9fd08c6214c4c4940dee5bede6fc3516153f48
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-08-12 11:27:33 +08:00
Herman Chen
ea693d7a9e [mpp_soc]: Fix comment error
Change-Id: I1b4a2262da8499cc0ae5cd823687540382ea847b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-08-11 09:42:01 +08:00
Herman Chen
7b380ccab6 [mpp_enc_impl]: Add async empty task process
NOTE: Allow MppFrame output with empty MppBuffer.

Change-Id: I4caa1be867d79f68205b276a57ff59a43a102e55
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-08-05 11:09:31 +08:00
Herman Chen
83ac137ca2 [hal_vepu580_h264]: Add sram usage config
Change-Id: I8235be2f54b15c600639b3990576af4108feb5fc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-08-03 14:27:30 +08:00
Johnson Ding
1baddd13d9 [mpp_dec_cfg]: configuration process modification
1. Use flatten MppDecCfgInfo to replace MppCfgApi
2. Flatten the trie nodes and info nodes with string name together.
3. Refactor the decoder config setup process.

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: Ia9f24abde4e37f0a1ac4e7ec237b876a54e4aef7
2022-08-03 10:37:58 +08:00
Yandong Lin
f478ba7cdf [h265d_vdpu34x]: optimize irq status checking
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Icf42b2951d9519e0d26a3c1b6a79c2d03bc2224b
2022-08-02 12:16:18 +08:00
Yandong Lin
fe759f2719 [jpege_api]: fix jpege set fmt failed issue
If an unsupported fmt is configured first and fails,
reconfiguring the correct fmt will not take affect.

rootcause: the value of fmt used for checking is wrong.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ied1e7fa99589fbe1631c4d5f022ea44dcba2883e
2022-08-01 15:49:24 +08:00
Yandong Lin
5132a49414 [mpi_enc_test]: add sei_mode env to control sei mode
setprop sei_mode 0 to disable sei.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I35a175be32f1a49dd0f36e60b1d72534fb3742e7
2022-07-29 14:20:11 +08:00
Herman Chen
aff02553d5 [hal_jpegd]: Fix kernel register size check log
Fix error on rk3399:
rk_vcodec: mpp_check_req:1796: error: req_off 0, req_size 2e0, max_size 27c

Change-Id: I82807e02b3ba5128a2e00d4b19c98e1105e3cdd8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-07-29 11:46:34 +08:00
ywj
94bbb5c3ab [jpegd]: fix frame buffer size is zero
Signed-off-by: ywj <ywj@rock-chips.com>
Change-Id: Ie1b18eb74536242d20827145ce7983f4c280952c
2022-07-28 14:30:18 +08:00
Xinhuang Li
7d5c29a580 [mpp]: Fix missing header on encoder stream dump
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: I8b062158f3de3ff1ef10a257f08314005414b4fe
2022-07-27 16:45:06 +08:00
Hongjin Li
693946666c [h264d_parse]: Ignore the pps/sps exception of 264
Change-Id: I7950e4d9f8415cfb0aa908865b5685ef2b6df362
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-07-26 17:55:04 +08:00
Herman Chen
5a3665081a [mpp_enc_cfg]: Fix error on enlarge node count
When buffer is realloced then enlarged new memory is not initialized.
Extra memset is required.

Change-Id: Iad395b56125eb5c67ce8aed50bc1c4bed2a6826e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Wenjie Yang <ywj@rock-chips.com>
2022-07-26 17:40:33 +08:00
Herman Chen
0e2260a834 [mpp_meta_test]: Add average time calc
Change-Id: Ic96f95131acebb0aba6f31e0dab4ca717d06bd06
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-07-26 10:01:09 +08:00
sayon.chen
7c917b8721 [h26x_enc_api]: Fix 3588 fbc rotation cfg fail
Change-Id: Ie842829d86f7cc7d71429f8af502c0a122cf3248
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-07-26 09:07:25 +08:00
Hongjin Li
786836156d [mpp_dec]: Fix a specific 264-frame source is stuck issue
For a specific video source, it is stuck at the last position.
Turning on fast play or closing iep can avoid the stuck.

The reason for the stuck is that the idle task cannot be obtained when
processing eos, resulting in the failure of the eos frame to return.

Change-Id: Id78d968dc8f526f9fd195dac7bdbd97fafc1f569
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2022-07-25 08:45:56 +08:00
sayon.chen
58cec3b594 [jpege_vpu2]: Add real qfactor return
Change-Id: I7ba95d0cd714538723184ca05e5e6663295dd65b
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-07-22 13:56:26 +08:00
Herman Chen
813e3c553e [mpp_enc_cfg]: Enlarge node size to 1604
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: If120e4c41c0152b842a5ab8aecfc96d28ad0d4ae
2022-07-20 09:30:38 +08:00
Johnson Ding
bdb3361020 [hal_avs2d]: Fix compiler warning
Change-Id: If0c091b531fabcb0109d38543db700db2bea2e37
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-07-20 09:30:31 +08:00
Johnson Ding
8bc6dcff68 [hal_avs2d]: Fix compiler warning
Change-Id: I67a12748d28c73a62d9f5824730439ba4d76ce85
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-07-19 16:30:51 +08:00
Johnson Ding
14b60acde4 [h265d]: fix read bits error
Change-Id: Ic111f94c80cfa9b480ad333f6196167b10d0ea4b
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-07-19 15:55:56 +08:00