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. Enable chroma klut function.
2. Reduce qp_range in Intra frame to get better result.
Change-Id: Ieeae73c6efa06f86bd6fe1b8687c5fcb3bd15da0
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1. Set these func into mpi_dec_utils
2. Note: num of threads: -n -> -s
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: If733fb0fdd7110313d2e140d3c50aad37260b6d2
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
The prepare implement is to pre-alloc buffer and reduce the delay
of the first frame.
Change-Id: I063888e93539b44cd6d102fb864b729580858e23
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
The prepare implement is to pre-alloc buffer and reduce the delay of
the first frame.
Change-Id: I44bc0a016dc8820440c09c3c43a6d78cdb82a137
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Add prepare function to hal interface.
NOTE: The hal prepare function is the hal hook on user control.
When user config is changed hal can process some cfg before enc_impl
updated the config through syntax in task.
Also when encoder is in low delay mode the user control should not be
processed if the current frame is not finished.
Change-Id: Ie287e05daff0d139cf04d93d97246fa176d14d53
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Usage:
1. Enable timing trace
mpp_frame_set_stopwatch_enable(frame, 1);
2. Get stopwatch and record on each step
stopwatch = mpp_frame_get_stopwatch(frame);
mpp_stopwatch_record(stopwatch, "step 0");
mpp_stopwatch_record(stopwatch, "step 1");
mpp_stopwatch_record(stopwatch, "step 2");
3. Get timing log on stopwatch disable or MppFrame destroy
mpp_frame_set_stopwatch_enable(frame, 0);
or
mpp_frame_deinit(&frame);
Change-Id: I47c235e95c9f2f39d970ef1f2948b72dcc254146
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
In case of fast mode, also need prob_loop_base
and prob_default_base.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ie78eeb78d9230263d9a0736c468c4cc35a539885
For vepu2, kernel 4.4 and previous version, '/dev/vepu' should be used
rather than '/dev/vpu_service'.
Change-Id: I2efd4a219bbd7dd3cebf226c8ebcede9bcff9823
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
1. RGB565 need endian swap to help
2. Rework rgb format support to be the same with vepu1/2.
Change-Id: I1cc16b208dbc8968fe313009e06dac380df6df56
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
1. Add more yuv fill image functions.
2. Add 24bit rgb fill image functions.
Change-Id: Ief8e3147fad924234156b7005943c5899df2abed
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
The y/uv hor virstride of the ref frame should be
configured width, just like cur frame, when fbc enable
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I49f48164d1921bfd7ccede3eac353f26431939a4
Separate H.264 QP limit change flag into 3 flags
Change-Id: I658ab337569f8f715bde7633dce02b631a7d4239
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>