Tingjin Huang
df0b9e3a0d
feat[vepu580]: Optimize hal processing for smart encoding
...
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com >
Change-Id: I27ec19fcfa6c71bb1d084fea7d40853fed3e4603
2024-08-29 10:04:03 +08:00
Tingjin Huang
e03714e193
feat[vepu580]: Add qpmap and rc container interface
...
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com >
Change-Id: I9fb0683008880a2e025664052a64d290730e6b49
2024-08-29 10:04:03 +08:00
Herman Chen
a1a9422c26
chore[mpp_cfg]: Remove some unused code
...
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: I9b0efcba54328fae66ad06f66038bb314a66f6bc
2024-08-28 17:34:46 +08:00
Tingjin Huang
e0e70e96d2
feat[vepu510]: Add anti-smear regs setup for H.264
...
Change-Id: I46ce011c215a632c871ea8816563a2eb598146e0
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com >
2024-08-27 10:24:49 +08:00
Tingjin Huang
16e700e41e
feat[vepu510]: Add H.264 tuning setup
...
1. Add AQ regs setup. There is no aq clip operation which is
different from vepu500.
2. Update anti-stripe regs setup. Option "-atl 1/0" to enable/disable.
3. Add anti-ringing regs setup
4. Add anti-flicker regs setup
Change-Id: Ia36073d26ab5587f3478f7f8b4cdfe8a1ffed8f4
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com >
2024-08-27 10:24:39 +08:00
liming.lou
1bb6ff8993
feat[vepu510]: Sync code from enc_tune branch
...
1. Design 8 mode for smear
2. Adjust atf_e and atr_e switch
3. Adjust aq thd and aq qp delta
4. Modify appropriate parameters for smear
5. Add sao atr atl configure interface
Change-Id: I0afb7e3d920dddfd33ea8d81fcbda5dd0d6801d3
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com >
2024-08-27 10:23:33 +08:00
toby.zhang
03696728e1
feat[vepu510]: Sync code from enc_tune branch
...
1. Add anti-line tuning
2. Adjust AQ assignment
3. Add smart encoding
4. Add deblur/qpmap routine
5. Add atf & four level intensity control atf
6. Add atr anti_blur function
7. Add real time bitrate output
8. Add smear buffer for vepu510
Change-Id: Iae661686f6adacd0b5ec57c102c184e2537dfc7d
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com >
2024-08-27 10:23:23 +08:00
toby.zhang
02095f66d3
feat[vepu510]: Sync code from enc_tune branch
...
1. Add cu_qp_delta_depth cfg
2. Configure AQ regs for H.265
3. Configure regs according to scene mode
4. Support fixed frame level QP
5. Add RDO lambda table index
6. Update stat info for HEVC
7. Add tuning code for H.264 encoder
Change-Id: Id7dae4ed55e1b94622aee72cfce8f24c833d00e1
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com >
2024-08-27 10:08:49 +08:00
Yanjun Liao
12cf338dff
fix[enc_roi]: Fix cu_map init in vepu_54x_roi
...
Change-Id: Icdc9c44778ce3ecbf9234ffe4294aff8ffd4165d
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com >
2024-08-23 15:56:29 +08:00
Hongjin Li
2a30bc68c2
fix[hal_vp9]: Optimize prob memory usage
...
Change-Id: Ice9fe69b1427777cd054788b967be5adaabe7bb6
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com >
2024-08-21 14:51:10 +08:00
Johnson Ding
79b24a631b
fix[hal_h265d]: Allow reference missing for GDR
...
1. Keep decoding when the reference frame is not valid.
2. For RK3588, improve decoding speed and result when decoding a
non-IDR picture of a GDR stream.
Change-Id: Iae3ac63b05349e4ba923d6df03f89c2958ad72a1
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com >
2024-08-19 09:32:32 +08:00
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