[h264d] cancel frame numbers cont

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@472 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
DingWei
2015-11-19 20:28:31 +00:00
parent 85e84a3330
commit 42a9a528d1
2 changed files with 5 additions and 3 deletions

View File

@@ -221,7 +221,7 @@ MPP_RET rkv_h264d_init(void *hal, MppHalCfg *cfg)
INP_CHECK(ret, NULL == p_hal);
FunctionIn(p_hal->logctx.parr[RUN_HAL]);
p_hal->iDecodedNum = 0;
MEM_CHECK(ret, p_hal->pkts = mpp_calloc_size(void, sizeof(H264dRkvPkt_t)));
//!< malloc cabac+scanlis + packets + poc_buf
cabac_size = RKV_CABAC_TAB_SIZE + RKV_SPSPPS_SIZE + RKV_RPS_SIZE + RKV_SCALING_LIST_SIZE + RKV_ERROR_INFO_SIZE;
@@ -233,7 +233,7 @@ MPP_RET rkv_h264d_init(void *hal, MppHalCfg *cfg)
mpp_slots_set_prop(p_hal->frame_slots, SLOTS_HOR_ALIGN, rkv_hor_align);
mpp_slots_set_prop(p_hal->frame_slots, SLOTS_VER_ALIGN, rkv_ver_align);
mpp_slots_set_prop(p_hal->frame_slots, SLOTS_LEN_ALIGN, rkv_len_align);
mpp_slots_set_prop(p_hal->frame_slots, SLOTS_LEN_ALIGN, rkv_len_align);
FunctionOut(p_hal->logctx.parr[RUN_HAL]);
(void)cfg;
@@ -360,7 +360,7 @@ MPP_RET rkv_h264d_start(void *hal, HalTaskInfo *task)
ret = MPP_ERR_VPUHW;
mpp_err_f("H264 RKV FlushRegs fail. \n");
} else {
mpp_log("H264 RKV FlushRegs success, frame_no=%d. \n", p_hal->iDecodedNum);
mpp_log("H264 RKV FlushRegs success. \n");
}
#endif
@@ -394,6 +394,7 @@ MPP_RET rkv_h264d_wait(void *hal, HalTaskInfo *task)
static struct timeval tv1, tv2;
gettimeofday(&tv1, NULL);
wait_ret = VPUClientWaitResult(p_hal->vpu_socket, (RK_U32 *)p_hal->regs, DEC_RKV_REGISTERS, &ret_cmd, &ret_len);
//mpp_log("H264 RKV FlushRegs success, g_grame_no=%d. \n", p_hal->iDecodedNum);
gettimeofday(&tv2, NULL);
cur_deat = (tv2.tv_sec - tv1.tv_sec) * 1000 + (tv2.tv_usec - tv1.tv_usec) / 1000;
p_hal->total_time += cur_deat;

View File

@@ -294,6 +294,7 @@ MppBufferImpl *mpp_buffer_get_unused(MppBufferGroupImpl *p, size_t size)
if (!list_empty(&p->list_unused)) {
MppBufferImpl *pos, *n;
list_for_each_entry_safe(pos, n, &p->list_unused, MppBufferImpl, list_status) {
//mpp_log("[RKV_DEBUG]pos->info.size=%d, size=%d \n", pos->info.size, size);
if (pos->info.size >= size) {
buffer = pos;
inc_buffer_ref_no_lock(buffer);