fast once can be controlled by cmake cmd:
-DENABLE_FASTPLAY_ONCE=ON
Change-Id: Id0073ef8356acec700030b98b417d4f6999bf894
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Dpb can not be flushed before split process when sending EOS in split mode.
Signed-off-by: xueman.ruan <xueman.ruan@rock-chips.com>
Change-Id: Id8ac89960ea2311f06ab80a2551ee114afafc83f
Only support stereo high profile MVC. Frames with the same POC of two
views will be output in turn. The base view will be output at first.
Change-Id: I534e07bd079dc31d1a1e9178b81dfb21ffec8f60
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
When the last packet sends empty data, h264d_prepare
returns in advance, causing the previous nalu to not
be saved normally, resulting in the loss of the last
frame of data.
Change-Id: Ic519b4326935d82b2534e7442c0ba5175885cef2
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
After receiving the last packet of data, the program exits
without parsing, resulting in the frame loss of the last
packet of data.
Change-Id: I2effe7ae111402d8318095c016269f27467cb987
Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
1. Move callback module to osal for later mpp_device callback.
2. Make callback command a pre-defined value to avoid include issue.
3. Separate callback cmd and param to separate header.
Change-Id: Ibd5cf11650a1cd2a326baddb82dc60fa1767ac87
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
optimize the size of some structures as blow:
1. H264dVideoCtx_t
2. H264dCurCtx_t
3. DXVA_Slice_H264_Long
Change-Id: If3d7ca2f8d92d2a590767a97324537700848ab90
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Add hw capability to parser and check resolustion based on hardware
capability.
Change-Id: Id9b719b238c74d6b77f78fd8d583a3de854a94f4
Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
tips: control cmd for immediate_out, can send both before and after mpp_init.
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Change-Id: Ibe66878cfab1f592b952d01bee3adade7c9d31bc
1. Change internal api RK_S32 cmd to MpiCmd.
2. Remove external MppEncCfgSet in MPI and move it internal data.
Change-Id: I0b93429f3b9f92712a57d0df54a1c76b3e08bf9d
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Move MppCtx, MppParam, MppFrame, MppPacket, MppBuffer, MppBufferGroup,
MppTask and MppMeta to rk_type.h.
Later development need to bring in cross reference between these
objects. So we choose to move these declaration together.
Change-Id: I7ea39138ca87d6ca4cb86556464a5de89d172846
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
tips:
a) when parse syntax error, enable parse_err;
b) when dpb ref error, enable ref_err;
c) when use disable err, only disable ref_err, parse_err cannot.
above all, using these flags, when parse error, it also can
go ahead to hal thread, and loop all.
Change-Id: I639248dbf4499a8ed473b9f44f1e1332409c5c22
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
tips: this command is used to set decoded frame immediate out,
whehter is in display order or not.
Change-Id: I0b6b2c34fde722fe724019118c7af142b4b2e6f1
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
tips:
a) when eos is empty frame, direct flush and return.
b) when last frame has eos, then decode it and flush.
c) mpp_put_frame must check frame slot whether empty.
d) when eos_frame decode error, mark error in eos_frame
Change-Id: Ia78445b2e568195f411b2f339469f4097e83b570
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
1. Disable error default is not set for normal error detection.
2. On special case like drone streaming the user prefers to ignore
all error and continue decoding. Then disable error flag will be set
to fullfill this requirement.
3. When disable error flag is set H.264/H.265 decoding will ignore
hardware error and mark all output frame as no error.
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Change-Id: I8fd619511c53ee744ae973ab3fe015565106dd37
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
1. when had slice data and current nalu is SPS PPS AUD SEI,
thus it can consider that last nalu is the end of frame.
2. when pps is missing, frame data is continue, and use
first_mb_in_slice to judge last nalu is end of frame.
Change-Id: I1ccf3ca415e6b04dcd7fe7fc9c357fd600fa5803
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
Use mpp_device to replace VPUClient interface. Then libmpp.so can
work without libvpu.so. And libvpu.so is only for legacy libvpuapi.
Remove iommu detection function in mpp. All buffer register will be
send to kernel with the form of low 10 bit file handle plus 22 bit
offset mode.
Remove vpu.h/vpu_api.h from libmpp.so
NOTE: mpp_frame.h is updated for external user.
Change-Id: I7ff2effd3c73c042ed65896847fc7458da29fc55
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Tips: when flush, only output the frame which can be output,
not to clear all frames. Such as, when infochange, then flush
is called, while current frame is for reference and should be
reserved, it would be error if it be cleared.
Change-Id: Ie33b0f51bbe54c1b6cad6d1d569b3409ca6414a2
Signed-off-by: leo.ding <leo.ding@rock-chips.com>