3979 Commits

Author SHA1 Message Date
xiaoxu.chen
1ea951afe5 fix[base]: Fix enc cfg size
Sync with kmpp-develop commit:
refactor[vcodec]: Optimize enc cfg struct

Change-Id: If3b4a724831d30adb24ad3a8cd4702118a56f464
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-07-01 06:40:51 +00:00
Hongjin Li
6d8d29bbac fix[mpp_sys_cfg]: fix RK3399 hor stride calc issue
Platform: RK3399
Spec: All

RK3399 does not need to force 256 odd multiple alignment

Source:
1920x1080_taipei.mpg

Reported-by: Zulin Chen <casey.chen@rock-chips.com>

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: Ie0c22aaf8c78d76a083db54098a5250bbf07c1db
2025-06-30 11:42:12 +08:00
Johnson Ding
04a695b831 chore[dec_test]: Add FBC output support
Specify output format with `-f 0x200000` to get FBC result.

Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I8458fd0c60fdfa6ac7e3a71f379954f37fe681b4
2025-06-27 16:17:15 +08:00
Yandong Lin
e08da1bd61 fix[av1d_parser]: Fix parse obu units error.
Because the loop uses repeated i, the parsing obu units
falling into an infinite loop.

Change-Id: Idc972cc05bb6c1bee94ad0e4c3d46c07da88a73d
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-06-25 07:45:19 +00:00
timkingh.huang
07580ac761 fix[hal_h265e]: Fix crash on zero gop
Change-Id: I733c8ab6d313b525a6d84f6f1b24c96c78abf7b5
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2025-06-25 07:00:37 +00:00
timkingh.huang
92ca648b53 feat[smt_v3]: Add parameters cfg interface
Change-Id: If7f54c829e7d79843800a0a15fee126d152af2a8
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2025-06-24 16:53:41 +08:00
timkingh.huang
560ac10baf feat[vepu510]: Add smart v3 interface
Change-Id: Ib2dea60f794f1ef404cf91b75053d8cf2639fd6b
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2025-06-24 16:22:18 +08:00
Herman Chen
fb6f170362 fix[base]: Fix packet and frame pool init issue
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id2243d8184e65520a9eee7dbc89e4b1d04a1abf7
2025-06-24 11:16:43 +08:00
yichen.wang
a056703411 feat[mpp_enc_cfg]: Add H.264/H.265 vui enable cfg
Support user setting for vui_parameters_present_flag.

1. Default vui enable flag is true if not setting.
2. Call mpp_enc_cfg_set_s32(cfg, "h264:vui_en", vui_en) or
        mpp_enc_cfg_set_s32(cfg, "h265:vui_en", vui_en) to
        enable or disable the vui enable flag.

Platform: all
Spec: all

Reported-by: #556121 at redmine

Change-Id: Ie4a23c2879c3209377a5800d8e63c4081c34e0f7
Signed-off-by: wyc <yichen.wang@rock-chips.com>
2025-06-24 11:10:39 +08:00
Herman Chen
ccee46d061 fix[cmake]: Fix compile error on linux with asan
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I90a815835048e7931d773f3dc5ed42cb39640ab6
2025-06-24 02:28:11 +00:00
xiaoxu.chen
2506f5df61 fix[hal_h264e]: Fix h264 poc_type reg configure
Change-Id: Ife9fd9bc96037406cfbea16c3c4fef45d4a5a3dd
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-06-23 10:01:34 +00:00
Hongjin Li
6624f5cfa2 fix[av1d_parse]: Fix mem leak issue
Platform: General
Spec: av1

Reported-by: redmine #513080
Change-Id: I228ab74182359f746e744c78cc9259524d9e9aba
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2025-06-23 17:30:50 +08:00
Herman Chen
59d05d6d8d docs: Update 1.0.10 CHANGELOG.md
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ia8f8aee2a90d624e2eb669c0b4d855d0551e7004
2025-06-23 10:36:47 +08:00
Herman Chen
870c02cec3 feat[mpp_log]: Add long log (llog) function
The default android log and syslog have a truncated length of 1024.
Use long log function to print check line for a long buffer.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I43212e8c456daf132e7920e24726ac3110f1fd15
2025-06-20 09:50:06 +08:00
xiaoxu.chen
97f620f832 fix[h265d]: Fix yuv400 decode error
Platform: RV1126B
Spec: h265

Error case:
The H.265 slice header syntax lacks adaptation for the case where ChromaArrayType=0.

Reported-by: redmine #559194
Source: y400-ok.265

NOTE: The decoders before RV1126B do not support YUV400.

Change-Id: I5362bc7f3894f1ec3938708563d81bf867815d9a
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-06-19 12:08:54 +00:00
Johnson Ding
57695b2f59 fix[h265d]: Fix GDR stream decoding
1. GDR stream started with Non-IDR frame is supported and no need to
disable error.
2. Intra refreshed frames will be mark as discard if started with
Non-IDR frame.

Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: Ide470d377f13e0512ceda4eb7219650aeffb0148
2025-06-19 17:39:51 +08:00
Herman Chen
3d530016fb feat[mpp_buffer]: Add mpp_buffer discard function
Mark a single buffer to discard status.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I86e9501ace8c2b11c60360905e9f6c9466e38eea
2025-06-19 17:39:19 +08:00
Herman Chen
eba256b154 refactor[base]: Refactor C++ mpp_enc_cfg to C
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: Ie60f680329ac6a861c7f7124955a35968fb82823
2025-06-19 17:39:00 +08:00
Yanjun Liao
04908eb50b fix[kmpp_obj]: Undef KMPP_OBJ_SGLN_ID macro
Undefine KMPP_OBJ_SGLN_ID macro for multi helper.h in one file.

Change-Id: Iccc4062ee6d17359bfd7fefc07ac3d3d17c367e1
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-06-17 19:48:46 +08:00
Johnson Ding
0a0111b398 fix[osal]: Fix timeout expire too soon issue
Using CLOCK_MONOTONIC instead of CLOCK_REALTIME to avoid date-2038
issue. Also timeout will expire sooner or later than intended if using
CLOCK_REALTIME when clock changed dramatically.

Platform: 32-bit program
Spec: all

Reported-by: #555412 at redmine

Reprodece:
1. setting system date after 2040-01-01
2. running 32-bit program calling mpp video encoder at non-block mode
    with 100ms timeout. eg: screenrecord at Android 11. This program
    will call mpp via vpu_api_legacy routine with a 100ms timeout.
3. timeout will expire sooner than 100ms.

Change-Id: I804146d6e33f5c30cbd3bdfdcf10b6dd56b0610c
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-06-17 11:47:02 +00:00
Johnson Ding
9c93a16e11 test[osal]: Add libc and OS compatibility checking
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: Ibce09f46a66fddc484b1331f33eb0d15d72cae7b
2025-06-17 17:34:23 +08:00
Hongjin Li
db6ce4fb76 refactor[base]: Refactor C++ mpp_meta to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ice500e67c4d2a4faa75873f73e537fd9659fffe8
2025-06-17 17:13:56 +08:00
Hongjin Li
ec65df0fe1 refactor[base]: Refactor C++ mpp_packet to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4d8544d78f0b879233b481b37f0feb675f2d8eb9
2025-06-17 14:35:43 +08:00
Hongjin Li
0b3ee6af1a refactor[base]: Refactor C++ mpp_frame to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ide35c19442f6917d338599ebf200b8b710b0a601
2025-06-17 14:35:43 +08:00
Herman Chen
5e67bcdf71 chore[kmpp]: Modify kmpp_objs init / deinit order
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ia8fac55bc43f092a6b76bd9f5b7706f4d28bde1d
2025-06-17 11:54:39 +08:00
Hongjin Li
147aec8a1b refactor[base]: Refactor C++ mpp_buffer to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7e478416160ab1188686252ebea9ef5f71e19852
2025-06-17 11:18:25 +08:00
Herman Chen
e31839cc74 refactor[mpp_mem_pool]: Add exit leak pool print
1. Refactor caller parameter on pool functions.
2. Add name on pool init.
3. Add exit leak pool print.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I39a8a966db895340a9e01ddff3a7894f1ca4b825
2025-06-17 11:09:54 +08:00
Hongjin Li
ed3995dc32 refactor[osal]: Refactor C++ mpp_server to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I80ef1b56d588003d712b94d8db58540de36c9245
2025-06-13 16:21:27 +08:00
canming huang
014bca460e fix[cmake]: Fix static build issue
Add merge_static_lib.sh to cmake command.

Signed-off-by: canming huang <huangcmzzk@gmail.com>
Change-Id: I1574818090f22c5612ddcb9aa12653428273f5c5
2025-06-13 11:17:36 +08:00
Hongjin Li
aa6ae2c5f6 refactor[osal]: Refactor more module from C++ to C
Refactor thread, list, queue and time module.

Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I96c07e1549868085867502c8bb974ffd3875ea9d
2025-06-12 18:32:09 +08:00
jeffry.zhang
1e74410229 feat[build]: add Android.bp support
Change-Id: I5740ea04163c48fdb0920c424d4187b22a3dd37e
Signed-off-by: jeffry.zhang <jeffry.zhang@rock-chips.com>
2025-06-12 15:08:21 +08:00
Herman Chen
794fce9e7d fix[vp8e]: Remove unused vp8e_rc file
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2cedfa23f39643e22f005687d04a96c484f6f90d
2025-06-12 14:50:51 +08:00
Hongjin Li
0cd4943d07 refactor[mpp_trace]: Refactor C++ mpp_trace to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0946d23122b2c1061dc4c031c67074a1bb48de11
2025-06-12 11:49:25 +08:00
Hongjin Li
9c4c7f6e49 refactor[mpp_runtime]: Refactor C++ mpp_runtime to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0b68072abb1d4132b22a3817f4ab09dafecc7dee
2025-06-12 11:49:25 +08:00
Hongjin Li
4bfd3f3b0e refactor[mpp_soc]: Refactor C++ mpp_soc to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib77fd56bf65d307a3b2e505b1c520eb147b06ef2
2025-06-12 11:49:25 +08:00
Hongjin Li
c204fe8c2e refactor[mpp_platform]: Refactor C++ mpp_platform to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I49211ed6c4069971accb37a9f26063de435d3551
2025-06-11 18:33:42 +08:00
Hongjin Li
92d81597bb refactor[mem_pool]: Refactor C++ mem_pool to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I53603de9b0000560d7b0835a216e9addc944554c
2025-06-11 18:33:42 +08:00
Hongjin Li
4692f8bd6b refactor[mpp_mem]: Refactor C++ mpp_mem to C
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I927346dfdb0edea486b8dda61f379f96059b01ba
2025-06-11 18:33:42 +08:00
Yandong Lin
380ef67c24 fix[h265d_rkv]: Fix dec err after cut streams
Need to sync cache after cut slice segment header extension datas.

Change-Id: Id89ef895ac6df47ff593407a18e0246138dffb9f
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-06-10 15:01:09 +08:00
xiaoxu.chen
1c867b3cac refactor[kmpp]: Replace venc_packet with KmppPacket
The kmpp.ko should update to after commit:

    commit 5502cf37894311092ca591904753ba429a6ab4ee
    Author: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
    Date:   Wed May 21 10:00:44 2025 +0800

        feat[kmpp_packet]: Add kmpp_packet interface

        Change-Id: I4a5bd37e6e34e084b2b6b4616bac770f58a2d15e
        Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>

Change-Id: Id77297068709422c1465093fa8104949a117a662
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-06-09 12:12:52 +00:00
Hongjin Li
1705827021 refactor[osal/linux/os_log]: Use C constructor.
Change-Id: I178b570db0131965deecbcf536ab8f680a35c46f
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2025-06-06 16:25:38 +08:00
Hongjin Li
dee9bced95 fix[mpp_singleton]: fix init order issue
Platform: General
Spec: all

Error case:
Constructors may be added after 65535(mpp_singleton_init)
ex: mpp_platform added after 65535 when mpp_soc is
    refactored to c

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
Change-Id: If736904beb0cd64a3e4ae3b20fd72e1198646ac7
2025-06-06 16:25:38 +08:00
Herman Chen
63e1e88b0b fix[mpp_dec]: Fix compile warning
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iaa879b19731a534cde16a57699d54f588dc93753
2025-06-06 06:14:20 +00:00
xiaoxu.chen
08bbde04bd feat[kmpp_packet]: Add kmpp_packet interface
Change-Id: If913e5deb0077b8fe59f2a6a5eebfcd76fcabf7b
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-06-05 20:14:47 +08:00
Herman Chen
fddfc9db2e chore[kmpp_obj]: Add from objs device macro
Combine kernel objdef and userspace objdef process.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Change-Id: Icf1ad03af8df3d1450138d3a9161b2dd20bb59f5
2025-06-05 17:54:04 +08:00
Herman Chen
301d85254f refacotr[base]: Refactor mpp_dec_cfg from C++ to C
1. Change mpp_dec_cfg entry_table define
2. Use new update function to update MppDecCfgSet

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ibaf98d69664c107f79ea51e6cd83419dc1bf450a
2025-06-05 11:36:24 +08:00
Herman Chen
47ba2a350e chore[kmpp_obj]: Add more obj function
1. Add update flag copy function.
2. Add entry copy function.
3. Fix register log.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4059c63cd3bbcab86144eaad38c0fc30c9ee52a8
2025-06-05 11:36:24 +08:00
Yandong Lin
90df438d20 fix[h265d_parser]: Fix slice header parse
Change-Id: Ib27e3dcefcdb4b1a4116bf71c3bbb778d718e22d
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-06-04 17:18:40 +08:00
Herman Chen
22febcaca8 chore[kmpp_obj]: Update flag calculation macro
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib8071bce985e6f5dc09580ca8d944118e5b05c63
2025-06-01 13:18:52 +00:00
Hongjin Li
4ebce81d20 fix[mpp_sys_cfg]: afbc calc support yuv444sp_10bit
Platform: General
Spec: All

Reported-by: Jinsen Chen <kevin.chen@rock-chips.com>

Change-Id: Iaf5eaadedc718682e9876ec8cb64fdd82ea1ac86
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2025-05-29 09:20:50 +00:00