Commit Graph

22 Commits

Author SHA1 Message Date
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