3979 Commits

Author SHA1 Message Date
Herman Chen
52e8ae7ac1 doc: Fix developer guide typo
https://github.com/rockchip-linux/mpp/discussions/785
Reported by: Huangli95

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I825b56477299854eedfe9dbe38e93f9769b9800d
2025-02-20 03:02:28 +00:00
Rimon Xu
beb2bd2793 fix[vepu510]: Mark frame first part when split slice out
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I5c481ca5738e1ad1ae466e8e91749f4bf1c8a209
2025-02-18 17:29:36 +08:00
Herman Chen
db2cd71fed chore[mpp_buf_slot]: Modify sys_cfg mismatch print
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ia1d5601f7486096a1136b5befde968dd8d8df6a9
2025-02-18 17:16:19 +08:00
Yanjun Liao
3b118f75cf feat[mpp_soc]: Support rv1126b soc
Change-Id: Ifedb67d4a4f7f2c4107f94dc53e14c2b446aa76a
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-02-18 09:02:16 +00:00
Yandong Lin
c6232635ce fix[hdr_meta]: Fix hdr format for av1
Change-Id: I8f0fc44196af15969e2362ee25be1277d0203f20
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-02-17 01:48:12 +00:00
Herman Chen
834ea97586 fix[mpp_sys_cfg]: Fix align pixel stride on rk3576
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id976b9de3c31a662e5777bb190c1ed52edd15728
2025-02-14 17:03:20 +08:00
Johnson Ding
bd8954a8f8 fix[vproc]: fix height out of boundary problem
Some interlaced stream with height not fully aligned to CTU may have
random values at bottom with some height. This part should not be
processed by IEP. Otherwise the output of IEP will have some flaws bottom.

Change-Id: Ia648d50b65511a091dee0701dae6f1b2b8e30407
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-02-13 06:33:22 +00:00
Hongjin Li
70b572a2c0 fix[mpp_sys_cfg]: Fix abnormal stride calculation.
Platform: General

Error case:
If the specification specifies a stride, it should be
configured according to the specification's stride rather
than calculated based on width and height, especially
in scenarios involving H.264 field-based sources.
For the case of FBC, hor_stride needs to be processed
based on pixels and is unrelated to bit depth.

Reported-by: Johnson Ding <johnson.ding@rock-chips.com>

Source: rk_32.h264

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I02058432f2baeeea4c5a87c6845b24de8a78b276
2025-02-13 00:20:12 +00:00
Rimon Xu
6253c0982c fix[h264d]: disable ref erorr when decode recovery frame period
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I1c7ea6106caeb0ffe207bbccc6a14a44305c4400
2025-02-12 07:55:32 +00:00
Johnson Ding
75e9008ea9 fix[jpege_vpu720]: Correct encoded size config
Encoded width and height should align with MCU size.

Change-Id: If62629f9ca7275bafaa156b55af001b10b0e836b
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-02-11 08:14:10 +00:00
Herman Chen
8e5af8901a doc: Add kernel 6.1 support in developer guide
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I9473eb9be6b733da420ac2e58fabf12b3399c15d
2025-02-10 15:17:22 +08:00
Hongjin Li
997cfe881d fix[buf_slot]: Correct coding mistakes.
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I4ca52cf44f09ffa08f4a73df1651d1881a636ccb
2025-01-24 14:20:12 +08:00
Johnson Ding
975a0b3e69 fix[build]: Avoid exporting toolchain to system PATH
Change-Id: Ic85b4a20df81d4a430ca9563d3555e38cfe97338
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-24 00:59:20 +00:00
Yanjun Liao
3ea5eb5a51 fix[mpp_enc]: Fix some exceptions when force pskip
1. Add rc model in when force skip frm
2. Fix ref frm error when force pskip
3. Disable pskip when cfg force idr
4. Support pskip frm as ref frm
5. Support force skip frm as is_ref or non_ref

Change-Id: Ib138ab75a9df2c4521cb376e3a3d7fd30565ecd9
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-01-23 18:04:48 +08:00
Herman Chen
d03adfa967 feat[kmpp_obj]: Sync to new kmpp_meta
1. Add userspace private data access.
2. Add ENTRY_TYPE_st dump.
3. Use new MetaKey and MetaType handle way same to kernel.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I66dd5119c789f1bfde8848ecc266a4bd57df1bb2
2025-01-23 11:42:04 +08:00
Herman Chen
f8289c298e feat[kmpp_obj]: Sync to loctbl without flag_type
1. Remove flag_type in MppLocTbl.
2. Seperate kernel and userspace EntryType.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: If2da1b364ae200d0303c5a299dd698051911bdbc
2025-01-22 15:21:38 +08:00
Yandong Lin
58f6f8a207 fix[kmpp]: Fill pts/dts/flag to MppPacket
Change-Id: I1c5ef7bb49cfb146f38517fe7e8161383a33d255
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-21 09:54:05 +00:00
Chandler Chen
326f80d74d feat[mpp_buf_slot]: buf_slot add coded width alignment config
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: Ia66a6cf379a6668e914d4c4b071c568ba2cb3b40
2025-01-20 15:45:03 +08:00
Chandler Chen
a524df5361 feat[h265d]: Add vdpu383 hevc yuv444_10bit support
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I14d7a8fac9f14283ecc364142ea93d80eda43fcd
2025-01-20 06:56:35 +00:00
Johnson Ding
fb957ea36a fix[vproc]: fix frame output disorder problem
When frame-field detection result changes from field mode to unknow or
frame mode, source picture will be output disordered.

Change-Id: I77d4da4d09b06e273e9e8b090182811a5e2c6f10
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-20 01:47:05 +00:00
Johnson Ding
1d285e9e10 feat[vproc]: Add more log for debugging
Change-Id: I594f796c87d82d346ce1a651eaac3f40812fdfb8
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-20 01:47:05 +00:00
Johnson Ding
66b669ef98 fix[vproc]: Fix field disordered problem
Change-Id: I69aa3ce0010eae221dc46fedd05d66b318e623f2
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-20 01:47:05 +00:00
Yandong Lin
3025933391 feat[mpp]: Support kmpp access
If you want to create kmpp enc channel.
1. mpp_create().
2. init and set kmpp_venc_init_cfg with ops in rk_kvenc_init_cfg.h.
3. set cfg with control cmd:MPP_SET_KMPP_VENC_INIT_CFG.
4. mpp_init().

Change-Id: Id3710bca86762e5d23e7cd6c89b5b911528adbfb
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-16 15:41:05 +08:00
Yandong Lin
2f1eac63f9 feat[kmpp]: Add kmpp module
Change-Id: Ia9c414edf625885fd551ad14f72dd1f7bc34172d
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-16 15:29:16 +08:00
Yandong Lin
fad0868986 feat[rk_mpi_cmd]: Merge cmds from mpp_interface
Change-Id: I6550486d6efbac43d6f30cdb6dfefa75a93a437d
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-16 15:04:18 +08:00
Yandong Lin
fc2a997a58 fix[mpp_enc_cfg]: Remove a redundant atr_str
Change-Id: I7553fcf8a7014ce3c2a13b1fd923ac91d78fb9d3
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-16 06:19:31 +00:00
Hongjin Li
686d5a60d9 fix[]: Fix abnormal FBC info issue in Info Change
Platform: RK3576

From: Product Department 2 czl

Change-Id: I058e36b426b2d4b894086547d5cf240e2f8f2cca
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2025-01-15 15:14:18 +08:00
Yandong Lin
c04a24f0e1 feat[build]: Add --toolchain to config toolchain for linux
for example
./make-Makefiles.bash --toolchain gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

Change-Id: I4804b1e1759aab04f715d826fbe412087298cb89
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-14 10:36:28 +00:00
Johnson Ding
0b1c78701f fix[h264d]: Fix segment fault problem
Field buffer may be reset when encountering error at parsing.

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x50
Cause: null pointer dereference
    r0  00000001  r1  00000000  r2  aefe63a7  r3  00000003
    r4  00000001  r5  00000001  r6  00000000  r7  0000001c
    r8  0000000f  r9  00000000  r10 0000001a  r11 ee1b2650
    ip  ee1b1fb8  sp  ee1b2648  lr  f5db5c5b  pc  f0547bfc

backtrace:
     #00 pc 000c5bfc  /vendor/lib/libmpp.so (mpp_frame_set_errinfo+44)
     #01 pc 0010aa54  /vendor/lib/libmpp.so (get_field_dpb_combine_flag+796)
     #02 pc 00113990  /vendor/lib/libmpp.so (alloc_decpic+1456)
     #03 pc 00112da8  /vendor/lib/libmpp.so (init_picture+340)
     #04 pc 000fc128  /vendor/lib/libmpp.so (parse_loop+1092)
     #05 pc 000f7d10  /vendor/lib/libmpp.so (h264d_parse+212)
     #06 pc 0009b7f8  /vendor/lib/libmpp.so (mpp_parser_parse+164)

Change-Id: Iff4b628b7f807d6da448ea8553c5af613e63d328
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-14 11:18:10 +08:00
Herman Chen
f0ff240b87 feat[mpp_meta]: Use trie to index the meta key
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I634d447223e6e9d268642798a4fb0d11ad32cfb0
2025-01-13 17:41:51 +08:00
Johnson Ding
5b0f01d582 fix[vproc]: Fix error info missed problem
Change-Id: Ic9049ddec01ceaa1c160a7b3c2eada87133c140e
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-13 10:00:04 +08:00
Johnson Ding
5e26aa37e0 fix[vproc]: Fix output blank buffer problem
Change-Id: I3934186aa075880283ab1501da15db496a16c600
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-13 01:51:51 +00:00
Yandong Lin
26bfd05275 feat[mpp_packet]: Add realease callback info
Change-Id: I3334455e08ceb05a0a396949344785e0504ee536
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-10 07:11:57 +00:00
Hongjin Li
80d7377a0b fix[fbc]: Fix RK3588 av1 FBC usage issue
Platform: RK3588

Error case:
1. After setting FBC, the current platform was not checked for FBC support.
2. The RK3588 AV1 supports FBC.

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I0696c4469d514291547ed21a80089812c7e6b585
2025-01-10 06:51:18 +00:00
nyanmisaka
4b6c587af8 fix[sys_cfg/buf_slot]: support yuv422sp 10bit
Platform: General

Reported-by: nyanmisaka <nst799610810@gmail.com>
github: https://github.com/rockchip-linux/mpp/issues/761

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Change-Id: Id06f3762425150799f2be7c0019af2f7b60afc3d
2025-01-10 14:14:54 +08:00
Herman Chen
ddaacf63e4 feat[kmpp_obj]: Update to new objdef query mode
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id8e32fc9440133e3d2a036fed484e62e4a1b96ed
2025-01-10 11:20:26 +08:00
Herman Chen
4af79f761a refactor[mpp_trie]: Replace root import
Replace root import with init_by_root.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I3aae1b0a8a9e04894740221a814631787e148b58
2025-01-10 11:20:22 +08:00
Herman Chen
8d32e19a76 feat[mpp_trie]: Allow empty name trie for import
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I01cee3039329fae7817e2ab7234739a8751ca09c
2025-01-10 01:07:45 +00:00
Yandong Lin
7939be1246 refactor[mpp_enc_cfg]: Adjust cu_qp_delta_depth
sync from mpp_interface

Change-Id: I2dfabef3acf01566df289396678a433ac84f3a15
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-09 06:17:45 +00:00
Yandong Lin
2cb69a2860 fix[mpp_enc_cfg]: Add sao_bit_ratio from mpp_interface
Change-Id: Iba92fdd0052e661b74d747f921dfe25d5a408cd1
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-09 03:32:10 +00:00
Hongjin Li
86b846c0a0 fix[buf_slot]: Correct coding mistakes.
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: Iac8cc16ea4c79d14c887ce5ff7102f28f89fb725
2025-01-09 10:43:16 +08:00
Johnson Ding
5afd495920 feat[enc]: Support setting temporal_id
Using meta key KEY_TEMPORAL_ID to specify temporal_id for frames.
NOTE:IDR and LTR frames are not allowed to change their temporal_id.

Change-Id: I301974ac1e5eee316c494221d9236067c401dc4e
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2025-01-09 01:26:41 +00:00
Yandong Lin
e447e0763e feat[mpp_enc_cfg]: Merge enc cfgs from mpp_interface
Change-Id: Ie08d9a26129096634b61fe60a10517efe0807180
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-07 17:04:12 +08:00
Yandong Lin
e1621412d0 fix[mpp_venc_kcfg]: Get objdef at runtime
To prevent the err log when loading so:
[346105.177235] kmpp_shm: get_shm_grp_by_arg: by KMPP_SHM_IOC_QUERY_INFO can not found valid obj KmppVencDeinitCfg
[346105.177640] kmpp_shm: get_shm_grp_by_arg: by KMPP_SHM_IOC_QUERY_INFO can not found valid obj KmppVencResetCfg
[346105.177675] kmpp_shm: get_shm_grp_by_arg: by KMPP_SHM_IOC_QUERY_INFO can not found valid obj KmppVencStartCfg
[346105.177705] kmpp_shm: get_shm_grp_by_arg: by KMPP_SHM_IOC_QUERY_INFO can not found valid obj KmppVencStopCfg

Change-Id: Ia724e1cf4e4af04d5da66183f9f0030e95304d23
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-07 08:12:34 +00:00
Rimon Xu
7132f62e47 fix[jpegd]: Avoid buffer overrun
Add address check to prevent find eoi exception

Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I1e569941db1dd6cb942606c6ff732dfd0641cc7e
2025-01-07 07:49:42 +00:00
Hongjin Li
330dc3d48d fix[sys_cfg/buf_slot]: fix fbc yuv444sp buf calculation issue
Platform: General

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I784242476234898a836ea838a232264f7f5081c1
2025-01-07 14:24:42 +08:00
Hongjin Li
07bef12867 feat[mpp_sys_cfg_st]: Provide packaging for use on products
Change-Id: I41bbd28f4aabce5ba3735a47e65ccb71997262a2
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2025-01-03 08:42:22 +00:00
Hongjin Li
5931c416d8 feat[mpp_sys_cfg]: Add raster/tile/fbc buffer alignment
Change-Id: Ic5e8deb59c50e2089ef278426e0850629d10e653
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
2025-01-03 16:29:59 +08:00
Hongjin Li
e52ec5e1e8 feat[mpp_sys_cfg]: Support sys_cfg buffer alignment
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Change-Id: I0533eb135d16b6eda4941e79aa8584e4d032d38d
2025-01-03 08:27:44 +00:00
Yandong Lin
fa095373e1 feat[kmpp_obj]: Add kmpp_obj_get_hnd func
1. Add kmpp_obj_get_hnd for kernel ioctl.
2. Add kmpp_obj_get_hnd_size for share handle copy size.

Change-Id: I1acac5ebb4a89e97c547f1ba3f57bf3add5b4e14
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-01-03 07:07:05 +00:00