Herman Chen
c367dd1609
feat[mpp_trie]: Add trie context filling feature
...
1. Add context space reserving on trie shrink.
2. Remove MppTrieNode on trie interface.
3. Fix MppTrie usage on tests.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: Ie2f568785a78499b394d298c3833dd04c6f9a9bd
2024-08-16 15:24:36 +08:00
Herman Chen
8bfa0916e2
feat[mpp_trie]: Add trie tag and shrink feature
...
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: I1edd0fb510393b73ec4962825183623cf1007482
2024-08-16 14:52:25 +08:00
Herman Chen
8108bf58ea
fix[osal]: Fix mpp_mem single instance issue
...
When another C++ static global object init before the mpp_mem service
the MppService service will be inited twice. Then on object destroy will
deinit service twice and cause mutex double delete issue.
On init
E mpp_mem : MppMemService start 0 0x7c536619e8
I mpp_mem : MppMemService mpp_mem_debug enabled 3 max node 1024
E mpp_mem : MppMemService start 1 0x5e8d724230
I mpp_mem : MppMemService mpp_mem_debug enabled 3 max node 1024
On destory
05-17 09:58:04.743 2576 2576 E mpp_mem : ~MppMemService enter 0 0x5e8d724230
05-17 09:58:04.743 2576 2576 E mpp_mem : ~MppMemService enter 1 0x7c536619e8
05-17 09:58:04.743 2576 2576 E mpp_mem : mpp_osal_free
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'rockchip/rk3576_t/rk3576_t:13/TQ3C.230805.001.B2/eng.kenjc.20240510.161710:userdebug/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2024-05-17 09:58:04.800905936+0000
Process uptime: 1s
Cmdline: mpp_trie_test
pid: 2576, tid: 2576, name: mpp_trie_test >>> mpp_trie_test <<<
uid: 0
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'FORTIFY: pthread_mutex_lock called on a destroyed mutex (0x5e8d724230)'
x0 0000000000000000 x1 0000000000000a10 x2 0000000000000006 x3 0000007fd26f05d0
x4 0000000000008080 x5 0000000000008080 x6 0000000000008080 x7 8080000000000000
x8 00000000000000f0 x9 0000007c50d22a00 x10 0000000000000001 x11 0000007c50d60de4
x12 0101010101010101 x13 000000007fffffff x14 000000000001ffea x15 0000000000000078
x16 0000007c50dc5d58 x17 0000007c50da2c70 x18 0000007c55b38000 x19 0000000000000a10
x20 0000000000000a10 x21 00000000ffffffff x22 0000000000001000 x23 0000005e8d724230
x24 0000007c5489e010 x25 0000005e8d70c060 x26 0000000000000002 x27 0000007c513226e8
x28 0000000000000000 x29 0000007fd26f0650
lr 0000007c50d52968 sp 0000007fd26f05b0 pc 0000007c50d52994 pst 0000000000000000
backtrace:
#00 pc 0000000000051994 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 4e07915368c859b1910c68c84a8de75f)
#01 pc 000000000005363c /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+124) (BuildId: 4e07915368c859b1910c68c84a8de75f)
#02 pc 00000000000b74cc /apex/com.android.runtime/lib64/bionic/libc.so (HandleUsingDestroyedMutex(pthread_mutex_t*, char const*)+60) (BuildId: 4e07915368c859b1910c68c84a8de75f)
#03 pc 00000000000b735c /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+240) (BuildId: 4e07915368c859b1910c68c84a8de75f)
#04 pc 0000000000048290 /system/bin/mpp_trie_test (mpp_osal_free+108) (BuildId: 55dca41ecc701b3ad16f0ef02270a45ce40533ff)
#05 pc 0000000000041080 /system/bin/mpp_trie_test (MppMemPoolService::~MppMemPoolService()+32) (BuildId: 55dca41ecc701b3ad16f0ef02270a45ce40533ff)
#06 pc 00000000000b9ca4 /apex/com.android.runtime/lib64/bionic/libc.so (__cxa_finalize+280) (BuildId: 4e07915368c859b1910c68c84a8de75f)
#07 pc 00000000000ac944 /apex/com.android.runtime/lib64/bionic/libc.so (exit+24) (BuildId: 4e07915368c859b1910c68c84a8de75f)
#08 pc 000000000004a1f8 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+100) (BuildId: 4e07915368c859b1910c68c84a8de75f)
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: I81ead0f796ba6e26b520a87ae69cc8f7f6e816f4
2024-08-16 09:53:55 +08:00
Hongjin Li
083b76960e
fix[hal_vp9d_com]: Fixed memory leak issue
...
Platform: RK3576
Error case: Decode vp9 source
Change-Id: If2a444cd70d850a190a26e2eabc3cdde9d997dd3
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2024-08-15 09:58:09 +08:00
Johnson Ding
ad898220a6
fix[hal_h265d]: Avoid risk of segment fault
...
Change-Id: I5af80d2de068cb6cb5ded11c110a86c35626bffb
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com >
2024-08-09 18:06:11 +08:00
Johnson Ding
c2689ac98a
fix[hal_h265d]: fix error slot index marking
...
At fast mode, 3 error_index is need. Otherwise it will be covered and
leads to ref_err marked as 1.
Change-Id: I846b6f814a88eb45d54d7e2f533c950464d1bd8e
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com >
2024-08-09 18:05:51 +08:00
Johnson Ding
918723041b
fix[h265d]: Adjust condition of scan type judgement
...
Refer to commit 3198035973 .
When decoding interlaced H.265 stream, SPS will be changed after parsing
SPS NALU. This leads to comparing the new SPS and old SPS via memcpy
reporting that they are different. And references list will unreference
frames. Finally, some frame that should be kept in dpb will be removed.
And the following picture to be decoded will not find these removed
frame for reference.
Note that comparing two SPS buffer with memcpy to find if reference list
should be update is too rough. It should be fixed in the future.
Change-Id: If20ab30973df12635976d4b9d759b36b560ddea2
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com >
2024-08-09 17:09:21 +08:00
Hongjin Li
2df4bed689
fix[mpp_hdr]: Fix buffer overflow issue
...
For vdpu383, 8K video needs to be scaled to 4K,
but buf_size still needs to be processed as 8K.
When filling HDR data, it needs to be filled
according to the 4K buffer offset.
Change-Id: I610adcf848acc1eee903b5ef7e438875b55e4628
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2024-08-05 09:45:45 +08:00
Hongjin Li
44f56822f7
fix[mpp_buffer]: Synchronous log addition point
...
Inc/dec logs are added after ref_count changes
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
Change-Id: I6c358d077c5437d47305c5e211ae9999ca7a8b8f
2024-08-05 08:53:56 +08:00
Yandong Lin
a412466af8
fix[hal_vepu]: fix split regs assignment
...
Change-Id: Idba725a871dbac7ce070e0bb66701f1584e06bb4
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
2024-08-03 11:05:44 +08:00
Yandong Lin
b71f7be716
fix[vepu580]: poll max set to 1 on split out lowdelay mode
...
Change-Id: I76e80cda83db4cc63998906d62f98181e282a91e
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
2024-08-02 17:22:47 +08:00
Yandong Lin
d96a88673c
feat[h264d]: support hdr meta parse
...
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
Change-Id: Id17781edfe480c859a2e89909e517030ea07c43b
2024-08-02 14:26:51 +08:00
Yandong Lin
b9a9ba00d5
chore: fix compile warning
...
warning: variable 'xxx' set but not used
Change-Id: I0dc5d434b7f08e776f98e08885d4b25eaab199c1
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
2024-08-01 11:12:51 +08:00
Yandong Lin
b739b13594
fix[mpp_common]: fix compile err on F_DUPFD_CLOEXEC not defined
...
Change-Id: I5e258a13be331af7a4d11d6ab2e4a8afb12418dd
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
2024-07-31 18:18:32 +08:00
Rimon Xu
045016af53
fix[h265d]: return error on sps/pps read failure
...
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com >
Change-Id: I19ebfcd2e3d301b15cd85a11706cfb3061bdef81
2024-07-31 17:13:00 +08:00
Hongjin Li
2ec23d0371
fix[build]: The first toolchains is selected by default
...
Change-Id: I4e449d4361f017c4e9eaa5947d7d79ac0e6a3e91
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2024-07-31 09:56:46 +08:00
Yanjun Liao
86cf93a028
fix[265e]:Fix the st refernce frame err in tsvc
...
This is a bug caused by the mark and use of ltr frames,
when presence of multiple short temporal refenence frame,
may lead to errors in reference relationships.
Change-Id: I1962d81e39b704086a51b4e4098ba3feb64c47c6
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-07-27 18:08:41 +08:00
Herman Chen
74758e7ee9
docs[readme]: Add more repo info
...
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: I2613d825affefc86d497a3ef43e601521e44eb23
2024-07-26 17:32:28 +08:00
Ding Wei
7bbbce41d6
fix[av1d]: when MetaData found then it is new frame
...
Change-Id: I7e2d608edafdf574799490ef8978707adc91e390
Signed-off-by: Ding Wei <leo.ding@rock-chips.com >
2024-07-22 10:10:09 +08:00
xueman.ruan
d1b73032f3
fix[m2vd]: Fix seq_head check error
...
The width and height is 16 aligned.
Issue occurs by commit:
I03732d5eec1902b6fbe80b1504e729b3a1d61330
Change-Id: Icf9b53942f8c5c15536114638d5763545eae8b26
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com >
2024-07-19 15:08:50 +08:00
Yanjun Liao
6766b43a6b
fix[h265e_vepu510]: Fix a memory leak
...
Change-Id: Ib5eb57ec755f732912bc0564e85fad4eb7cd1226
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-07-16 11:21:26 +08:00
Yanjun Liao
fa97ca3dba
feat[h265e]: Support force mark & use ltr
...
Change-Id: Ied10ca664f149a75ebc02733f884ffeb41449c4f
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-07-16 09:55:38 +08:00
Chandler Chen
ddafef8e65
fix[h265d]: auto output frame in dpb when ready
...
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com >
Change-Id: Iab5389644b7456aa2c1553132874cacef77b365f
2024-07-16 09:51:35 +08:00
xueman.ruan
7275defab3
fix[m2vd]: Remove ref frame when info changed
...
Change-Id: I03732d5eec1902b6fbe80b1504e729b3a1d61330
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com >
2024-07-15 09:44:52 +08:00
Hongjin Li
f1a47ba319
fix[mpp_meta]: Missing data in the instance
...
The function call failed because the corresponding
data is not defined:
mpp_meta_set_s32(meta, KEY_INPUT_IDR_REQ, 0);
mpp_meta_get_s32(meta, KEY_INPUT_IDR_REQ, &val);
Change-Id: I0314a5e515493fcaf49d9625aebd68c4ef61b831
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2024-07-12 11:21:50 +08:00
Hongjin Li
8753dc63a1
fix[mpp_bitread]: Fix negative shift error
...
The function update_curbyte should ensure that
num_remaining_bits_in_curr_byte_ is non-zero,
but inside the mpp_has_more_rbsp_data function,
it needs to ensure that its logic is correct.
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
Change-Id: I6a8fb99fcf447d1ece38b271988a5a562e594cc1
2024-07-08 17:29:01 +08:00
Chandler Chen
abf0c5f574
fix[osal]: fix 128 odd plus 64 bytes alignment
...
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com >
Change-Id: Ibd5ebf31b17b63e9604b271b8dd23a48590d0c46
2024-07-06 16:29:49 +08:00
Hongjin Li
990f449515
fix[h265d_parser]: Fix fmt configuration issue
...
s->h265dctx->pix_fmt is not initialized before configuration,
so without recreating mpp, s->h265dctx->pix_fmt can only behave
normally in overlay state (ex: yuv->fbc), and abnormal in
reduction state (ex: fbc->yuv)
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
Change-Id: Iee936b378c6de53a781fb67c5394738c74729242
2024-07-05 15:54:03 +08:00
Chandler Chen
550dd92849
fix[hal_av1d_vdpu383]: modify av1 segid wr/rd base config
...
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com >
Change-Id: I59242aac6973ea88ae24f8ec4baf123a87043ce9
2024-07-04 14:42:20 +08:00
Rimon Xu
c0d45df960
feat[vpu_api]: support yuv444sp decode ouput pixel format
...
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com >
Change-Id: Id23a952ecf8e9c62b9a286e4726bf8fb66062f2e
2024-07-03 09:28:39 +08:00
Hongjin Li
aaf92d7484
fix[h265d_parser]: Fix fmt configuration issue
...
s->h265dctx->pix_fmt is not initialized before configuration,
so without recreating mpp, s->h265dctx->pix_fmt can only behave
normally in overlay state (ex: yuv->fbc), and abnormal in
reduction state (ex: fbc->yuv)
Change-Id: Ib2399bdd9d41b86995f111b56a081e67a360057b
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2024-07-01 18:06:25 +08:00
Chandler Chen
b29e4b798d
fix[hal_av1d_vdpu383]: add segid reg base config
...
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com >
Change-Id: Ibb140bc11997156f75c8a9661b9f09e262ae6d5b
2024-06-27 11:23:44 +08:00
Yanjun Liao
7f6ea0ad8c
fix[enc_roi]: Use cache buf to reduce CPU usage
...
Change-Id: Ib7a90a8c1900bf3397ac320ab9b61c835ce77ee6
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-06-20 20:50:18 +08:00
ctf
d4d204174e
chore[cmake]: compile both dynamic and static libraries
...
Signed-off-by: ctf <ctf@rock-chips.com >
Change-Id: Id36494f2f014207fbe749680420426a3ce8e22c1
2024-06-20 14:46:07 +08:00
Chandler Chen
aefa45833f
fix[hal_h264d]: fix cabac offset reg index error
...
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com >
Change-Id: I65ea5d2aa39105a4f21fe27939f4000cfcf2a5bd
2024-06-19 16:13:40 +08:00
xueman.ruan
558c249a4e
fix[vdpp]: fix invalid-free err when init failure
...
Change-Id: Id3bf0104dd1baddcf601ce79fc8b00d67bf8d777
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com >
2024-06-19 16:13:22 +08:00
Yandong Lin
4874c0b425
fix[mpp_buffer]: attach fd if invalid iova when get iova
...
Change-Id: I887812b2c9e17e18826375705b45fbae42ba3826
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
2024-06-18 14:50:39 +08:00
Yandong Lin
0de7f5a72d
fix[h265e_ps]: fix disable deblocking filter failed issue
...
Change-Id: I004ba2c808a549db8167b27c6ae6c1b69d798f18
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
2024-06-17 20:43:59 +08:00
Yandong Lin
6ba70a2e8d
fix[hal_h265e_vepu510]: disable dvbm_err_en
...
Prevent trigger dvbm err interrupt falsely.
Change-Id: I16f3caf6aea20f3bcef8b5bb1ebafd2073293aee
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com >
2024-06-17 15:37:11 +08:00
Johnson Ding
2ea51b911e
fix[jpegd]: fix output format checking
...
At the stage of setting output color format via controlling
MPP_DEC_SET_OUTPUT_FORMAT command, colorspace of JPEG file is unknown.
So checking RGB, TILE, FBC format only.
Change-Id: Ia046a52a707f016d0225307f69a40f1eb29e9e09
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com >
2024-06-17 09:21:36 +08:00
Hongjin Li
ca6b0821a0
fix[av1d_parser]: fix pix_fmt calc issue
...
Error case:
When switching sources in the app, if the protocols of
the two sources are the same, but one is an 8-bit source
and the other is a 10-bit source.
Since the first source has been configured with pix_fmt
as 8bit, it will not be recalculated after switching,
resulting in an exception.
Change-Id: I92b44b9c397209171d8ef0f7a0aa65310aa8496d
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2024-06-14 16:18:02 +08:00
Yanjun Liao
5d9fc8a6ff
fix[enc_ref]:Fix compiler warning
...
Initialize max_tlayers when creating RefCfg.
Change-Id: Iafb5d4eb523f7523ee3004a6eeb62c16baf62fc1
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-06-14 14:55:14 +08:00
xiaoxu.chen
4c92df3f7c
fix[hal_vepu580]: fix debreath enable problem
...
1. fix h264 width align
2. fix h265 rotation problem
Change-Id: I9f7398968d9a70f5e2acc4cb2c30250f4617042d
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com >
2024-06-14 14:30:43 +08:00
xueman.ruan
36e263402a
fix[hal_h264e]: fix segment err when encode tsvc
...
update segment info after amend stream
Change-Id: I6dc1ace0bcd58746f3fd0755c980e22482219f3d
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com >
2024-06-13 09:17:12 +08:00
Herman Chen
239e15eaeb
docs: Update 1.0.6 CHANGELOG.md
...
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: Ie80d696cfa4ead49db4daf1466e7bd5daf28d502
2024-06-12 14:21:35 +08:00
xueman.ruan
4bc76a61ea
chore[h265d]: Reduce malloc/free frequency of vps
...
Change-Id: Ib7639b538227b2c76350e1fc1abeb5581463d4f0
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com >
2024-06-10 17:13:05 +08:00
Herman Chen
9c92ab9e20
fix[drm]: Fix permission check issue on GKI kernel
...
The GKI kernel does not allow non-render thread to open /dev/dri/card0
and alloc drm buffer from it. So we need to use /dev/dri/renderD128
instead.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: I0fad306c6eeadd8da5507883f4f4915c11946761
2024-06-07 14:48:51 +08:00
Yanjun Liao
50f108baf2
fix[hal_h265e]: Amend 510 tid and sync cache
...
Change-Id: I93f96a7da6d3caa183f4991a3a6901a6dc697b44
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-06-07 11:54:01 +08:00
Yanjun Liao
ae4baaf917
fix[hal_h265e]: Fix nalu type avoid stream warning
...
Change-Id: Ic59c77a7276a4ca2ad1cb391c5da2316903a824c
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-06-07 10:02:07 +08:00
Yanjun Liao
2256084233
fix[h265e]: Fix vps/sps max temparal layers val
...
Change-Id: Ia3905e146fce410537bf5f7e4c6173f7151f7ce9
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-06-07 10:01:50 +08:00