[codec_h265d]: merge csy's h265d module

[hal_task]: add input_packet to parser_prepare output, change stmbuf to input_index

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@352 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenHengming
2015-10-12 15:56:08 +00:00
parent c318361d13
commit 511e6bbbb0
22 changed files with 904 additions and 317 deletions

View File

@@ -66,12 +66,9 @@ Mpp::Mpp(MppCtxType type, MppCodingType coding)
mThreadHal = new MppThread(mpp_dec_hal_thread, this);
mpp_buffer_group_get_internal(&mInternalGroup, MPP_BUFFER_TYPE_ION);
mpp_buffer_group_get_internal(&mPacketGroup, MPP_BUFFER_TYPE_ION);
mpp_buffer_group_limit_config(mPacketGroup, MPP_TEST_PACKET_SIZE, 4);
mpp_buffer_group_limit_config(mPacketGroup, 0, 4);
mpp_buffer_group_get_internal(&mFrameGroup, MPP_BUFFER_TYPE_ION);
mpp_buffer_group_limit_config(mFrameGroup, MPP_TEST_FRAME_SIZE, 4);
} break;
case MPP_CTX_ENC : {
mFrames = new mpp_list((node_destructor)NULL);
@@ -94,7 +91,7 @@ Mpp::Mpp(MppCtxType type, MppCodingType coding)
if (mFrames && mPackets &&
(mDec || mEnc) &&
mThreadCodec && mThreadHal &&
mPacketGroup && mFrameGroup) {
mPacketGroup) {
mThreadCodec->start();
mThreadHal->start();
} else {
@@ -161,7 +158,8 @@ void Mpp::clear()
MPP_RET Mpp::put_packet(MppPacket packet)
{
Mutex::Autolock autoLock(mPackets->mutex());
if (mPackets->list_size() < 4) {
RK_U32 eos = mpp_packet_get_eos(packet);
if (mPackets->list_size() < 4 || eos) {
MppPacket pkt;
mpp_packet_copy_init(&pkt, packet);
mPackets->add_at_tail(&pkt, sizeof(pkt));