Add callback on two events:
1. packet ready and wait for new packet input.
2. frame ready and wait for output frame poll.e
NOTE:
Add callback command param for version compatible sync between user
and mpp library.
Change-Id: Ic41d495a06cf653acb6b5100699f1b7f5f735f2e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
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>
The purpose of mpp_start and mpp_stop is to break mpp_init_into two
stage.
Original mpp_init conbine the init and start for example mpp_dec_init
and mpp_dec_start then the global (or static) config which dominate the
fundamental working way can be only be set before mpp_init. That is
unreasonable. Another example is the encode memory prealloc flow.
The mpp_start is added to end global param receiving and do real
preparation of current operation in mpp_init.
The mpp_stop is the opposite of mpp_start.
Change-Id: I2bdcc29a9ff75777acc5c39c7e7f01477e597bb0
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
The 0 and positive return is success. The negative return is failure.
Change-Id: I9c4586286ce7368a52b7d9dd776fd40c6af4a1da
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Some of NVR product may do some thing special when decoding the first
GOP of bitstream encoded by MPP, and report "gaps in frame_num is not
allowed" although frame_num is bitstream is continuous. Setting
gaps_in_frame_num_allowed_flag to true will avoid this problem.
1. Set gaps_in_frame_num_allowed_flag true as default
2. call mpp_enc_cfg_set_u32(cfg, "h264:gaps_not_allowed", 1) if you
want gaps_in_frame_num_allowed_flag to be false.
Change-Id: I8242fb318e051a61772c02a2c8bb59e4b589ff6d
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
1. Add rc:qp config for user rate control config at frame level.
2. Add hw:qp config for hardware detail config.
NOTE: hardware config is only recommended for expert developer.
Change-Id: I8e28de97304577bcf77d67521f945355779ae102
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Add struct config function.
2. Do not check data type when data size is matched.
3. Use type/size/offset to define data and update info.
Change-Id: Ief21107cf9a8a6b89c2b01c1a430d88e0cf827f4
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Restore max_qp_step which limit the qp change between two frames.
2. Set default H.265 ip_qp_delta to 5.
Change-Id: Iacd795da7f2df46e60ab3f5c45bc8b0f30aff5a5
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
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
Separate H.264 QP limit change flag into 3 flags
Change-Id: I658ab337569f8f715bde7633dce02b631a7d4239
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
The partition property is for slice encoding / decoding.
Change-Id: Ibc5fa77293490ed520e7112b3b9ac53f0f5f42c6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
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>
User data set is for multiple user data with uuid.
Change-Id: Iad952961ab6242ff3a14f554410144bebd3801ba
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
1. Not do reencode in vp8 enc
2. Add api to control whether need to add ivf header
(default: have ivf header)
Signed-off-by: yandong.lin <yandong.lin@rock-chips.com>
Change-Id: I59a3a7193abead6c73e6e1eed593a115add77888
Add max_i_prop, min_i_prop and init_ip_ration for I frame tuning config.
max_i_prop:
The max percentage of intra frame size in one gop.
min_i_prop:
The min percentage of intra frame size in one gop.
init_ip_ration:
Define the first I frame size is how many times of one P frame size.
Set to 16 mean I frame size is equal to P frame size.
Set to 160 mean I frame size is 10 times of P frame size.
These three parameters are for tuning Intra frame quality.
Change-Id: Iac1e700fe2a51fb3a6ad94753784cd54ee789176
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>