Commit Graph

3510 Commits

Author SHA1 Message Date
Herman Chen
3a2196fc41 feat[jpege]: Allow rk3588 jpege 4 tasks async
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I25a5a30038b6f7fccd6ba3951d7b847a63caeff7
2023-11-16 14:26:38 +08:00
Yandong Lin
cc20dd3efe fix[mpeg4_api]: fix drop frame when two stream switch
There is a case:
In split mode, after sending the last packet of a stream,
the user then continues to send packet with extra data flag for the new
stream.
It will result in the last packet loss.

Change-Id: Iba945dbf4229a49fea2040ecc9f76e4ef7209de8
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2023-11-03 14:17:50 +08:00
sayon.chen
65439d38a4 feat[rc_v2]: Support flex fps rate control
Change-Id: I45a8544c15ab4baede232e1a3b16c517f965092e
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2023-11-03 09:11:10 +08:00
xueman.ruan
a4b66352f1 fix[script]: fix shift clear input parameter error
Change-Id: Ia48238e47d110fd049788b3d2abd86d5f69aa0b0
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-11-02 17:08:16 +08:00
Yandong Lin
3b27843844 fix[hal_h265e_vepu541]: fix roi buffer variables incorrect use
Change-Id: Ia396343b395860560aa24abecf8657d22b798fe4
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2023-11-01 09:20:54 +08:00
Herman Chen
d6f357e807 docs: Update 1.0.2 CHANGELOG.md
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I30dee82fcb327a015f5937e35524753484d98f1d
2023-11-01 09:10:10 +08:00
Johnson Ding
1cd445c5b3 fix[vepu540c]: fix h265 config
Improve image quality and compresssion rate without increasing time
consumption.

Change-Id: I5793707f5c4819b72a6edb4635c9e4188a91c9de
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-10-31 16:00:42 +08:00
Herman Chen
7af6b83286 chore[scipt]: Update changelog.sh
changelog.sh usage:

Generate the new CHANGELOG.md, commit and add new tag
changelog.sh -t 1.0.x

show help:
changelog.sh or changelog.sh -h

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2c423568dff3f7c7e10ae7de35876e09f1eee960
2023-10-31 10:59:07 +08:00
xueman.ruan
b837ec51b8 fix[h264d]: Optimize sps check error
Change-Id: Idd682a038ea4c11c774d1b3cca59d3de8d9eabb2
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-31 10:53:13 +08:00
Herman Chen
ea54baa35a [script]: Add opt clear
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I8a6719fad436f90942bc2ab67572873aacf0b260
2023-10-26 10:37:18 +08:00
Herman Chen
280030ada3 [h264d]: Optimize sps check error log
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7314875bb97aa41caa4437250150b13e11a19cff
2023-10-26 10:36:20 +08:00
xueman.ruan
22100022d7 fix[utils]: adjust format range constraint
Change-Id: I12d57955d6ad84e063784e46893b1deec90785b6
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 10:29:34 +08:00
xueman.ruan
2c6f93d147 fix[h264d]: fix mpp split eos process err
If empty eos marks task_valid, it will be send to HAL process

Change-Id: Ie4851e687dc662d38c970122caaea0cd101abbd7
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 09:22:04 +08:00
xueman.ruan
ccc07b6b9f fix[h264d]: add errinfo for 4:4:4 lossless mode
qpprime_y_zero_transform_bypass_flag is related to lossless mode.

Change-Id: I18a8914c0a291268851a4c9e90e50a043fe14fce
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 09:20:55 +08:00
xueman.ruan
78fc7fa2b3 fix[h264d]: fix eos not updated err
Change-Id: I35782fa3870ef97c494981adeed328bec2074cd8
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 09:17:05 +08:00
Yanjun Liao
a17bcc0c5e fix[camera_source]: Fix memory double-free issue
Fix duplicate memory release issue in camera_source_init

Change-Id: If52ef19c7af247e45501e7e3ab8faf4a4c187246
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2023-10-20 09:06:11 +08:00
Yanjun Liao
09e859a292 fix[mpp_dec]:fix mpp_destroy crash
Fixed a crash issue in mpp_destroy stage caused by calling members of a recycled parser thread.

crash backtrace:
#00 pc 00084882  /apex/com.android.runtime/lib/bionic/libc.so (pthread_mutex_lock+6)
#01 pc 00081434  /vendor/lib/libmpp.so (mpp_dec_notify_normal(MppDecImpl_t*, unsigned int)+32)
#02 pc 0007d6cc  /vendor/lib/libmpp.so (mpp_dec_callback_slot(char const*, void*, int, void*)+112)
#03 pc 000937f0  /vendor/lib/libmpp.so (mpp_buf_slot_clr_flag+944)
#04 pc 000da960  /vendor/lib/libmpp.so (mpp_hevc_unref_frame+168)
#05 pc 000d1c50  /vendor/lib/libmpp.so (h265d_deinit+32)
#06 pc 00081908  /vendor/lib/libmpp.so (mpp_parser_deinit+40)
#07 pc 0007e24c  /vendor/lib/libmpp.so (mpp_dec_deinit+548)
#08 pc 0006b4f0  /vendor/lib/libmpp.so (Mpp::clear()+104)
#09 pc 0006b61c  /vendor/lib/libmpp.so (Mpp::~Mpp()+12)
#10 pc 0006f7e0  /vendor/lib/libmpp.so (mpp_destroy+152)
#11 pc 00003d1c  /vendor/bin/mpi_dec_test (dec_decode+984)


Change-Id: I985168aa6ef30a265fce17c2d9765c17a24075c8
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2023-10-19 15:58:56 +08:00
xueman.ruan
dbaf9f361b docs: Add mpp developer guide markdown
Change-Id: I703117b25f28b99bfca286fc092536b2e3f62b11
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-19 10:28:23 +08:00
Herman Chen
382df67a41 fix[mpp_enc]: Fix async multi-thread case error
When it is in async mode the enc->frame is cleared on task fininsh it
should use hal_task->frame to notify the external output thread.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I237cf0f2aca8a49578f26e16f3aab16dff308132
2023-10-17 17:36:40 +08:00
Herman Chen
12aefae5b1 feat[mpp_lock]: Add spinlock timing statistic
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id63e28605853f07c3e557f01d8edffd67d7d1541
2023-10-13 11:06:53 +08:00
Herman Chen
fa9998fd37 feat[mpp_thread]: Add simple thread
The simple thread has the thread group feature.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ife367ecc3b5a46d2b50037e8d21cc8ce665a4c02
2023-10-13 10:49:50 +08:00
Chen Jinsen
4b45330c50 [mpp_soc]: Add rk3567 soc support
Change-Id: I6d02f021544a9ba4d7ff96e5aad47f5fe1f87fb3
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
2023-10-13 09:30:04 +08:00
Yanjun Liao
4be1a73eec fix[jpeg_dec]: Add parse & gen_reg err check for jpeg dec
Change-Id: If754a76a065c8e94560cb0d8391b2a449a480ece
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2023-10-11 17:35:45 +08:00
Johnson Ding
15cf6c62f9 fix[h265e_vepu580]: fix tile mode cfg
If SAO and loop filter are both enabled, tile buffer size should be
enlarged, and dchs should be enabled even if current frame is
non-reference.

Change-Id: I8f9beac8a4ebf908a10729367303dd88ae905a3c
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-10-11 17:34:10 +08:00
Hery Xu
f377c2ae70 fix[vp9d]: Fix AFBC to non-FBC mode switch issue
When vp9 decoder switches from FBC mode to non-FBC mode it requires
resetting the alignment function in buf_slot.

Change-Id: I0c3e35e2c573d003192a2a82d9bdd9c30f42088c
Signed-off-by: Hery Xu <hery.xu@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2023-10-10 09:41:23 +08:00
yanjun.liao
45fff92423 feat: add more enc info to meta
1. add num of inter/intra different size predicted block info
2. add start qp info
3. add output pskip frame indicator
4. add SSE info

Change-Id: I664f0f87b862bf1c27b43f67c5c3e4b8b060c5b0
Signed-off-by: yanjun.liao <yanjun.liao@rock-chips.com>
2023-10-10 09:11:41 +08:00
Chen Jinsen
72de096794 [cmake]: remove unused judgment
Change-Id: Ic5b0b0c3b033815a3994fac5947f9cacb5942728
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
2023-10-09 09:44:26 +08:00
Yandong Lin
35d53f2158 fix[h264e_dpb]: fix modification_of_pic_nums_idc error issue
Change-Id: I3b16988b2dafb5a0dea258d892e2cc91995d1d1d
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2023-10-08 11:46:27 +08:00
Xinhuang Li
c14ef0f774 fix[allocator]: dma_heap allocator has the highest priority
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: Ic81a84a8335f0ed08dc9cac79d3e46a869095823
2023-10-07 17:18:21 +08:00
xueman.ruan
e61fb720f4 fix[camera_source]: enumerate device and format
Change-Id: Id4ce3986109f57039cf6716c9252dcc45caebb4e
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-09-28 16:25:47 +08:00
xueman.ruan
7017dbd1b6 fix[utils]: fix hor_stride 24 aligned error
Change-Id: Ife950bd3ae5fac5faffffa4275222fcc7fb9bbe0
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-09-28 16:24:22 +08:00
Herman Chen
b81d8a9c4e docs: Update 1.0.1 CHANGELOG.md
Change-Id: Iaadd60ef003626e965f11947b790502f40ebf6b8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2023-09-28 15:46:43 +08:00
hdl
e50c3c9da8 feat[venc]: Modify fqp init value to invalid.
Signed-off-by: hdl <hdl@rock-chips.com>
Change-Id: Ie5dfc352fa173b58e40cb3045b22e36607807d50
2023-09-28 14:15:49 +08:00
Xinhuang Li
037151eb15 fix[mpp_enc_impl]: fix some error values without return an error
If an error occurs during the configuration of the parameter,
an error value must be returned

Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: I0c6922c41de8be4415fe5ab92e35e93c3f266bec
2023-09-28 14:08:13 +08:00
Yandong Lin
1e07c89a7a fix[av1d_cbs]: fix read 32bit data err
Change-Id: Iea21959289ea1f8ce9e5047cb30b72c41ec57903
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2023-09-27 18:16:52 +08:00
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