Commit Graph

23 Commits

Author SHA1 Message Date
toby.zhang
03696728e1 feat[vepu510]: Sync code from enc_tune branch
1. Add anti-line tuning
2. Adjust AQ assignment
3. Add smart encoding
4. Add deblur/qpmap routine
5. Add atf & four level intensity control atf
6. Add atr anti_blur function
7. Add real time bitrate output
8. Add smear buffer for vepu510

Change-Id: Iae661686f6adacd0b5ec57c102c184e2537dfc7d
Signed-off-by: Tingjin Huang <timkingh.huang@rock-chips.com>
2024-08-27 10:23: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
Yandong Lin
06672e4aee [mpp_meta]: add new key for scale down dec info
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I421e24d5d3727a3f828f1a2407e6702e12d9afb7
2022-11-25 18:11:13 +08:00
Yandong Lin
15ab8f73be [mpp_meta]: add new key for hdr meta info
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ib9e69f1c8c110e204468284b96322d3de297de29
2022-11-24 14:19:24 +08:00
Herman Chen
72a6118b99 [mpp_meta]: Add mpp_meta_get with default value
Change-Id: I2285ace50341792b1979130d19a3ec642346e4bc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-03-09 11:18:23 +08:00
sayon.chen
1fb20bb450 [mpp_enc]: Add new roi buffer config mode
The roi structure on vepu580 is too complex.

So we provide provide a buffer tunnel for externl user to config encoder
hardware directly.

External user should generate roi data structure according to datasheet.
Then config the base_addr, qp_addr, amv_addr, pmv_addr by metadata.

Change-Id: Iae50bf3ca36c1ff789140055d4d36a79afeb2e58
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2021-11-20 18:34:30 +08:00
Herman Chen
02320fb506 [meta]: Add qpmap for encoder roi direct config
Change-Id: Ic64fa548f60f723e971c5574b6b290ddaf454809
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-10-20 14:55:46 +08:00
Herman Chen
b84425e15d [mpp_meta]: Add meta key average qp for encoder
Change-Id: Iab3fde1a2a3e8e6f6150dfbeb6f5803d6e3cc240
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-01-14 10:01:46 +08:00
Yandong Lin
2111a438c5 [mpp_enc]: Update osd data cfg
1. Add new structure: MppEncOSDData2
2. Different osd layer use separate buffer

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I3be533eb602f23192086f56e06a1439dbb19c35c
2020-12-31 10:00:13 +08:00
sayon.chen
5012336bc2 [enc_v2]: Suppport user data set
User data set is for multiple user data with uuid.

Change-Id: Iad952961ab6242ff3a14f554410144bebd3801ba
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-11-16 09:46:53 +08:00
Herman Chen
7f4ebeec8e [meta]: Add more meta key for encoder
1. Add KEY_ENC_MARK_LTR for marking current frame to be long-term
referece frame.
2. Add KEY_ENC_USE_LTR for assigning a long-term reference frame as
current frame's reference frame.
3. Add KEY_ENC_FRAME_QP for assigning a fix QP for current frame.
4. Add KEY_ENC_BASE_LAYER_PID for assining a priority id for base layer
in tsvc mode.

All these four features are defined in MLVEC test.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib041d9c2f203d7e582a3402bd61dd6a9eb18015a
2020-07-08 15:41:23 +08:00
sayon.chen
2c7148f110 [meta]: Add MV_LIST meta for smartp
Change-Id: I7960eadef22220a4a895b88d8b09895f07e4d694
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2020-02-24 14:17:34 +08:00
sayon.chen
fd862c2884 [mpp_enc]: enc supprot user data set
1. add user data struct define
    2. meta supprot user data set

Change-Id: I1ac4bf179ce15fce61b3ad326de9fb0f8c821cad
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-30 08:49:29 +08:00
sayon.chen
abb3607c15 [mpp_meta]: Add osd & roi metadata keyid
Change-Id: Ibf2b2f87cd75655c68d6a697bc81d89f699abfac
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
2019-12-20 17:48:03 +08:00
Herman Chen
2dfcb96976 [meta]: Add long-term reference index to meta data
This meta data is used for SVC/TSVC encoding / decoding.

Cases and meaning when using KEY_LONG_REF_IDX:

1. On decoder output frame
Represents the long-term reference frame index of the output frame.

2. On encoder input frame
Represents the long-term reference frame which should be used as
reference frame for current encoding frame.

3. On encoder output packet
Represetns the long-term reference frame index of the output packet.

Change-Id: I41dd2eb754b84cc0d8873f7dfbb695e31bc866ae
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-09-12 08:52:15 +08:00
Herman Chen
ab235fd62e [mpp_meta]: Add meta size interface
1. Add mpp_meta_size and mpp_meta_next_node function
2. Move mpp_meta_size and mpp_meta_next_node to mpp_meta_impl.h

mpp_meta_size      - Return node count in metadata.
mpp_meta_next_node - Return next MppMetaNode in metadata.

These two functions are useful in debug.

Change-Id: If0be59c4621fd8ba2e2dbe96124a653b397bac7c
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-21 17:44:03 +08:00
Herman Chen
584d8565cd [meta]: Add key for temporal id
Temporal id is the temporal layer id for H.264 and H.265. It is
usefull for TSVC stream storage and frame display.

Users can determine their behave according to this id.

Change-Id: I06f039b63e0665d3542dc6bd89cc6b52d957af25
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-06-14 11:26:43 +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
Randy Li
6d0955c62f [meta]: add the missing meta data
The encoder would use the KEY_OUTPUT_INTRA to indicate
the current frame is intra frame.

And the decoder would use the new added KEY_HDR_INFO key
to store the HDR data.

Change-Id: I150a993906f43792474ac5aa02a1e5441fb21e8f
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-11-24 17:08:56 +08:00
Randy Li
dae0c0d52a [meta]: use fourcc format to store the meta type
It is the correct to store multi char variable in a variable.
Finally we can't get rid of warning.

NOTE: Need to check the macro under different compiler.

Change-Id: Id43fabd9a6ad437938ba590c95dc0552ef4e5699
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-24 16:27:40 +08:00
herman.chen
a0c0639205 [meta]: modify metadata type and key definition
This is prepare for adding metadata key tree.

Change-Id: Ibd8f4a2c820cdeb5c59ade9a0f80d29e803143da
Signed-off-by: herman.chen <herman.chen@rock-chips.com>
2016-09-08 16:56:45 +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
9715558eaa [meta]: move mpp_meta.h to top inc and add mpp_task / mpp_meta to base CMakeLists.txt
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1028 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-15 02:52:42 +00:00