Commit Graph

3625 Commits

Author SHA1 Message Date
hdl
470222deef fix[Venc]: Fix jpeg and vpx fqp param error.
Signed-off-by: hdl <hdl@rock-chips.com>
Change-Id: Ib6e62d734a9a7019f51961de447d542e30289e9c
2023-09-27 14:18:00 +08:00
hdl
68177e2268 feat[vepu580]: Add frm min/max qp and scene_mode cmd param
Signed-off-by: hdl <hdl@rock-chips.com>
Change-Id: I27c3f3cfb599b8d05e58aceb1967bec4230d386e
2023-09-25 17:46:32 +08:00
Johnson Ding
235123d309 fix[h265e_vepu580]: dual cores concurrency problem
For non referenced frame encoding when dual cores working together for
each tile of the frame, the core, generally it is core-1, processing the
right tile will spend twice of time comparing to the other core. Turing
off dchs solves this problem.

Change-Id: Iaec076c838115f3cbc3fdbebfadf4fb4a0138aec
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-09-25 17:20:50 +08:00
hdl
9ff2961dcf feat[venc]: Add qbias for rkvenc encoder
Signed-off-by: hdl <hdl@rock-chips.com>
Change-Id: Ib463b777898a3c25bebbd2fcb95d872581f0b8f7
2023-09-25 16:34:03 +08:00
xueman.ruan
de396c2ac2 fix[hal_h264e_vepu]: terminate task if not support
Change-Id: I1349ba43e57ff1b983bd5475f328cd9921137d89
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-09-22 09:09:50 +08:00
Yandong Lin
60986ca3cf fix[vdpu_34x]: disable cabac err check for rk3588
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Id162fcbe405b67fc70031fcded4b359f595c7e46
2023-09-21 16:33:30 +08:00
Xinhuang Li
8e10b8aad2 fix[enc]: fix duplicate idr frame
The problematic process is as follows:
set_cfg -> prep change is changed
get_hdr -> not clear the prep change
set_cfg -> prep change is still detected and
causing idr frames to be regenerated

Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: I270690e573e7b419695872e4d098bd2bf2599924
2023-09-15 17:04:54 +08:00
Yandong Lin
5f1cd0f12d fix[h264e_amend]: fix slice read overread issue
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I36340e28d49a9ce2c5e5c744b7018b58dbc01785
2023-09-13 17:01:04 +08:00
xueman.ruan
de8ff555df fix[hal_jpegd]: add pp feature check
Change-Id: I3b2a032006411b387682795ca0b484b3fd09ecdb
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-09-13 16:10:59 +08:00
Xinhuang Li
e2df27b29f fix[enc]: fix duplicate sps/pps information
The problematic process is as follows:
set_cfg -> codec change is changed
get_hdr -> not clear the codec change
set idr -> codec change is still detected and sps/pps
is added repeatedly

Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: If8decbba5010b271af45a6cf022863bcb2660a3d
2023-09-11 17:37:24 +08:00
Yandong Lin
dabddbacbf fix[h264e_slice]: fix pic_order_cnt_lsb wrap issue
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I3df1c5ffd9cc0d978d07b5fa2d9d10de44547199
2023-09-08 10:38:01 +08:00
Herman Chen
56bdc3276d feat: Support fbc mode change on info change stage
1. Add fbc mode adjust callback function to buf_slot. So the external
user can change fbc mode on info change by SET_FRAME_INFO control.
When we change fbc mode the return MppFrame buf_size must be check to
insure buffer is enough for new fbc mode.
2. When parser notify info change there will be a info change slot
MppFrame which must be changed also when external user change fbc mode.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic4f8764e410c796abffeb6b31924643c0eac0656
2023-09-07 15:22:32 +08:00
Johnson Ding
d616305e35 refactor: move same tables to common module
Change-Id: Id472fc5632c3d71fb88480e5ba08c7bdd8e07379
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-09-05 13:57:31 +08:00
Johnson Ding
b23c7d300b fix[hal_h264e_vepu540c]: fix reg configuration
Merge some reg config from kmpp branch to fix quality of encoded images.

Change-Id: Idf13e15e2d3570b83c5248d2a074dcb48bb50f7d
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-09-05 13:57:31 +08:00
Johnson Ding
3a900a82e6 fix[hal_h264e_vepu540c]: Amend slice header
Slice header should be amended when poc type configured by user is
different with hardware encoder generated.

Change-Id: Ifa458be9a11a5346afb2abd3337c836ced9f95e8
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-09-05 13:57:31 +08:00
Herman Chen
176b4e673b fix[h264d]: fix crash on check reflist
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic5f1ea1f0bdd405d58b161b2a4608c7b42ad88b3
2023-09-04 15:51:14 +08:00
Yandong Lin
0d6cc57d44 fix[hal_vp9d]: not support fast mode for rk3588
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Iee1e461b7df361cb1c2793b9d10a67ffe4ecb3c9
2023-08-31 17:45:53 +08:00
Chandler Chen
70ca45961e fix[h264d]: fix frame output order when dpb full
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: Ib1f50ba01037b8f9e609a2db418cdfb2d3580258
2023-08-29 18:03:38 +08:00
Grey Li
6617e4feed fix[mpp_frame]: setup color default UNSPECIFIED instead 0
Signed-off-by: Grey Li <grey.li@rock-chips.com>
Change-Id: Ia6cb4669a926a747101bb28a8c0e200cc46ddb2a
2023-08-29 16:39:52 +08:00
xueman.ruan
6f956a71de fix[hal_h264d]: adjust position of env_get
Change-Id: I3ab4b5ddb0cc288d4246522376f0584dbe2a9d3b
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-08-25 17:03:59 +08:00
Yandong Lin
2f6b3738f3 fix[h264e_slice]: fix pic_order_cnt_lsb wrap issue
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ib85cea4f1b1424a555f0737323cb44214716a628
2023-08-23 16:54:52 +08:00
Yandong Lin
9980d70256 fix[hal_avs2d]: fix some issue
1. fix timeout threshold
2. fix: fill ref info err adn failed return, still send error regs to
hw.
3. fix support_fast_mode config

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I5a58fdcef88880089c549e56b3a3de9ddd80caef
2023-08-22 17:42:40 +08:00
Johnson Ding
65eea468b0 fix: fix redundant prefix NALU amended problem
1. For normal Smart-P mode, if TSVC is not enabled, temporal_id can be
   zero, and no need to add prefix NAL.
2. For RK3588 H.264 dual core encoders working concurrently, redundant
   prefix_nal should also be removed, if prefix NALU is empty.

Change-Id: I89aca4f0cf418afb48e39a141107c5f4491a1ce1
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-08-17 15:41:26 +08:00
xueman.ruan
5ae03a4bdb fix[hal_jpegd]: fix rgb out_fmt mismatch error
Issue occurs in socs after RK3588.

Change-Id: Ieedd45c7d3234fc19ab5372a0a35f4fa08570abb
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-08-16 16:16:52 +08:00
xueman.ruan
c83da7de68 fix[utils]: fix convert format error
Change-Id: I9994ab4671dbf9c0f7b0b0476c9fd2710294805d
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-08-16 16:02:11 +08:00
xueman.ruan
5d00860530 fix[h265e]: check input profile_idc
Change-Id: Ic8a433ecec697148b053ba9989c98fd1a76fa2fc
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-08-16 15:42:12 +08:00
Johnson Ding
2c3988d6b4 fix[hal_h264e_vepu580]: fix SEGV on GDR setting
Change-Id: I05f87ed190abf4911d7e9788ce745c1017c81e21
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-08-15 15:17:09 +08:00
xueman.ruan
0af9b5becc fix[h264d]: fix TSVC decode assert error.
The first prefix NAL of new frame is stored in the end of current
frame in mpp split, which introduces loss of prefix NAL.

There are some methods to debug:
1. mark the position of the first prefix NAL of new frame as the
start position of next frame.
2. store the first prefix NAL of new frame, and copy prefix to the
next frame.
3. store all the headers of NALs between last slice of current frame
and first slice of next frame.

Method 1 is invalid when the prefix NAL cross two packets.
Method 2 is complex to expand to store NAL of other type.
Method 3 is applied in this patch.

Change-Id: I76d962268d28c2d796845cb2bc136b73f26b5ea6
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-08-11 15:38:17 +08:00
Yandong Lin
47cf731245 fix[hal_vepu580]: fix comiple issue
mpp/mpp/hal/rkenc/h265e/hal_h265e_vepu580.c:3207:
error: undefined reference to 'madp_num_map'
mpp/mpp/hal/rkenc/h265e/hal_h265e_vepu580.c:3207:
error: undefined reference to 'ctu_madp_cnt_thd'

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I2ff6fd18401a89c7eff8e03a29a527c274f649cd
2023-08-11 10:17:56 +08:00
Johnson Ding
31e612e508 fix[h264d]: fix MVC DPB allocation
For MVC bitstream, the DPB size of base view may not be equal to the
higher layer view. So DPB of the smaller one needs to be enlarged.

Change-Id: Iebaf9d49824e41e393329334df1f6a9518a876db
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-08-11 10:11:49 +08:00
Johnson Ding
18d77c194b fix[h264d]: fix SEI packet parsing
When SEI payload has prevention code, paser should skip it.

Change-Id: I426bcb415199cc78b2f7211860b9a339e15d5122
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-08-11 10:06:44 +08:00
Yandong Lin
6c1ebff34b fix[hal_vp8e]: fix entropy init
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I4488fe2ecdeefa160bde019c1a3632c963dfdca1
2023-08-11 10:01:53 +08:00
xueman.ruan
e743a1ddf1 feat[hal_vepu5xx]: Expand color transform for 540c
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: I327cfdcd36a25e4ef51f08888afa67e4c6eb0e21
2023-08-08 11:15:32 +08:00
Chandler Chen
755bc8fd9d docs: update readme.txt
add RK3528, RK3528A, RK3562 support

Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: Id34bef13033e6fccc85770a29790fc4c9b26b84c
2023-08-07 16:58:06 +08:00
Yandong Lin
6ac268dfea fix[mpp_soc]: fix rk356x vepu2 capability
Not support vp8 enc

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I6080b5377a0c3615d922bb6ddcc677a736cb2b10
2023-08-03 10:29:14 +08:00
Chandler Chen
4fe51a6c29 feat: Add rk3528a support
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: Iff9f9f11bcda78476f8753c5f7c922953c243b25
2023-07-28 17:31:09 +08:00
Herman Chen
712812b5bd docs: Add 1.0.0 CHANGELOG.md
1. Add 1.0.0 CHANGELOG.md
2. Add changelog.sh for git message parsing
3. Add commit message rule to readme.txt

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I8e13594c165b9c4c36312b272e04c1a2d647cfc3
2023-07-26 16:16:13 +08:00
Herman Chen
44996a76ce [cmake]: Fix ndk r10d compile error
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I64fcf77e7adf13702f98d5d7735338846faff843
2023-07-25 14:59:11 +08:00
hdl
f69176591d [VEPU541]: Add scene_mode for fine tuning.
Signed-off-by: hdl <hdl@rock-chips.com>
Change-Id: I0cf2864667a15079fafb9690d2ac23152910e30d
2023-07-25 10:53:01 +08:00
xueman.ruan
9bde70e868 [camera_source]: fix camera reinit failed.
Issue: https://github.com/rockchip-linux/mpp/issues/408

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: Icc0b34ab28c618acdea38914300a3537c604a389
2023-07-24 09:37:19 +08:00
Rimon Xu
6a6a71cd5b [h264d]: Update pts when a new frame is generated.
In split mode, it is only possible to determine whether the
previous frame's segmentation for decoding and PTS update is
completed when the second packet is received. However, in
cases where the second packet starts with SPS (Sequence
Parameter Set) and PPS (Picture Parameter Set), we only
terminate the segmentation for decoding of the previous frame
without updating the PTS. This results in two consecutive
frames with duplicate PTS values.

Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I1e55a8fee9e18b62e538f4e5a263c6b8ffc2f087
2023-07-24 09:36:57 +08:00
Herman Chen
e34f0dd152 [hal_vp8e]: Fix crash on unsupport input format
FIXUP: https://github.com/rockchip-linux/mpp/issues/417

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib9a01bd8257ac416dd875dbd9930dcf976a709e4
2023-07-17 16:20:29 +08:00
Johnson Ding
b2455c7b6b [h264d][h265d]: Support decoding GDR stream
Change-Id: Ia5fea950e8d07a49ae751be54bffd79051b0e00f
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-07-14 11:10:36 +08:00
Johnson Ding
dfcdb60707 [tools]: Fix astyle not working problem
Change-Id: I74fdd1da3aaaf5a1c2d854c0c565587f9a878336
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-07-14 10:39:23 +08:00
Yandong Lin
28b645f22f [h265d_parse]: do not fill syntax when parse err
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I4dc5df09aec0a13c116493e7e380033eecafba20
2023-07-12 18:27:59 +08:00
Yandong Lin
2531b4ed19 [h265d_sei]: fix parse hdr vivid dynamic data issue
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I0c3020e7f6885f9b36f18044ffabf4d88bd75c56
2023-07-12 16:00:00 +08:00
Yandong Lin
897e7fd6c1 [h265d_sei]: fix sei parse cause by prevention bytes
Fix sei parse issue case by the prevention bytes not being removed.

Note:
The quantity of emulation prevention bytes is not
included in the size payloadSize of an SEI payload.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Id03d7d4c7874e2a1b33c4963bb410680fffa8e73
2023-07-12 15:59:24 +08:00
Yandong Lin
d180aebb6b [mpp_bitread]: add new type for sei payload parse
The quantity of emulation prevention bytes is not
included in the size payloadSize of an SEI payload.
So add PSEUDO_CODE_H264_H265_SEI type for sei payload parse.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I92554de98ffca2f81785aa81b2f652099dbe6ae9
2023-07-12 15:58:50 +08:00
Rimon Xu
cb8fa73dbd [vpu_api_legacy]: Support input timeout control
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I960d28a75f1ae9425bb0db54dc2e017102b7e6cb
2023-07-11 15:29:20 +08:00
Rimon Xu
dcedc39754 [vpu_api_legacy]: Support frame ready callback control
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I7de1fcab204cdf7216d8f761763337da14923e59
2023-07-11 14:44:43 +08:00