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>
When jpeg encoder enable partition encoding the following items should
be check:
1. IMPORTANT: This implement is only for single encoder usage that is
hardware can only support this feature without context swith between
different frame encoding.
2. Check input split mode and split arg.
3. Update bitstream address and msb/lsb for each partition encoding.
4. Update mcu height for each encoding.
5. Change restart marker for each encoding.
Change-Id: Ie4e4dea4f66d4f0a1aeca15c8b542d8ada723477
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
NOTE: low delay path should be used with slice encoding.
Change-Id: I75b774fc5dbbc910d5aa722c4eeffe255415efbb
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>