From 41ae5d0e2214a123e245486d609d1bc0610f0723 Mon Sep 17 00:00:00 2001 From: ChenHengming Date: Tue, 2 Aug 2016 02:10:48 +0000 Subject: [PATCH] [mpp_enc]: fix vpu_api setformat error and add more log to vpu_api path git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1142 6e48237b-75ef-9749-8fc9-41990f28c85a --- mpp/codec/mpp_enc.cpp | 1 - mpp/legacy/vpu_api_legacy.cpp | 6 +++--- test/mpi_enc_test.c | 15 ++++++++++++--- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/mpp/codec/mpp_enc.cpp b/mpp/codec/mpp_enc.cpp index ea932d86..f7ac161a 100644 --- a/mpp/codec/mpp_enc.cpp +++ b/mpp/codec/mpp_enc.cpp @@ -172,7 +172,6 @@ void *mpp_enc_control_thread(void *data) } // clear remain task in output port - release_task_in_port(mpp->mInputPort); release_task_in_port(input); release_task_in_port(mpp->mOutputPort); diff --git a/mpp/legacy/vpu_api_legacy.cpp b/mpp/legacy/vpu_api_legacy.cpp index 823e9263..dd133caf 100644 --- a/mpp/legacy/vpu_api_legacy.cpp +++ b/mpp/legacy/vpu_api_legacy.cpp @@ -794,9 +794,8 @@ RK_S32 VpuApiLegacy::perform(RK_U32 cmd, RK_U32 *data) RK_S32 VpuApiLegacy::control(VpuCodecContext *ctx, VPU_API_CMD cmd, void *param) { - vpu_api_dbg_func("enter\n"); + vpu_api_dbg_func("enter cmd %x param %p\n", cmd, param); - (void)ctx; if (mpi == NULL && !init_ok) { return 0; } @@ -811,6 +810,7 @@ RK_S32 VpuApiLegacy::control(VpuCodecContext *ctx, VPU_API_CMD cmd, void *param) } break; case VPU_API_ENC_SETFORMAT : { enc_in_fmt = *((EncInputPictureType *)param); + return 0; } break; case VPU_API_SET_VPUMEM_CONTEXT: { mpicmd = MPP_DEC_SET_EXT_BUF_GROUP; @@ -889,7 +889,7 @@ RK_S32 VpuApiLegacy::control(VpuCodecContext *ctx, VPU_API_CMD cmd, void *param) RK_S32 ret = -1; if (mpicmd < MPI_CMD_BUTT) - ret = mpi->control(mpp_ctx, (MpiCmd)mpicmd, (MppParam)param); + ret = mpi->control(mpp_ctx, mpicmd, (MppParam)param); vpu_api_dbg_func("leave\n"); return ret; diff --git a/test/mpi_enc_test.c b/test/mpi_enc_test.c index e439a596..60b4b576 100644 --- a/test/mpi_enc_test.c +++ b/test/mpi_enc_test.c @@ -217,7 +217,6 @@ int mpi_enc_test(MpiEncTestCmd *cmd) if (read_size != frame_size || feof(fp_input)) { mpp_log("found last frame\n"); frm_eos = 1; - break; } mpp_frame_set_buffer(frame, frm_buf_in); @@ -275,12 +274,19 @@ int mpi_enc_test(MpiEncTestCmd *cmd) void *ptr = mpp_packet_get_pos(packet); size_t len = mpp_packet_get_length(packet); + pkt_eos = mpp_packet_get_eos(packet); + if (fp_output) fwrite(ptr, 1, len, fp_output); mpp_packet_deinit(&packet); mpp_log_f("encoded frame %d size %d\n", frame_count, len); stream_size += len; + + if (pkt_eos) { + mpp_log("found last packet\n"); + mpp_assert(frm_eos); + } } frame_count++; @@ -292,6 +298,9 @@ int mpi_enc_test(MpiEncTestCmd *cmd) break; } } while (1); + + if (frm_eos && pkt_eos) + break; } ret = mpi->reset(ctx); @@ -471,8 +480,8 @@ static void mpi_enc_test_show_options(MpiEncTestCmd* cmd) mpp_log("cmd parse result:\n"); mpp_log("input file name: %s\n", cmd->file_input); mpp_log("output file name: %s\n", cmd->file_output); - mpp_log("width : %4d\n", cmd->width); - mpp_log("height : %4d\n", cmd->height); + mpp_log("width : %d\n", cmd->width); + mpp_log("height : %d\n", cmd->height); mpp_log("type : %d\n", cmd->type); mpp_log("debug flag : %x\n", cmd->debug); }