Commit Graph

66 Commits

Author SHA1 Message Date
Yandong Lin
3adde926e2 [avs]: Add avs module
NOTE: I frame header decoding should check stream version.

Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I1c8276f4499d73e3b60d582890037dec376e136f
2022-10-13 15:16:13 +08:00
Johnson Ding
d98fbcfe2a [mpp]: Activate AVS2 decoder
Change-Id: I7fb596b050c1791b046f6c2179e8775a8b3df068
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-07-19 15:24:34 +08:00
Herman Chen
2b35cee0ce [mpp_log]: Add more log helper function
1. Move mpp_log.h to inc for external user.
2. Add mpp_debug.h for mpp internal logging.
3. Fix some warning.
4. Add log level setup function.
5. Check env log_level value in mpp_get_log_level call.

NOTE:
1. mpp internal module should use mpp_debug.h and mpp external user
should use mpp_log.h
2. Use mpp_get_log_level to update mpp_log_level when the env changed.

Change-Id: I90a55a02a72db177533013280dfe111ca3479229
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-20 11:42:10 +08:00
sayon.chen
55b425c97b [av1d]: Add av1 parser api
Change-Id: Iff3c205d34cd8d8c2074de42eadc8418f5144a42
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-01-21 11:20:02 +08:00
Herman Chen
f94ae6d0a0 [vepu580]: Add YUV444 support for vepu580
Change-Id: I58859e59094fcecc13011b16f33b3810abbc7882
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-12-30 10:52:02 +08:00
Herman Chen
3aad89dee8 [mpp_dec]: Add mpp_dec_callback
NOTE: The MppCtx should be restored for external user.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2a4241ddacb14196f43b29a59b46658131ebfcee
2021-10-13 17:17:56 +08:00
Herman Chen
c5cd650fdd [mpi]: Add start / stop / pause / resume ctrl cmd
1. Move mpp_start / mpp_stop function to control command.
2. Add pause / resume control command.

Change-Id: I525668a2831eb8f23e12fbd7c1cb29c11fdcc868
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-09-17 11:11:43 +08:00
Herman Chen
1bc99bed8c [mpi/mpp]: Add mpp internal start / stop function
Change-Id: I959211f26cd1c37924c7f6894535acedd8a37b88
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-07-09 16:16:06 +08:00
Herman Chen
8b5ad54522 [mpi]: Prepare to change internal poll return
The external mpi poll interface only return zero and non-zero value.
Zero return for success and non-zero return for failure.

But later we will use both zero and positive value to indicate success
return. Now for backward compatibility set all positive return to zero.

Change-Id: Id2969a2fb3f5a61137ffc40d108d29090ba1a998
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-03-03 10:11:39 +08:00
Herman Chen
502e688aa4 [mpi]: Add more 32bit rgb color info
Change-Id: Ife89f6968f9e9f9ce48a437ca4f9c7e0c4ca7c16
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-12-23 15:12:46 +08:00
Herman Chen
54b047e396 [cmake]: Add history log
1. Remove SVN version record.
2. CMakeLists will record max 10 git version.
3. Use mpp_show_history to control the history display.
4. Use strings libmpp.so | grep author to get history log from binary.

Change-Id: I5231ced4031d868fe1329488c914730dc91a3531
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-03-04 11:05:50 +08:00
Herman Chen
459eace205 [mpp_frame]: Add color format print
1. Add color format print for all supported format.
2. Add RGB color fill function.

Change-Id: I79fb3f40402b6fb6e36883c99945e709723aee7d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-12-31 10:53:33 +08:00
Herman Chen
d17861b67b [rk_mpi.h]: Separate rk_mpi_cmd.h into two headers
1. rk_mpi_cmd.h will contain cmd value only.
2. rk_venc_cmd.h will contain all the encoder command structure.
3. Move MppCtxType and MppCodingType to rk_type.h for better include
dependency.
4. Add MppEncRefCfg to MppEncCfgSet.
5. Remove rk_mpi.h dependency inside mpp.

Change-Id: I6b972738100fb60c0a6a9b7cfe0a012abf4205b7
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-26 10:09:23 +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
3e5ad4fed3 [h265e]: add h265 encoder code
Change-Id: I08350dc76d3040bc1a16a3d8234f836f5fbf69d0
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2018-11-21 09:59:31 +08:00
Ding Wei
76b8c229a2 [mpp]: move dump data from vpu_api_legacy to mpp
tips:
add MppDumpInfo for dump input and output.

Change-Id: Ia2416309e0e6b78671c073ae08409d907e3d0e85
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-08-06 09:10:28 +08:00
Herman Chen
0a78fb7102 [mpp]: Combine block control and timeout control
Use MppPollType as block control MPP_SET_INPUT_TIMEOUT and
MPP_SET_OUTPUT_TIMEOUT 's parameter.
Deprecate old block/block_timeout control.

Next step is to change MppPollType to RK_S64 for compatible in different
platform.

Change-Id: I02974f0b8eeb23ff43687448d6c3271ea7dd0a2c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-07-27 11:56:56 +08:00
hh
8fa1648bac [platform] Distinguish avs and avs+
Add macro avs to distinguish avs and avs+ streams.

Change-Id: Idf6f5d289d09301001f7036dea2c83b8644ba281
Signed-off-by: hh <hh@rock-chips.com>
2017-06-06 09:24:56 +08:00
Herman Chen
d8ed1f4eb1 [mpi]: Add poll interface to mpi
1. Add poll with timeout. Support three mode: block/non-block/timeout.
2. Change control MPP_SET_INPUT_BLOCK and MPP_SET_OUTPUT_BLOCK.
3. Remove msleep in most mpp interface.

Change-Id: I39d9a261b6f1da66c6cb944abd71d1e7f4928d2d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-01-04 15:15:37 +08:00
Herman Chen
c35f72e154 [mpi]: Fix stuck on block output mode decode call
When the output mode is set to block user call decode function the first
get_frame call will get stuck if there is no frame to get.
So when the output mode is block we need to put_packet first then get_frame.

Change-Id: I8cecb0e3f7b3aac2605301d6f2d35d5ca5f97756
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-11-13 10:50:53 +08:00
Herman Chen
d1be7a7b4d [mpp]: add mpp decode function implement
Change-Id: Ia37d42a1b52bb152a5cf98e78b040150d6451124
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-10-11 10:39:46 +08:00
Herman Chen
30c6bd08c1 [cmake]: add codec option
Use mpp/codecs.cmake to enable/disable codecs in order to reduce library
size.
All decoder and encoder can be disbaled now. Default all open.

Change-Id: I3307460df12f2f3fc82898d823ab2da12002d6c6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-09-10 15:46:12 +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
herman.chen
f54382264e [jpege]: add jpeg encoder basic flow
Change-Id: I9227008e5c46ddca27df1e807e96813e57e1bb34
Signed-off-by: herman.chen <herman.chen@rock-chips.com>
2016-09-02 16:31:37 +08:00
Herman Chen
43bfdc6bdf [format]: format coding style
Change-Id: I3d0e081f6636ca8162df4bda68618ec0ba37e7ae
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-08-23 09:16:22 +08:00
Herman Chen
1e3649830e [mpp]: remove unnecessary log
Change-Id: Ic8b66fdabc6b3009755575eb8cb7e1ead332deb8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2016-08-22 18:24:27 +08:00
ChenHengming
ee5743f0e9 [mpi]: fix mpi function print error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1183 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-08-10 03:20:18 +00:00
ChenHengming
abc3e78078 [mpp_enc]: remove mpp_enc_get_extra_data and mpp_enc_get_extra_data_size function and use control to get sps/pps of H.264 encoder
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1104 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-27 06:27:32 +00:00
HuangTingjin
5fc681b42c [mpi]: undo comment jpegd in support_list.
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1100 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-26 09:36:54 +00:00
HuangTingjin
a82bda1f00 [jpegd]: add jpegd source code file and comment jpegd in support_list.
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1099 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-26 09:32:21 +00:00
ChenHengming
1a2551ec3e [mpp_enc]: fix crash in vpu_api_legacy.cpp
[mpi]: use new control macro system

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1050 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-20 07:54:31 +00:00
GaoZhili
3fafb0fe4f commit the avc encode code, now avc encode process is ok
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1048 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-20 07:22:25 +00:00
ChenHengming
4d35424576 [mpi]: add more mpi log
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1041 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-19 03:37:55 +00:00
ChenHengming
ad91d93d38 [mpi]: disable H.264 encoder
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1036 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-16 10:16:06 +00:00
ChenHengming
ac9505c16c [mpp_task]: add advanced task flow to mpp, mpi_enc_test can work without error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1035 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-16 10:13:35 +00:00
ChenHengming
ede81ae620 [mpi]: enable H.263 decoder and rename libvpu to worker_vpu
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1001 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-11 09:58:43 +00:00
ChenHengming
0b95b8b305 [mpi]: enable mpeg4 decoder at mpi
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@995 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-08 10:56:34 +00:00
ChenSiyong
8ade39c2c0 [vp8] add vp8 parser & hal for mpi
[m2vh] modify hal CMakeLists 

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@946 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-21 10:23:38 +00:00
ChenHengming
4c06405e3d [mpi/mpp]: add format check function and modify mpp_dec_test for format check
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@925 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-16 09:12:30 +00:00
ChenHengming
4a763f62d4 [h265d]: remove warning on Linux and move h265d_parser_test to mpp/test directory
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@917 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-15 08:17:59 +00:00
ChenHengming
dad9a72f52 [mpi]: add empty function for isp and task queue
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@914 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-14 12:29:48 +00:00
ChenHengming
6a552fb7e4 [mpp]: add header for advanced task api
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@913 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-14 12:12:52 +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
95e12a21cf [mpi]: remove redundant code
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@543 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-01-22 06:48:55 +00:00
ChenHengming
9cb4dde49e [mpi]: add mpp context check to mpi functions
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@542 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-01-22 06:47:02 +00:00
ChenHengming
4bf0d086a3 [astyle]: format coding style
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@539 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-01-20 09:45:56 +00:00
ChenHengming
0f36c7e195 [mpp]: move init flag to private data, add comment for extra data
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@536 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-01-20 07:53:55 +00:00
ChenHengming
cb0d12ec49 [mpi]: rename mpi_flush to mpi_reset
[h264d]: fix warning on strupr

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@535 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-01-20 07:36:48 +00:00
ChenHengming
db7e4ff619 [mpp_info]: remove C++ info class and add C interface for mpp_info strings
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@534 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-01-20 03:27:54 +00:00