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>
The partition property is for slice encoding / decoding.
Change-Id: Ibc5fa77293490ed520e7112b3b9ac53f0f5f42c6
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
1.hevc all resolution support fbc out
2.h264 only support frame mb only for fbc out
3.vp9 all resolution support fbc out
Change-Id: I1d68b75aebea30560a1c6c25bd552121f86097f0
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>