mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-04 16:52:40 +08:00
[test]: change deinit interface, add more detail to mpi_test
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@153 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
@@ -25,13 +25,24 @@
|
|||||||
* buffer group may need to set a default group size limit
|
* buffer group may need to set a default group size limit
|
||||||
*/
|
*/
|
||||||
#define SZ_1K (1024)
|
#define SZ_1K (1024)
|
||||||
|
#define SZ_2K (SZ_1K*2)
|
||||||
#define SZ_4K (SZ_1K*4)
|
#define SZ_4K (SZ_1K*4)
|
||||||
|
#define SZ_8K (SZ_1K*8)
|
||||||
|
#define SZ_16K (SZ_1K*16)
|
||||||
|
#define SZ_32K (SZ_1K*32)
|
||||||
|
#define SZ_64K (SZ_1K*64)
|
||||||
|
#define SZ_128K (SZ_1K*128)
|
||||||
|
#define SZ_256K (SZ_1K*256)
|
||||||
|
#define SZ_512K (SZ_1K*512)
|
||||||
#define SZ_1M (SZ_1K*SZ_1K)
|
#define SZ_1M (SZ_1K*SZ_1K)
|
||||||
#define SZ_2M (SZ_1M*2)
|
#define SZ_2M (SZ_1M*2)
|
||||||
#define SZ_4M (SZ_1M*4)
|
#define SZ_4M (SZ_1M*4)
|
||||||
#define SZ_8M (SZ_1M*8)
|
#define SZ_8M (SZ_1M*8)
|
||||||
|
#define SZ_16M (SZ_1M*16)
|
||||||
|
#define SZ_32M (SZ_1M*32)
|
||||||
#define SZ_64M (SZ_1M*64)
|
#define SZ_64M (SZ_1M*64)
|
||||||
#define SZ_80M (SZ_1M*80)
|
#define SZ_80M (SZ_1M*80)
|
||||||
|
#define SZ_128M (SZ_1M*128)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MppBuffer module has several functions:
|
* MppBuffer module has several functions:
|
||||||
|
@@ -33,7 +33,7 @@ MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size);
|
|||||||
MPP_RET mpp_packet_set_pts(MppPacket packet, RK_S64 pts);
|
MPP_RET mpp_packet_set_pts(MppPacket packet, RK_S64 pts);
|
||||||
MPP_RET mpp_packet_set_dts(MppPacket packet, RK_S64 dts);
|
MPP_RET mpp_packet_set_dts(MppPacket packet, RK_S64 dts);
|
||||||
MPP_RET mpp_packet_set_eos(MppPacket packet);
|
MPP_RET mpp_packet_set_eos(MppPacket packet);
|
||||||
MPP_RET mpp_packet_deinit(MppPacket *packet);
|
MPP_RET mpp_packet_deinit(MppPacket packet);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@@ -82,7 +82,7 @@ extern "C" {
|
|||||||
* mpp interface
|
* mpp interface
|
||||||
*/
|
*/
|
||||||
MPP_RET mpp_init(MppCtx *ctx, MppApi **mpi);
|
MPP_RET mpp_init(MppCtx *ctx, MppApi **mpi);
|
||||||
MPP_RET mpp_deinit(MppCtx* ctx);
|
MPP_RET mpp_deinit(MppCtx ctx);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@@ -160,7 +160,7 @@ MPP_RET mpp_init(MppCtx *ctx, MppApi **mpi)
|
|||||||
return MPP_OK;
|
return MPP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
MPP_RET mpp_deinit(MppCtx* ctx)
|
MPP_RET mpp_deinit(MppCtx ctx)
|
||||||
{
|
{
|
||||||
MpiImpl *p;
|
MpiImpl *p;
|
||||||
MPI_FUNCTION_ENTER();
|
MPI_FUNCTION_ENTER();
|
||||||
@@ -170,7 +170,7 @@ MPP_RET mpp_deinit(MppCtx* ctx)
|
|||||||
return MPP_ERR_NULL_PTR;
|
return MPP_ERR_NULL_PTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
p = (MpiImpl*)*ctx;
|
p = (MpiImpl*)ctx;
|
||||||
|
|
||||||
if (p->check != p) {
|
if (p->check != p) {
|
||||||
mpp_err("mpp_deinit input invalid MppCtx\n");
|
mpp_err("mpp_deinit input invalid MppCtx\n");
|
||||||
@@ -179,7 +179,6 @@ MPP_RET mpp_deinit(MppCtx* ctx)
|
|||||||
|
|
||||||
if (p)
|
if (p)
|
||||||
mpp_free(p);
|
mpp_free(p);
|
||||||
*ctx = NULL;
|
|
||||||
|
|
||||||
MPI_FUNCTION_LEAVE();
|
MPI_FUNCTION_LEAVE();
|
||||||
return MPP_OK;
|
return MPP_OK;
|
||||||
|
@@ -79,16 +79,14 @@ MPP_RET mpp_packet_set_eos(MppPacket packet)
|
|||||||
return MPP_OK;
|
return MPP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
MPP_RET mpp_packet_deinit(MppPacket *packet)
|
MPP_RET mpp_packet_deinit(MppPacket packet)
|
||||||
{
|
{
|
||||||
if (NULL == packet) {
|
if (NULL == packet) {
|
||||||
mpp_err("mpp_packet_deinit invalid input packet %p\n", packet);
|
mpp_err("mpp_packet_deinit invalid input packet %p\n", packet);
|
||||||
return MPP_ERR_NULL_PTR;
|
return MPP_ERR_NULL_PTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
mpp_packet_impl *p = (mpp_packet_impl *)*packet;
|
mpp_free((mpp_packet_impl *)packet);
|
||||||
mpp_free(p);
|
|
||||||
*packet = NULL;
|
|
||||||
return MPP_OK;
|
return MPP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -14,15 +14,23 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(_WIN32)
|
||||||
|
#include "vld.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MODULE_TAG "mpi_test"
|
#define MODULE_TAG "mpi_test"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "rk_mpi.h"
|
#include "rk_mpi.h"
|
||||||
|
|
||||||
#include "mpp_log.h"
|
#include "mpp_log.h"
|
||||||
#include "mpp_env.h"
|
#include "mpp_env.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define MPI_DEC_LOOP_COUNT 4
|
||||||
|
#define MPI_ENC_LOOP_COUNT 4
|
||||||
|
|
||||||
|
#define MPI_STREAM_SIZE (SZ_512K)
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
MPP_RET ret;
|
MPP_RET ret;
|
||||||
@@ -38,10 +46,20 @@ int main()
|
|||||||
MPI_CMD cmd = MPI_MPP_CMD_BASE;
|
MPI_CMD cmd = MPI_MPP_CMD_BASE;
|
||||||
MppParam param = NULL;
|
MppParam param = NULL;
|
||||||
|
|
||||||
|
RK_S32 i;
|
||||||
|
char *buf = NULL;
|
||||||
|
RK_S32 size = MPI_STREAM_SIZE;
|
||||||
|
|
||||||
mpp_log("mpi_test start\n");
|
mpp_log("mpi_test start\n");
|
||||||
|
|
||||||
mpp_env_set_u32("mpi_debug", 0x1);
|
mpp_env_set_u32("mpi_debug", 0x1);
|
||||||
|
|
||||||
|
buf = malloc(size);
|
||||||
|
if (NULL == buf) {
|
||||||
|
mpp_err("mpi_test malloc failed\n");
|
||||||
|
goto MPP_TEST_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
mpp_log("mpi_test decoder test start\n");
|
mpp_log("mpi_test decoder test start\n");
|
||||||
|
|
||||||
// decoder demo
|
// decoder demo
|
||||||
@@ -63,9 +81,55 @@ int main()
|
|||||||
goto MPP_TEST_FAILED;
|
goto MPP_TEST_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
mpi->decode(ctx, dec_in, &dec_out);
|
// interface with both input and output
|
||||||
mpi->decode_put_packet(ctx, dec_in);
|
for (i = 0; i < MPI_DEC_LOOP_COUNT; i++) {
|
||||||
mpi->decode_get_frame(ctx, &dec_out);
|
mpp_packet_init(&dec_in, buf, size);
|
||||||
|
|
||||||
|
// TODO: read stream data to buf
|
||||||
|
|
||||||
|
ret = mpi->decode(ctx, dec_in, &dec_out);
|
||||||
|
if (MPP_OK != ret) {
|
||||||
|
goto MPP_TEST_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dec_out) {
|
||||||
|
// TODO: diaplay function called here
|
||||||
|
|
||||||
|
mpp_frame_deinit(dec_out);
|
||||||
|
dec_out = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
mpp_packet_deinit(dec_in);
|
||||||
|
dec_in = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// interface with input and output separated
|
||||||
|
for (i = 0; i < MPI_DEC_LOOP_COUNT; i++) {
|
||||||
|
mpp_packet_init(&dec_in, buf, size);
|
||||||
|
|
||||||
|
// TODO: read stream data to buf
|
||||||
|
|
||||||
|
ret = mpi->decode_put_packet(ctx, dec_in);
|
||||||
|
if (MPP_OK != ret) {
|
||||||
|
goto MPP_TEST_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
mpp_packet_deinit(dec_in);
|
||||||
|
dec_in = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < MPI_DEC_LOOP_COUNT; i++) {
|
||||||
|
ret = mpi->decode_get_frame(ctx, &dec_out);
|
||||||
|
if (MPP_OK != ret) {
|
||||||
|
goto MPP_TEST_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dec_out) {
|
||||||
|
mpp_frame_deinit(dec_out);
|
||||||
|
dec_out = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ret = mpi->flush(ctx);
|
ret = mpi->flush(ctx);
|
||||||
if (MPP_OK != ret) {
|
if (MPP_OK != ret) {
|
||||||
@@ -73,7 +137,7 @@ int main()
|
|||||||
goto MPP_TEST_FAILED;
|
goto MPP_TEST_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
mpp_deinit(&ctx);
|
mpp_deinit(ctx);
|
||||||
|
|
||||||
|
|
||||||
mpp_log("mpi_test encoder test start\n");
|
mpp_log("mpi_test encoder test start\n");
|
||||||
@@ -107,15 +171,28 @@ int main()
|
|||||||
goto MPP_TEST_FAILED;
|
goto MPP_TEST_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
mpp_deinit(&ctx);
|
if (dec_in) {
|
||||||
|
mpp_packet_deinit(dec_in);
|
||||||
|
dec_in = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
mpp_deinit(ctx);
|
||||||
|
free(buf);
|
||||||
|
|
||||||
mpp_log("mpi_test success\n");
|
mpp_log("mpi_test success\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
MPP_TEST_FAILED:
|
MPP_TEST_FAILED:
|
||||||
|
if (dec_in) {
|
||||||
|
mpp_packet_deinit(dec_in);
|
||||||
|
dec_in = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (ctx)
|
if (ctx)
|
||||||
mpp_deinit(ctx);
|
mpp_deinit(ctx);
|
||||||
|
if (buf)
|
||||||
|
free(buf);
|
||||||
|
|
||||||
mpp_log("mpi_test failed\n");
|
mpp_log("mpi_test failed\n");
|
||||||
|
|
||||||
|
@@ -48,7 +48,7 @@ int main()
|
|||||||
mpp_err("mpp_packet_test mpp_packet_set_eos failed\n");
|
mpp_err("mpp_packet_test mpp_packet_set_eos failed\n");
|
||||||
goto MPP_PACKET_failed;
|
goto MPP_PACKET_failed;
|
||||||
}
|
}
|
||||||
mpp_packet_deinit(&packet);
|
mpp_packet_deinit(packet);
|
||||||
|
|
||||||
free(data);
|
free(data);
|
||||||
mpp_log("mpp_packet_test success\n");
|
mpp_log("mpp_packet_test success\n");
|
||||||
@@ -56,7 +56,7 @@ int main()
|
|||||||
|
|
||||||
MPP_PACKET_failed:
|
MPP_PACKET_failed:
|
||||||
if (packet)
|
if (packet)
|
||||||
mpp_packet_deinit(&packet);
|
mpp_packet_deinit(packet);
|
||||||
|
|
||||||
if (data)
|
if (data)
|
||||||
free(data);
|
free(data);
|
||||||
|
Reference in New Issue
Block a user