There is a case:
In split mode, after sending the last packet of a stream,
the user then continues to send packet with extra data flag for the new
stream.
It will result in the last packet loss.
Change-Id: Iba945dbf4229a49fea2040ecc9f76e4ef7209de8
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Improve image quality and compresssion rate without increasing time
consumption.
Change-Id: I5793707f5c4819b72a6edb4635c9e4188a91c9de
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
changelog.sh usage:
Generate the new CHANGELOG.md, commit and add new tag
changelog.sh -t 1.0.x
show help:
changelog.sh or changelog.sh -h
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2c423568dff3f7c7e10ae7de35876e09f1eee960
If empty eos marks task_valid, it will be send to HAL process
Change-Id: Ie4851e687dc662d38c970122caaea0cd101abbd7
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
qpprime_y_zero_transform_bypass_flag is related to lossless mode.
Change-Id: I18a8914c0a291268851a4c9e90e50a043fe14fce
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Fixed a crash issue in mpp_destroy stage caused by calling members of a recycled parser thread.
crash backtrace:
#00 pc 00084882 /apex/com.android.runtime/lib/bionic/libc.so (pthread_mutex_lock+6)
#01 pc 00081434 /vendor/lib/libmpp.so (mpp_dec_notify_normal(MppDecImpl_t*, unsigned int)+32)
#02 pc 0007d6cc /vendor/lib/libmpp.so (mpp_dec_callback_slot(char const*, void*, int, void*)+112)
#03 pc 000937f0 /vendor/lib/libmpp.so (mpp_buf_slot_clr_flag+944)
#04 pc 000da960 /vendor/lib/libmpp.so (mpp_hevc_unref_frame+168)
#05 pc 000d1c50 /vendor/lib/libmpp.so (h265d_deinit+32)
#06 pc 00081908 /vendor/lib/libmpp.so (mpp_parser_deinit+40)
#07 pc 0007e24c /vendor/lib/libmpp.so (mpp_dec_deinit+548)
#08 pc 0006b4f0 /vendor/lib/libmpp.so (Mpp::clear()+104)
#09 pc 0006b61c /vendor/lib/libmpp.so (Mpp::~Mpp()+12)
#10 pc 0006f7e0 /vendor/lib/libmpp.so (mpp_destroy+152)
#11 pc 00003d1c /vendor/bin/mpi_dec_test (dec_decode+984)
Change-Id: I985168aa6ef30a265fce17c2d9765c17a24075c8
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
When it is in async mode the enc->frame is cleared on task fininsh it
should use hal_task->frame to notify the external output thread.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I237cf0f2aca8a49578f26e16f3aab16dff308132
The simple thread has the thread group feature.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ife367ecc3b5a46d2b50037e8d21cc8ce665a4c02
If SAO and loop filter are both enabled, tile buffer size should be
enlarged, and dchs should be enabled even if current frame is
non-reference.
Change-Id: I8f9beac8a4ebf908a10729367303dd88ae905a3c
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
When vp9 decoder switches from FBC mode to non-FBC mode it requires
resetting the alignment function in buf_slot.
Change-Id: I0c3e35e2c573d003192a2a82d9bdd9c30f42088c
Signed-off-by: Hery Xu <hery.xu@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
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>
If an error occurs during the configuration of the parameter,
an error value must be returned
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: I0c6922c41de8be4415fe5ab92e35e93c3f266bec
For non referenced frame encoding when dual cores working together for
each tile of the frame, the core, generally it is core-1, processing the
right tile will spend twice of time comparing to the other core. Turing
off dchs solves this problem.
Change-Id: Iaec076c838115f3cbc3fdbebfadf4fb4a0138aec
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
The problematic process is as follows:
set_cfg -> prep change is changed
get_hdr -> not clear the prep change
set_cfg -> prep change is still detected and
causing idr frames to be regenerated
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: I270690e573e7b419695872e4d098bd2bf2599924
The problematic process is as follows:
set_cfg -> codec change is changed
get_hdr -> not clear the codec change
set idr -> codec change is still detected and sps/pps
is added repeatedly
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: If8decbba5010b271af45a6cf022863bcb2660a3d
1. Add fbc mode adjust callback function to buf_slot. So the external
user can change fbc mode on info change by SET_FRAME_INFO control.
When we change fbc mode the return MppFrame buf_size must be check to
insure buffer is enough for new fbc mode.
2. When parser notify info change there will be a info change slot
MppFrame which must be changed also when external user change fbc mode.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic4f8764e410c796abffeb6b31924643c0eac0656
Merge some reg config from kmpp branch to fix quality of encoded images.
Change-Id: Idf13e15e2d3570b83c5248d2a074dcb48bb50f7d
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Slice header should be amended when poc type configured by user is
different with hardware encoder generated.
Change-Id: Ifa458be9a11a5346afb2abd3337c836ced9f95e8
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>