Herman Chen
03e1d86b08
[mpp_device]: Add MppDevPollCfg to poll function
...
Change-Id: I53ded32c3ebd70ba3842459b507782f3bd50105b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-21 09:59:14 +08:00
Fenrir Lin
04a6811127
[osal]: syslog remove LOG_PERROR
...
Signed-off-by: Fenrir Lin <fenrir.lin@rock-chips.com >
Change-Id: I592b76a1d5f6fb0bbd8b36d2d5857ac29d16dc4d
2022-03-17 18:15:21 +08:00
Ding Wei
4dcc3f6134
[hal_h264d][hal_h265d]: Fix ccu_mode issue
...
Change method to differ bettween refers and decout
method:
The poc_height mark 3 for refers which the base addr is the same as decout.
if the base addr and decout is the same, hardware will hung work.
Change-Id: I7ab71bb0f435615aea6b722f28c7b0dd57fb9674
Signed-off-by: Ding Wei <leo.ding@rock-chips.com >
2022-03-17 17:21:20 +08:00
toby.zhang
0b0d34c2db
[hal_h264e_vepu580]: Enable MD info output
...
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
Change-Id: I106db5adebf75d6fe94b47ecc0e035c24c8bec50
2022-03-17 14:23:03 +08:00
toby.zhang
9a6af10864
[mpi_enc_test]: Set qp_init to -1
...
Set to -1 for auto initial qp value.
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
Change-Id: Ibb1ba56a67b1538d239778a53d1067d4d83040d2
2022-03-17 11:48:12 +08:00
Herman Chen
55023f7a14
[h264e_vepu580]: Fix fbc header pagefault
...
Enlarge fbc header buffer for extra 16 line which is required by
hardware.
Change-Id: I6eac51d902b57424bf2c88cf3db6241cf8718fdc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-17 10:39:37 +08:00
toby.zhang
5de9134b06
[vepu580_tune]: Subjective performance tuning
...
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
Change-Id: I6ceee7cc9bfa96c440f64324e64376cd236227ea
2022-03-16 15:07:19 +08:00
Herman Chen
51dd9079ae
[h264e_sps]: Fix constraint_set flag issue
...
Fix high profile constraint_set3_flag value issue.
Change-Id: I9d2b5005365144ccb9b932783ebd4335758fcc17
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-15 17:03:57 +08:00
Herman Chen
8a85dc5db0
[mpp_enc]: Fix stuck on reset async mode encoder
...
Change-Id: I11ff972d9dccd81ea4d274443c920710379f1aff
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-14 09:00:04 +08:00
Jeffy Chen
c07169d533
[misc]: Fix a few compile warnings and errors
...
Reported by llvm-clang.
Change-Id: I62f22fe5754d3e8d77405d213c81fda5d9f5e27d
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com >
2022-03-11 17:45:10 +08:00
Yandong Lin
da6654c148
[h264d_init]: fix h264 video with 10bit parse err
...
Rootcause:
The frame_mbs_only_flag is zero in the 10bit h264 source.
then, fbc fmt is unmarked because of frame_mbs_only_flag=0
means the source may contain filed that need go to iep.
Solution:
Add filter for 10bit.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
Change-Id: Ia11f1216aff4fd674d5618d6f40b0e74e7e098f2
2022-03-10 10:28:50 +08:00
Herman Chen
f02fd231ed
[mpp_enc]: Use meta with default value to get info
...
Change-Id: Id01bf8fb813bf60888730c9e9a6d17b4bc7914a7
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-09 11:19:38 +08:00
Herman Chen
72a6118b99
[mpp_meta]: Add mpp_meta_get with default value
...
Change-Id: I2285ace50341792b1979130d19a3ec642346e4bc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-09 11:18:23 +08:00
Hongjin Li
98ac9b259b
[h264d_dpb]: Fix h264 video flicker issue
...
When the poc of the idr frame is 0, the subsequent frames with poc<0 are
discarded, which will cause the screen to flicker.
Add parameters in mpp as switches for immediate output of idr frames.
Change-Id: I522334dd1e81fc6aeeb60e71404f3a7071a5ecae
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2022-03-09 10:22:16 +08:00
toby.zhang
22caf3f1f8
[hal_vepu580]: Add scene_mode to distinguish ipc and none ipc scene.
...
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
Change-Id: Ib62c3eccbcce4b7517cf4a5d930260e982080ea9
2022-03-08 14:58:55 +08:00
Herman Chen
2eb15d5918
[mpp_enc_cfg]: Add tuning scene mode check
...
Change-Id: I0d90589c6e57be6e348f6510a79d4a7ecc83ce9c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-08 10:48:25 +08:00
Herman Chen
ff40ff4325
[mpp_enc_cfg]: Add fine tuning paramter define
...
Change-Id: I832f6706c837aac9ef7885761a6ebbb830a08d4b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-07 18:07:28 +08:00
zj
3dea9cc46f
[mpp_soc]: rk3368 has h264 decoder with vdpu1_2160p
...
Signed-off-by: zj <zj@rock-chips.com >
Change-Id: I915e9afad67e1de092aae288cb3a141daf0457fa
2022-03-07 10:32:07 +08:00
Herman Chen
df30589e30
[mpp_buffer]: Dump buffer group when size mismatch
...
Change-Id: Ic2306122b7f7cf45a683970ec047cedd42984b69
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-04 11:20:36 +08:00
toby.zhang
dbcb9c701d
[hal_vepu580]: add motion and still judgement
...
Change-Id: I376578b5771ffbad21b9fd3bd1a45b961e7eede5
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
2022-03-03 20:22:27 +08:00
toby.zhang
b3edf0d22c
[mpp_enc]: Add motion dection output path
...
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
Change-Id: Ie0ee26af50cef7f883cb3cd2c50f9121e4f87079
2022-03-03 17:39:00 +08:00
Herman Chen
881f05c7cf
[mpp_soc]: Add avs+ decoder to rk3588
...
Change-Id: Ia93c70a16c17d1202ae4b133f157c140d8c8668c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-03 16:38:49 +08:00
Herman Chen
6b24ea59d6
[mpp_enc_roi_utils]: Fix roi generation error
...
Change-Id: I8e89e6826bf405573bba3190a026f7b4f6ca9b79
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-03 14:59:05 +08:00
Herman Chen
e2fa6e0232
[test]: Add mpi_enc_mt_test
...
Add encoder multi-thread test case for non-block input / output mode.
Change-Id: I2a06f47574e760d1400914eb62420b047c60ceaf
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-03 11:43:54 +08:00
Herman Chen
578cb5d599
[mpp_enc]: Fix h265e async issue
...
1. Disable frame parallel on h265e_vepu580.
2. Output KEY_INPUT_FRAME on normal path.
Change-Id: Ic25628b4d44b23cd425740ea7cc72693997bca40
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-02 16:34:31 +08:00
Herman Chen
2e25db1a7d
[mpp/mpp_enc]: Add async encoder flow
...
Change-Id: I0e040b8e9b1cdb40be996afc818a7ffb16802d09
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-02 15:20:57 +08:00
Herman Chen
603b117d91
[h264e_vepu580]: Add dual core handshake config
...
Change-Id: Ia28b14d54816ec992660dab59fc0657a3c4b225d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-02 14:44:32 +08:00
Herman Chen
76cd30cc67
[h264e_vepu580]: Add more resource for multi-task
...
1. The register file should be increased.
2. The external line buffer should be increased.
3. Add register index to task flag.
Change-Id: I6e753db6452641ca9715b065ffd846ac74f3251b
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-02 14:44:20 +08:00
Herman Chen
fb73f3e32d
[mpp_enc]: Add task count to encoder init flow
...
Change-Id: I0bc871ec80cee70bfa83fdcfdbea42e6019089af
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-03-01 15:14:48 +08:00
Herman Chen
22400055e1
[mpi_enc_utils]: Fix opt node count error
...
Change-Id: Ic41d86f9bc63ae1c62b2cc7a8637c652a3ad99fa
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-24 16:16:22 +08:00
sayon.chen
94d1e01037
[h265d]: Keep Ps_need_upate flag on task invalid
...
Change-Id: I29998d0ca372134a04af9b349cee20ba04ad79f9
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com >
2022-02-21 09:52:33 +08:00
Herman Chen
d156706ea9
[mpp_enc]: Fix block issue on multi ctrl
...
When finishing a control process encoder should clear all wait flag and
loop from beginning.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: Ib2d208a5b453ba4bd987856a02bba99db9e1c5bc
2022-02-19 18:25:30 +08:00
Herman Chen
fc8c86154e
[hal_task]: Change hal_task to info with status
...
1. Split encoder and decoder hal_task defs and infos.
2. Change hal_task to a general info list with status.
Change-Id: I6f26035eeee4772d1ef99a21d85716e9c33eb9a6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-18 15:35:56 +08:00
Rimon Xu
a7d198da66
[h264d]: correctly limit mopn to MAX_REORDER_TIMES
...
Change-Id: I645d6b89e970c929c2d8f095b006d68c7c428efc
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com >
2022-02-18 14:58:52 +08:00
Rimon Xu
4abd806a95
[h264d]: correctly limit sps/pps id to the max value
...
Error backtrace:
0: cur_sps = (cur_sps && cur_sps->Valid) ? cur_sps : NULL;
1: set_slice_user_parmeters() at h264d_slice.c:350
2: process_slice() at h264d_slice.c:442
3: parser_one_nalu() at h264d_parse.c:233
4: parse_loop() at h264d_parse.c:908
5: h264d_parse() at h264d_api.c:610
Change-Id: Iae5f5d553c9e75b1a01e88f7080277b3f9409c50
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com >
2022-02-18 14:58:52 +08:00
sayon.chen
783abcfc7a
[vepu580]: Support intra frame twopass deflicker
...
NOTE: Only vepu580 support this feature.
Change-Id: I05768a5ca5f6d32eab3d0d9eccab0c471882cd0e
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com >
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-17 15:26:17 +08:00
Rimon Xu
2bf758c988
[h264d]: dec ref pic marking mmco can't exceed MAX_MARKING_TIMES
...
Error backtrace:
0: dec_ref_pic_marking() at h264d_slice.c:187
1: process_slice() at h264d_slice.c:551
2: parser_one_nalu() at h264d_parse.c:233
3: parse_loop() at h264d_parse.c:909
4: h264d_parse() at h264d_api.c:596
Change-Id: If61a79ad92de3671276ee2cdbd70cdeeb8933b10
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com >
2022-02-16 19:35:14 +08:00
Yandong Lin
fa29f8151d
[h264d_slice]: fix parse err that video of h > max_h
...
The limitation is mainly the line buf, so just filter
video that width > max width.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
Change-Id: Iba1f0df893513949863bc20bcc1748eec8352133
2022-02-16 19:32:01 +08:00
Herman Chen
6e316ddc10
[hal_h265e_vepu580]: Fix tile osd offset error
...
Use new multi register offset config function to setup all offset for
vepu580 and vepu541.
Change-Id: I78e77ddd818b7875c028b660aa06a16b527a8409
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-16 10:28:28 +08:00
Herman Chen
502bb4543e
[hal_h265e_vepu580]: Use MppDev delimit
...
Use MppDev delimit function to send two tile ioctl at once.
Change-Id: I80c1e17ff609cfa1a70bc95c747db9a1d995229e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-16 09:52:26 +08:00
toby.zhang
407fce1272
[mpi_enc_test]: Add fix qp encoder mode
...
Change-Id: Ia749c9eb5d2a25b87e64215aa184301baf9fa6b5
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-15 16:35:37 +08:00
shine.liu
481763d6a1
[h264d_slice]: Do not goto failed when subsps is null
...
Change-Id: I86ef288371d90a8cdfa687e7ffd162ba7561fbdd
Signed-off-by: shine.liu <shine.liu@rock-chips.com >
2022-02-15 14:48:26 +08:00
Caesar Wang
5c0859c468
[mpp_service]: Fix error on reg offset setup
...
Fix error in commit fb3390cbdd
Error log:
[ 60.923201] rk_vcodec: reg[-2080222496] + offset 127
[ 60.923216] Unable to handle kernel paging request at virtual address ffffff83263859f4
[ 61.004607] Mem abort info:
[ 61.004877] ESR = 0x96000005
[ 61.005154] EC = 0x25: DABT (current EL), IL = 32 bits
[ 61.005623] SET = 0, FnV = 0
[ 61.005898] EA = 0, S1PTW = 0
[ 61.006172] Data abort info:
[ 61.006425] ISV = 0, ISS = 0x00000005
[ 61.006764] CM = 0, WnR = 0
[ 61.007031] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000017e5000
[ 61.007621] [ffffff83263859f4] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[ 61.008407] Internal error: Oops: 96000005 [#1 ] SMP
[ 61.008835] Modules linked in: rk_vcodec
[ 61.009194] CPU: 1 PID: 1537 Comm: mpp_dec_parser Not tainted 5.10.66 #10
[ 61.009793] Hardware name: Rockchip RK3588 EVB3 LP5 V10 Board (DT)
[ 61.010340] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[ 61.010900] pc : mpp_translate_reg_offset_info+0xec/0xfc [rk_vcodec]
[ 61.011469] lr : mpp_translate_reg_offset_info+0xdc/0xfc [rk_vcodec]
[ 61.012025] sp : ffffffc013f33a90
Signed-off-by: Caesar Wang <wxt@rock-chips.com >
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: I023db0c7c930ec54bfbc1141bef3543a295b165a
2022-02-15 09:46:01 +08:00
toby.zhang
9ffb11ca0a
[hal_h265e_vepu580]: configure default matrix
...
Change-Id: If25baea50660287c0e151a7c254611e5f9784619
Signed-off-by: toby.zhang <toby.zhang@rock-chips.com >
2022-02-15 08:41:19 +08:00
sayon.chen
8f19742b81
[h265e_hal]: Fix reenc path last_frame_type update issue
...
Reencoder frame last_frame_type should not be update ,if update
inter frame after intra will set used tmvp, this will cause stream
dec error
Change-Id: I00329708b1cf7173c44a8809243e6101e9e8db80
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com >
2022-02-11 14:36:58 +08:00
Herman Chen
fe11f99415
[osal]: Add multi register offset config function
...
Add new multi config mode function.
Change-Id: I37c9c319e93e96fbd3d2bb5d598aef8d1b8fe2c8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-10 16:42:05 +08:00
Herman Chen
c4c6a540e2
[mpp]: Remove encoder non-block input failure log
...
Change-Id: I658a6693d8b9c0cdd931a08f724803ec73a2abb7
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-02-08 19:27:16 +08:00
Hongjin Li
578bb80ee7
[mpi_enc_test]: add iep2 slt testcase
...
slt verify file:
iep2_test -w <w> -h <h> -i <input> -o <output> -v iep2.verfy -f TFF
Change-Id: I9924b827d6c30abf9124cdab89dcac2e6fb96591
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2022-01-28 08:49:58 +08:00
Hongjin Li
f7954e9545
[mpi_enc_test]: optimize slt code
...
1. Optimize help log about slt
2. Optimize slt file opening
Change-Id: Ib315e46d7fbb5f3ffa576c24f5e47c42a19cb09d
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2022-01-28 08:47:54 +08:00
Herman Chen
fb3390cbdd
[osal]: Use SET_SESSION_FD to implement batch cmd
...
1. Add SET_SESSION_FD cmd.
2. Support new delimit interface to send multi request in one ioctl.
Change-Id: I07980cc9c70b5e31585254d1ffde7bc56a3007e2
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
2022-01-27 18:01:47 +08:00