Commit graph

4092 commits

Author SHA1 Message Date
xiaoxu.chen
2f5e6399c3 feat[base]: Add toml function
1. add cfg to toml
2. add toml to cfg

Change-Id: Iab5cb8f498f8bb769a0bc90a5beca85365bc960f
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-07-23 01:32:05 +00:00
Herman Chen
9aef0ff7a7 feat[base]: Use enc cfg obj
Sync with kmpp-develop commit:
feat[kmpp]: Use enc cfg obj

Add MppEncCfgImpl to compatible with MppEncCfgSet and kmpp_obj path.

Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id4e262d1053c03cd93d620828405f060f0f8517c
2025-07-18 15:48:19 +08:00
Herman Chen
f317f8c50f chore[kmpp_obj]: Add is_kobj query function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I3fde40bd823d5ca336931fc4e959cfb1deb96498
2025-07-17 18:10:55 +08:00
xiaoxu.chen
be7fc93fc2 fix[vepu511]: Add tune stat update
Change-Id: I813fbf37735673660bde2266a25939690d15e98d
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-07-14 17:51:16 +08:00
timkingh.huang
72492494ee feat[smart_v3]: Add new frame qp interface
min_bg_fqp: min frame qp for background region
max_bg_fqp: max frame qp for background region
min_fg_fqp: min frame qp for foreground region
max_fg_fqp: max frame qp for foreground region

Change-Id: Idc10767d545dd83e4157f839a621e4801c98201e
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2025-07-12 17:21:09 +08:00
timkingh.huang
db6deeef62 chore[rc_smt]: Adjust code style for rc_smt
Change-Id: I819c76652270104b32775b44e8f6658bf95b4437
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2025-07-12 09:13:02 +00:00
Yanjun Liao
2bec3a942d fix[kmpp_obj]: Update tbl after objdef registration
Change-Id: If97e9333be2a9a14e01252e51c98641a632f9c07
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-07-10 10:32:15 +08:00
Herman Chen
981a15d9c6 fix[mpp_cfg_io]: Add more mpp_cfg_io function
1. Move MppCfgStrFmt to rk_mpp_cfg.h
2. Add mpp_cfg_find and mpp_cfg_set_cond
3. Fix memory leak in mpp_cfg_test
4. Add log->cfg function
5. Add cfg->json function
6. Add to / from log / json check to mpp_cfg_test

Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I02e80cd21da664019bf0b767b073c14dbbfe0776
2025-07-09 23:27:17 +08:00
Herman Chen
4f102251f3 feat[kmpp]: Add KmppMeta module
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Change-Id: If4cc861cd1598e0b66842f8f21256a1a0000b4a6
2025-07-09 14:20:19 +08:00
Yanjun Liao
69191e72d3 feat[kmpp]: Add KmppBuffer module
1. Add buf_grp, buf_grp_cfg, buffer, buf_cfg objdef.
2. The buf_grp_cfg is binded to buf_grp and the buf_cfg is binded to
buffer. The binding cfg obj is stored in private data.

Change-Id: I9243c03f7b9519536fdc2f24b62761dc04baac85
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2025-07-09 10:39:15 +08:00
Herman Chen
28f17c9ebf feat[kmpp_obj]: Add priv prop support for objdef
1. Add KMPP_OBJ_PRIV_SIZE for extra priv data to userspace KmppObjImpl.
2. When add private data realloc mempool for KmppObjImpl.

Change-Id: Ifc6d210cc77497cc9cbd5d86ad1ddcf2ba0fc4af
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2025-07-08 23:53:36 +08:00
Herman Chen
5497c458fe fix[kmpp_obj]: Fix grp_cfg and buf_cfg leak in kmpp_obj_test
1. Use mem pool to alloc KmppObjImpl
2. Add kmpp_obj_put_impl to release KmppObjImpl header only.
3. Add grp_cfg and buf_cfg release operation.
4. Use MPP_SINGLETON to init kmpp_venc_cfg.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I865d4d990d7e89598b2f17d85460b809f7f602df
2025-07-08 17:48:39 +08:00
nyanmisaka
e0e59e5ce2 fix[vproc]: Fix unit tests cannot be disabled
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Change-Id: Icfd755d6bfee95bc3803a90e89ab790e8eb0e889
2025-07-07 09:59:49 +08:00
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