Commit Graph

30 Commits

Author SHA1 Message Date
Yandong Lin
05b809393c fix[h265d_vdpu383]: fix dec err when ps_update_flag=0
The ps_update_flag=0 case is not handled properly here,
and follow commit exposes this problem.
233940: fix[h265d]: fix infochange loss when two sps continuous

Change-Id: I54dcea6c31483257b4b771a8bd4994cc75ed41f5
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2024-09-11 15:40:04 +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
Chandler Chen
8759039d5f feat[vdpu383]: align hor stride to 128 odds + 64 byte
for better performance

Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I312c6b22f0c189b0674b0a667c20f68ac83315d6
2024-04-01 16:08:32 +08:00
Yandong Lin
0e03d3bc70 fix[mpp_dmabuf]: fix align cache line size calculate err
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ide7daa58b12b22dc115acbbb7a9b8e305a167d57
2024-01-12 10:37:24 +08:00
Herman Chen
8db63d761a fix[common]: Add mpp_dup function
mpp_dup function use fnctl F_DUPFD_CLOEXEC for fd dup with CLOEXEC flag.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Idd82eb935b06d2885685aeb696b95e910981539d
2024-01-10 18:15:45 +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
xueman.ruan
7017dbd1b6 fix[utils]: fix hor_stride 24 aligned error
Change-Id: Ife950bd3ae5fac5faffffa4275222fcc7fb9bbe0
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
2023-09-28 16:24:22 +08:00
Rimon Xu
25cbe2ce2e [mpp_dec] Calc FBC buffer size on SET_FRAME_INFO
Determine FBC alignment when set frame info control

Change-Id: Ibc0c6c455029a58875b820c17b7d94cc4e64cdda
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2022-07-08 15:50:41 +08:00
Herman Chen
22aef2ccd3 [mpp_common]: Add container_of macro
Include <stddef.h> and add container_of macro.

Change-Id: Ie439b7683e026be9336e618c605b3b934e4fde38
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-03-12 15:53:18 +08:00
Herman Chen
cd9a1cca3f [misc]: Change interface header file dependency
Move MppCtx, MppParam, MppFrame, MppPacket, MppBuffer, MppBufferGroup,
MppTask and MppMeta to rk_type.h.

Later development need to bring in cross reference between these
objects. So we choose to move these declaration together.

Change-Id: I7ea39138ca87d6ca4cb86556464a5de89d172846
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-14 10:15:12 +08:00
sliver.chen
2dc830f071 [vp8e]: add vpu1 and vpu2 vp8e supprt.
commit a base version of vp8 encoder,include vpu1 and vpu2.
encode input raw picture to ivf stream.

Change-Id: I9ac697edf2249a4ca7464fdbfb5fd22a63fd3c34
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2019-02-01 18:26:26 +08:00
Ding Wei
fc1e2256b7 [mpeg4]: fix bug: add marco MPP_DIV for division
tips: in mpeg4,the divisor named time_pp is likely to be 0.

Change-Id: If9c055cb03139e819fe901009024e3ad4bbe79a5
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2018-08-30 08:58:33 +08:00
Jung Zhao
038a3bd665 [rc]: add init qp estimation
if outside doesn't set init qp value, mpp will estimate one init qp
according to resolution and bitrate.

Change-Id: If5415f6a3bfa3f2981ffd4eb044614bf9b035d2f
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-01-17 09:20:05 +08:00
Herman Chen
4c1ae218e6 [mpi/mpp/enc]: New encoder framework
1. Interface change:
Separate normal config into three basic config and several runtime config:
Three basic config -
a. rate control config
b. preprocess config
c. video codec protocol config
More flexible rate control interfaces are provided.
More codec configure interfaces are provided.
Change flag with bitmap is provided for further optimization.

2. Remove old codec config from controller and left rate control module only
Encoder controller only handle user rate control requirement and bit allocation.
Hal hardware encoder only handle qp calculation according given target bit.
Remove all old codec code.

3. Move codec process to hal
Different hardware will share same codec process function in common protocol
directory. And different hardware api will register to same api set. Codec
header generation is moved to separate hal directory.

4. Encoder will return length by task
Encoder will NOT get stream information feedback from controller. All
information required by encoder will be all stored in Task.

5. Add mpp_rc for rate control
Move some common rate control utils to mpp_base.

6. Update mpi_enc_test and mpi_rc_test with new interface

Change-Id: Iebb5e276a48f547167e1bed4673f21cc2f0c8ad5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2017-01-05 10:58:27 +08:00
Herman Chen
e2ba112070 [osal]: Fix compile error on windows
Change-Id: Id908c592aaee3b8f16f7529c8c3995b3f4af78f8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-12-16 11:22:31 +08:00
Lin Kesheng
60373a6973 [all]: format code
use fromdos to change file type, remove ^M in code.

Change-Id: I000202dc51fcff57cc0771455baebea595115b1d
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2016-09-08 15:21:02 +08:00
ChenHengming
4f7f69c1ae [mpp]: fix compile error on windows
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1191 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-08-11 10:16:44 +00:00
ChenHengming
c0866a76f9 [comment]: fix company name hand writing error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@906 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-13 09:42:31 +00:00
ChenHengming
053001c541 [common]: 1. add 32bit runtime function, 2. change uintXX_t to RK definition
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@905 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-12 07:11:52 +00:00
ChenSiyong
42d89860a3 [vp9_d]fix compile error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@564 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-02-01 09:51:12 +00:00
ChenHengming
9daf53a3cd [misc]: move MODULE_TAG definition
[mpp_common]: add entry of error and normal return

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@299 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-09-24 15:25:10 +00:00
ChenHengming
55ad5dac73 [mpp_common]: use __inline to replace C++ inline
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@271 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-09-14 22:02:57 +00:00
DingWei
c842339aaa [mpp_common.h] add dedine access()
others: deal with bugs which no file opened.
Tips: this version has passed allegro bitstreams.

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@268 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-09-14 19:40:34 +00:00
ChenHengming
9b393891a5 [common]: add chdir and mkdir to common.h
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@267 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-09-13 23:03:21 +00:00
ChenHengming
81d5c94884 [misc]: move PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP macro
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@125 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-18 13:11:45 +00:00
ChenHengming
e370971ab7 [android]: fix PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP macro on Android
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@124 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-18 13:10:30 +00:00
ChenHengming
87f4cca33e [misc]: fix compiling error on Linux
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@123 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-18 13:07:40 +00:00
ChenHengming
c0b913d3b9 [mpp_buffer_impl]: add MppBufferGroup module to mpp_buffer_impl
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@122 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-18 12:57:16 +00:00
ChenHengming
fa4fbd822c [osal]: add mpp_ceil_log2 and mpp_clip function
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@115 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-17 09:24:09 +00:00
ChenHengming
5ab2877839 [osal]: add mpp_common.h for macro
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@108 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-14 07:12:50 +00:00