Commit Graph

3830 Commits

Author SHA1 Message Date
Herman Chen
7c721dca78 fix[script]: Optimize changelog.sh
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I5029f2f57bfffc1b8331665b7dcf8a10523b457e
2023-12-08 15:53:33 +08:00
Herman Chen
b4be2b722a docs: Update 1.0.3 CHANGELOG.md
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic94a9b7cdcd10682aaedc7576304948c74b52d83
2023-12-08 15:17:33 +08:00
Yandong Lin
2be06b2a3e fix[av1d_api]: fix loss last frame when empty eos
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I0769391cd535f400fbceffe6a18c40fa6ca39822
2023-12-08 14:42:50 +08:00
Yandong Lin
8cd49b578c fix[h265e_dpb]: do not check frm status when pass1
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I488c0d04c963b1ecbc68a89dce3cd20b847043bc
2023-12-06 15:35:50 +08:00
Yandong Lin
b64ba6383c fix[hal_bufs]: clear buffer when hal_bufs get failed
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I9d1d4d596ecc9379727129e0ab9ee12d20a8d222
2023-12-06 15:35:50 +08:00
Herman Chen
d9fb399576 fix[dma-buf]: Add dma-buf.h for old ndk compiling
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id1188a945aa56af165c5957b88aa1a7453f5799b
2023-12-06 14:44:23 +08:00
Herman Chen
b5d8ac4209 fix[enc]: Fix sw enc path segment_info issue
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I321cf0022ef94bd2f5bd94a78f4419e00da8bc07
2023-12-05 14:46:38 +08:00
Herman Chen
318bfc1b78 fix[cmake]: Remove HAVE_DRM option
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I6ce230a7e85472acca5feafc9ad84effb222f57a
2023-11-30 09:22:44 +08:00
Rimon Xu
81a7d8d812 fix[m2vd]: update frame period on frame rate code change
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I902e5203b17ef6f93c69cd938ac96889e1613e86
2023-11-29 11:41:48 +08:00
Yandong Lin
1bf810c7b1 chore[vp8d]: optimize vp8d debug
1. add dump vp8 stream to ivf
2. add dump reg/prob/segment info

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I1004bbf3178d31fb39176f9025ae1e5f4c8b1f30
2023-11-29 10:53:52 +08:00
Herman Chen
5fbde2b49e fix[test]: Fix mpi_enc_mt_test error
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7a566766972e8e279f48ac4b6f9dc54195ba1ea5
2023-11-29 10:15:24 +08:00
Herman Chen
6ce3007994 refactor[allocator]: Refactor allocator flow
1. Allocator api is determined by buffer type.
2. Allocator ctx is determined by both buffer type and buffer flags.
3. All allocator dma_heap / drm / ion / ext_dma should support different
buffer flags.
4. The buffer flag supports cacheable / 32-bit / contig options.
5. Add flags update flow on allocator create process.
6. Add mpp_dmabuf_has_partial_ops to disable dmabuf partial ops when the
kernel driver has bug.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: If36a05c6704112cad3ab46861023597ff02bf14c
2023-11-29 09:54:36 +08:00
Rimon Xu
630bcb9000 [mpp_group]: Add allocator with flags
We need get different allocator when alloc buffer with flags, such
as ion,drm,dma_heap, all must be supported.

Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: Id128c7420f0defa65500ef19c25e193ff1b56a8a
2023-11-29 09:54:36 +08:00
Yandong Lin
e155a7eac7 fix[dma_heap]: add dma heap uncached node checking
Currently only support uncached dma heap node access,
because of the cache processing is not yet complete.

So if there are no uncached node in /dev/dma_heap/ path,
mpp will not use dma_heap allocator.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic33fca9c445c7668a86454f01f9d7577668de32b
2023-11-29 09:54:36 +08:00
Yanjun Liao
ce39aff31f feat[dec_test]: Add buffer mode option
Add an option in dec_test to demo zero-copy external buffers mode.

use -bufmode to config the buffer mode option
hl - half internal mode
i  - pure internal mode
e  - pure external mode

Change-Id: Ib92c30acd8c370843becb286c935de056b09bcbd
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2023-11-29 09:54:36 +08:00
Herman Chen
0d773814cf chore[mpp_enc]: Encoder changes to cacheable buffer
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I8df399ff708e354f8e3017da41e1424cba4999ee
2023-11-29 09:54:36 +08:00
Herman Chen
5d89c2cc32 chore[mpp_dec]: Decoder changes to cacheable buffer
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I839cd04d14a38f4553785c44667758df69aa9929
2023-11-29 09:54:36 +08:00
Herman Chen
dbdccc6818 fix[mpp_mem]: Fix MEM_ALIGNED macro error
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I08d403f7e1d67b7d80655278255f31d4c0c6784e
2023-11-27 14:59:04 +08:00
Herman Chen
d4913c1b88 chore[mpp_dmabuf]: Add dmabuf ioctl unit test
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ice181f6d8cf312d68c79d6e6a33cddcbf65ef5f6
2023-11-16 16:33:40 +08:00
xueman.ruan
e15972e9af feat[mpp_dmabuf]: Add dmabuf sync operation
sync_begin - cache invalidate, should be called before cpu read
sync_end   - cache flush, should be called after cpu write

MppBuffer sync flow:
1. hw access
2. sync_begin
3. cpu access (read / write)
4. sync_end
5. hw access

NOTE: readonly option is faster for read only buffer.

Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I253a6139e9bb30808c07075d64f17b5cfad8519a
2023-11-16 14:27:02 +08:00
Herman Chen
3a2196fc41 feat[jpege]: Allow rk3588 jpege 4 tasks async
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I25a5a30038b6f7fccd6ba3951d7b847a63caeff7
2023-11-16 14:26:38 +08:00
Yandong Lin
cc20dd3efe fix[mpeg4_api]: fix drop frame when two stream switch
There is a case:
In split mode, after sending the last packet of a stream,
the user then continues to send packet with extra data flag for the new
stream.
It will result in the last packet loss.

Change-Id: Iba945dbf4229a49fea2040ecc9f76e4ef7209de8
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2023-11-03 14:17:50 +08:00
sayon.chen
65439d38a4 feat[rc_v2]: Support flex fps rate control
Change-Id: I45a8544c15ab4baede232e1a3b16c517f965092e
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2023-11-03 09:11:10 +08:00
xueman.ruan
a4b66352f1 fix[script]: fix shift clear input parameter error
Change-Id: Ia48238e47d110fd049788b3d2abd86d5f69aa0b0
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-11-02 17:08:16 +08:00
Yandong Lin
3b27843844 fix[hal_h265e_vepu541]: fix roi buffer variables incorrect use
Change-Id: Ia396343b395860560aa24abecf8657d22b798fe4
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2023-11-01 09:20:54 +08:00
Herman Chen
d6f357e807 docs: Update 1.0.2 CHANGELOG.md
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I30dee82fcb327a015f5937e35524753484d98f1d
2023-11-01 09:10:10 +08:00
Johnson Ding
1cd445c5b3 fix[vepu540c]: fix h265 config
Improve image quality and compresssion rate without increasing time
consumption.

Change-Id: I5793707f5c4819b72a6edb4635c9e4188a91c9de
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-10-31 16:00:42 +08:00
Herman Chen
7af6b83286 chore[scipt]: Update changelog.sh
changelog.sh usage:

Generate the new CHANGELOG.md, commit and add new tag
changelog.sh -t 1.0.x

show help:
changelog.sh or changelog.sh -h

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2c423568dff3f7c7e10ae7de35876e09f1eee960
2023-10-31 10:59:07 +08:00
xueman.ruan
b837ec51b8 fix[h264d]: Optimize sps check error
Change-Id: Idd682a038ea4c11c774d1b3cca59d3de8d9eabb2
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-31 10:53:13 +08:00
Herman Chen
ea54baa35a [script]: Add opt clear
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I8a6719fad436f90942bc2ab67572873aacf0b260
2023-10-26 10:37:18 +08:00
Herman Chen
280030ada3 [h264d]: Optimize sps check error log
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7314875bb97aa41caa4437250150b13e11a19cff
2023-10-26 10:36:20 +08:00
xueman.ruan
22100022d7 fix[utils]: adjust format range constraint
Change-Id: I12d57955d6ad84e063784e46893b1deec90785b6
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 10:29:34 +08:00
xueman.ruan
2c6f93d147 fix[h264d]: fix mpp split eos process err
If empty eos marks task_valid, it will be send to HAL process

Change-Id: Ie4851e687dc662d38c970122caaea0cd101abbd7
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 09:22:04 +08:00
xueman.ruan
ccc07b6b9f fix[h264d]: add errinfo for 4:4:4 lossless mode
qpprime_y_zero_transform_bypass_flag is related to lossless mode.

Change-Id: I18a8914c0a291268851a4c9e90e50a043fe14fce
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 09:20:55 +08:00
xueman.ruan
78fc7fa2b3 fix[h264d]: fix eos not updated err
Change-Id: I35782fa3870ef97c494981adeed328bec2074cd8
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-26 09:17:05 +08:00
Yanjun Liao
a17bcc0c5e fix[camera_source]: Fix memory double-free issue
Fix duplicate memory release issue in camera_source_init

Change-Id: If52ef19c7af247e45501e7e3ab8faf4a4c187246
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2023-10-20 09:06:11 +08:00
Yanjun Liao
09e859a292 fix[mpp_dec]:fix mpp_destroy crash
Fixed a crash issue in mpp_destroy stage caused by calling members of a recycled parser thread.

crash backtrace:
#00 pc 00084882  /apex/com.android.runtime/lib/bionic/libc.so (pthread_mutex_lock+6)
#01 pc 00081434  /vendor/lib/libmpp.so (mpp_dec_notify_normal(MppDecImpl_t*, unsigned int)+32)
#02 pc 0007d6cc  /vendor/lib/libmpp.so (mpp_dec_callback_slot(char const*, void*, int, void*)+112)
#03 pc 000937f0  /vendor/lib/libmpp.so (mpp_buf_slot_clr_flag+944)
#04 pc 000da960  /vendor/lib/libmpp.so (mpp_hevc_unref_frame+168)
#05 pc 000d1c50  /vendor/lib/libmpp.so (h265d_deinit+32)
#06 pc 00081908  /vendor/lib/libmpp.so (mpp_parser_deinit+40)
#07 pc 0007e24c  /vendor/lib/libmpp.so (mpp_dec_deinit+548)
#08 pc 0006b4f0  /vendor/lib/libmpp.so (Mpp::clear()+104)
#09 pc 0006b61c  /vendor/lib/libmpp.so (Mpp::~Mpp()+12)
#10 pc 0006f7e0  /vendor/lib/libmpp.so (mpp_destroy+152)
#11 pc 00003d1c  /vendor/bin/mpi_dec_test (dec_decode+984)


Change-Id: I985168aa6ef30a265fce17c2d9765c17a24075c8
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2023-10-19 15:58:56 +08:00
xueman.ruan
dbaf9f361b docs: Add mpp developer guide markdown
Change-Id: I703117b25f28b99bfca286fc092536b2e3f62b11
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-10-19 10:28:23 +08:00
Herman Chen
382df67a41 fix[mpp_enc]: Fix async multi-thread case error
When it is in async mode the enc->frame is cleared on task fininsh it
should use hal_task->frame to notify the external output thread.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I237cf0f2aca8a49578f26e16f3aab16dff308132
2023-10-17 17:36:40 +08:00
Herman Chen
12aefae5b1 feat[mpp_lock]: Add spinlock timing statistic
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id63e28605853f07c3e557f01d8edffd67d7d1541
2023-10-13 11:06:53 +08:00
Herman Chen
fa9998fd37 feat[mpp_thread]: Add simple thread
The simple thread has the thread group feature.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ife367ecc3b5a46d2b50037e8d21cc8ce665a4c02
2023-10-13 10:49:50 +08:00
Chen Jinsen
4b45330c50 [mpp_soc]: Add rk3567 soc support
Change-Id: I6d02f021544a9ba4d7ff96e5aad47f5fe1f87fb3
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
2023-10-13 09:30:04 +08:00
Yanjun Liao
4be1a73eec fix[jpeg_dec]: Add parse & gen_reg err check for jpeg dec
Change-Id: If754a76a065c8e94560cb0d8391b2a449a480ece
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2023-10-11 17:35:45 +08:00
Johnson Ding
15cf6c62f9 fix[h265e_vepu580]: fix tile mode cfg
If SAO and loop filter are both enabled, tile buffer size should be
enlarged, and dchs should be enabled even if current frame is
non-reference.

Change-Id: I8f9beac8a4ebf908a10729367303dd88ae905a3c
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2023-10-11 17:34:10 +08:00
Hery Xu
f377c2ae70 fix[vp9d]: Fix AFBC to non-FBC mode switch issue
When vp9 decoder switches from FBC mode to non-FBC mode it requires
resetting the alignment function in buf_slot.

Change-Id: I0c3e35e2c573d003192a2a82d9bdd9c30f42088c
Signed-off-by: Hery Xu <hery.xu@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2023-10-10 09:41:23 +08:00
yanjun.liao
45fff92423 feat: add more enc info to meta
1. add num of inter/intra different size predicted block info
2. add start qp info
3. add output pskip frame indicator
4. add SSE info

Change-Id: I664f0f87b862bf1c27b43f67c5c3e4b8b060c5b0
Signed-off-by: yanjun.liao <yanjun.liao@rock-chips.com>
2023-10-10 09:11:41 +08:00
Chen Jinsen
72de096794 [cmake]: remove unused judgment
Change-Id: Ic5b0b0c3b033815a3994fac5947f9cacb5942728
Signed-off-by: Chen Jinsen <kevin.chen@rock-chips.com>
2023-10-09 09:44:26 +08:00
Yandong Lin
35d53f2158 fix[h264e_dpb]: fix modification_of_pic_nums_idc error issue
Change-Id: I3b16988b2dafb5a0dea258d892e2cc91995d1d1d
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2023-10-08 11:46:27 +08:00
Xinhuang Li
c14ef0f774 fix[allocator]: dma_heap allocator has the highest priority
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: Ic81a84a8335f0ed08dc9cac79d3e46a869095823
2023-10-07 17:18:21 +08:00
xueman.ruan
e61fb720f4 fix[camera_source]: enumerate device and format
Change-Id: Id4ce3986109f57039cf6716c9252dcc45caebb4e
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-09-28 16:25:47 +08:00