Commit Graph

57 Commits

Author SHA1 Message Date
Yandong Lin
e4554e2b84 [mpp_frame]: fix MPP_FRAME_XXX bit mask conflict
fix MPP_FRAME_HDR bit mask conflicts with MPP_FRAME_FMT_LE_MASK

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I3a0df734f8cbc36da625d4b1a70658069809774f
2023-06-02 15:05:17 +08:00
Yandong Lin
bd94623641 [mpp_frame]: add 10bit yuv fmt check macro
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ic045a031c23eb697478492251e940d83fb5cb5ad
2023-03-28 14:51:59 +08:00
Herman Chen
1e2260727a [h264d]: Add ref miss check
1. Define more decoder frame error level.
2. Setup errInfo according to error type and level

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7d0e87d19fc5b24808cda6b2b1bdaa1e60d091f6
2023-02-16 17:18:15 +08:00
Yandong Lin
453e80380c [mpp_frame]: add api about scale down info
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I0aee35b0cec0dd85bd6b49c66a12e31fb48eb483
2022-12-06 11:23:21 +08:00
Yandong Lin
77e8a96f05 [mpp_frame]: add hdr dynamic meta info
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Iea7585709bcd3e17d11c28f7e87093fe9f15f77a
2022-11-24 14:22:58 +08:00
sayon.chen
b05ba20d75 [mpp_frame]: Add fbc hdr stride set & get function
Change-Id: I9414f484451722228fa460dc33586851da1a0ec2
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2022-06-16 09:27:47 +08:00
Herman Chen
230837e41e [mpp_frame]: Add task for internal flow
1. Remove next entry in MppFrame.
2. Add MppTask in MppFrame

Change-Id: Icdf4f451e54a30977c5725848c5f4357ae54e6d8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-04-29 16:56:50 +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
sayon.chen
476e6adfa5 [mpp_frame]: Add hor_stride_pixel interface
Change-Id: Ia6065b7c3832511c5d01263e6f07713028e8abd6
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-12-24 16:04:21 +08:00
sayon.chen
e4f4b4f690 [vepu54x]: Compatible different device fbc input
RK isp fbc output use AFBC_V1 format.
RK rkvdec fbc output use AFBC_V2 format.
These two formats have different fbc payload offset calculation method.

Change-Id: Id050cbd58e33a1249098a2dc226d47c376d7c163
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-11-30 09:46:27 +08:00
Herman Chen
a875c5a308 [mpp_frame]: Add comment for MppFrame parameters
Add comment for width, height, hor_stride, ver_stride, offset_x and
offset_y.

Change-Id: If0297eafdd550902d40485d786f9494c85123622
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-11-24 14:09:20 +08:00
Herman Chen
302582b3b9 [mpp_frame]: Add offset x/y for cropping
Change-Id: Id3da30527fe709f7f89044a667c089b3dab6ef4f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-11-24 11:53:30 +08:00
Herman Chen
e509662728 [mpp_frame]: Make MppFrameFormat value visible
Change-Id: I1276af32ca4907bfabae2664ff6f0fe67eb8aa0d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-10-09 08:54:59 +08:00
Herman Chen
51d01e0069 [utils]: Fix error on RGB color fill
Change-Id: I5b7768e410135910d5c20994c84629678cd37524
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-09-29 16:39:10 +08:00
Herman Chen
4b386eba08 [mpp_frame]: Fix using ffmpeg definition
Do NOT use ffmpeg define.

Change-Id: I018cbd56db12d708d5a9db20523d674248ba540f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-09-17 15:52:09 +08:00
sayon.chen
74f2f76fd7 [mpp_enc]: Support vui colour_description set
Change-Id: If84d8b04ce6ea430ed38d39c339eb9da783c6510
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-09-08 14:32:45 +08:00
Johnson Ding
cba637c3f1 [jpege/h264e]: fix RGB encode config
Change-Id: Iec9d928ad6fb1a31cbf6f224b264ebb6797294a3
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2020-08-05 10:52:05 +08:00
Herman Chen
31e911d44b [mpp_frame]: Add metadata check function
Change-Id: I95f722ae95b8db969c484b3157ddbe8c8f92a13f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-07-22 11:07:36 +08:00
Herman Chen
d95306a63b [mpp_enc]: Add color range support
1. Change interface for adding color range to MppPrepCfg.
2. Add option in MppEncCfg.
3. Add H.264 / H.265 sps support on full / limit range.

IMPORTANT: the binary backward compatibility is broken since this commit.

Change-Id: Ib68f29bab5c6d364fe8b612bd4dff2ecd5bc59cd
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-05-15 15:48:06 +08:00
Herman Chen
8d8f2273c5 [mpp_frame]: Add frame buffer compression support
Add vepu541 FBC support.

Change-Id: Ie5256ab4debb160801467243db353a2810826513
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-04-10 17:42:08 +08:00
Herman Chen
9f3ac0e7dd [mpp_frame]: Add more color format
Change-Id: Ibf66d81887addec859fb986382c8f1ae1a1dafe8
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
Herman Chen
9ce259355a [mpp_frame]: Add format check macro
Change-Id: I0b84cd55951dd5c085b1dd8b9926c4308ac24371
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-01-19 18:02:52 +08:00
Rimon Xu
e36da64e9b [vproc]: set iep deinterlace mode to frame.
Change-Id: I5acd7b202bdbb60afa952f1f1486ae791e0e8cda
Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
2019-12-23 14:37:41 +08:00
Herman Chen
dc79923e1d [mpp_frame]: Add set meta function to mpp_frame
Change-Id: I8b61b29d534d6d77f8be0bb2f033d7ba5e2a2496
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-17 09:07:29 +08:00
Hertz Wang
e4f3d1f8bf [common]: fix comment of MPP_FMT_YUV422SP(_VU)
yuv422sp should be nv16, but comment show nv24

Change-Id: Ifdc620e05addccfafe967817d876860ca92b84e5
Signed-off-by: Hertz Wang <wangh@rock-chips.com>
2019-06-25 20:48:00 +08:00
Jonas Karlman
24efdae140 [h265d]: export mastering display and content light metadata
Merged from
30ac9fb8b0

Change-Id: Id20e2f6fb511bd365493f1296ec9c9a2a46b4841
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-24 15:49:55 +08:00
Jonas Karlman
b00f32fd4c [h265d]: fix color range and colorspace metadata
Merged from
f85d62a7d9

Change-Id: I33ff292d3a484c4036900c58399f6c5e6e9c2faa
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-24 15:37:21 +08:00
Jonas Karlman
d571f9c4f9 [m2vd]: export aspect ratio information
Merged from
30476f13ad

Change-Id: I2f5d9b77f703cb23a6b5720eb5966e1631600ac7
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-24 15:26:53 +08:00
Herman Chen
0ee116f416 [mpp_frame]: Add MppMeta to MppFrame
MppFrame will NOT create meta data by default. Then user and mpp can
attach or remove flexible parameter without adding or remove
interface which will break binary compatibility.

Change-Id: Ia3c0d15d6daa210deab7a7d5dffcb54303fbb73e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-14 11:09:48 +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
Johnson Ding
d2459e4fac [jpegd]: Add YUV400 support
Change-Id: I110f0f2a16977f985d32204704ca4c2effcd8b90
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2019-06-12 10:55:58 +08:00
Randy Li
c89b4727c7 [mpp_frame]: add complex formats and more comments
A few comments for the pixel formats are not correct,
also without the mapping to the common name comparing
to the Gstreamer or V4L2.

Both VPU and RKV supports tile format, so I add a new
type to store those pixel formats with a complex layout.

The VDPU does NOT semi-planarity pixel formats and
other than 8x4 marcoblock size for the tile format.

Change-Id: I9abea54a563eafe6902f5cf5e25e741a809f41b0
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-10-12 09:01:27 +08:00
leo.ding
28bdc96b2d [vpu_api_legacy]: disprese MPP_DEC_SET_FRAME_INFO function to
each codec.

Change-Id: I5ac177fbaba6e81db53c7d162a1d81ba3e00c2e4
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-09-06 10:08:31 +08:00
timkingh.huang
93aa8a0c8a [jpegd]: modify jpegd parser
scan the stream just for one time in jpegd parser and
remove redundant codes.

Change-Id: I72920b15fc4ed15cfa1de55d9ed249d50cceebb2
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2017-04-01 18:25:15 +08:00
Herman Chen
a8e6c27d0b [mpp]: Move vpu.c out of libmpp.so
Use mpp_device to replace VPUClient interface. Then libmpp.so can
work without libvpu.so. And libvpu.so is only for legacy libvpuapi.

Remove iommu detection function in mpp. All buffer register will be
send to kernel with the form of low 10 bit file handle plus 22 bit
offset mode.

Remove vpu.h/vpu_api.h from libmpp.so
NOTE: mpp_frame.h is updated for external user.

Change-Id: I7ff2effd3c73c042ed65896847fc7458da29fc55
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-04-01 17:44:11 +08:00
rimon.xu
cd27842b1e [h265d]: add h265d colorType support HDR
1.colorType bitmask add dynamic range and color space
2.need to cooperate with mediacodec modifications
3.need to cooperate with omx_il modifications

Change-Id: Ib8c23f6b0488cf799e69ced2bdc9b54d309a1630
Signed-off-by: rimon.xu <rimon.xu@rock-chips.com>
2017-02-27 17:43:10 +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
72d5d0fc93 [mpp_frame]: add more type for convenience
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1164 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-08-07 02:37:02 +00:00
ChenHengming
4428090348 [mpp_frame]: fix frame format macro backward compatible issue
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1160 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-08-05 08:15:04 +00:00
ChenHengming
f6aa0ebafa [mpp_frame]: fix frame format macro backward compatible issue
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1159 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-08-05 07:14:32 +00:00
LinKesheng
ec463020e5 [hal_h264e]: 1. fix bugs in SDK debug; 2. support new Mppframeformat in mpp_frame.h.
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1158 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-08-04 13:23:50 +00:00
GaoZhili
530ac6b5d4 [h264e]: consummate the input format of encoder
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1154 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-08-04 07:15:49 +00:00
ChenHengming
b8d2409710 [MppFrame]: define new frame type bit definition and fix mpeg2/mpeg4 frame type output error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1017 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-13 10:32:13 +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
DingWei
ecf49af775 [vpu_api] add VPU_API_GET_VPUMEM_USED_COUNT
[h264d]  remove dpb_info_old; check_dpb,and add h264d_reset
[mpp_buf_slot]  add get_used_slot_count

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@600 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-04-05 03:10:03 +00:00
DingWei
21230b11bc [vpu_api] add VPU_FRAME_ERR enums
[mpp_frame] add error info functions
[h264d]     add callback function;
            update SEI function;
            DivX && YUV444 unsupport return

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@505 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-12-09 21:28:43 +00:00
DingWei
de4e9ae078 [mpp_frame] add mpp_discard && poc variable and function interface
[mpp_dec]    add discard flag into dequeue link
[h264d]      a) add marco H264D_LOG && H264D_ERR
             b) add YUV444 format ERROR
             c) add DivX ERROR in SEI user unregister data
             d) add MVC output support

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@502 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-12-06 14:29:45 +00:00
ChenSiyong
22c93e4a1b [h265d]:support 10bit info change
[mpp_frame]:support pixel_fmt seting

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@474 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-11-19 21:56:51 +00:00
DingWei
d83e77222c [mpp_frame.h] add dispaly && viewid functions
[mpp_buf_slot.cpp]   add case SLOT_FRAME_PTR, get frame_impl pointer
[mpp_dec.cpp]  add display condition
[h264_module]  update time stamp && prepare function

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@456 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-11-16 14:22:15 +00:00
ChenHengming
dad37656f6 [mpp_frame]: add info_change flag
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@346 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-10-11 16:49:45 +00:00