mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 01:26:49 +08:00
[utils]: add show_options to utils
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@316 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
@@ -14,9 +14,9 @@ if(H265D_TEST)
|
|||||||
set_target_properties(openhevcwrapper PROPERTIES
|
set_target_properties(openhevcwrapper PROPERTIES
|
||||||
IMPORTED_LOCATION
|
IMPORTED_LOCATION
|
||||||
"${OPENHEVCSO}/libLibOpenHevcWrapper.so")
|
"${OPENHEVCSO}/libLibOpenHevcWrapper.so")
|
||||||
target_link_libraries(h265d_parser_test openhevcwrapper m h265d_parse osal h265d_hal mpp_codec mpp)
|
target_link_libraries(h265d_parser_test openhevcwrapper m h265d_parse osal h265d_hal mpp_codec mpp utils)
|
||||||
else()
|
else()
|
||||||
target_link_libraries(h265d_parser_test mpp)
|
target_link_libraries(h265d_parser_test mpp utils)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -28,6 +28,7 @@
|
|||||||
#include "h265d_api.h"
|
#include "h265d_api.h"
|
||||||
#include "hal_h265d_api.h"
|
#include "hal_h265d_api.h"
|
||||||
|
|
||||||
|
#include "utils.h"
|
||||||
#include "mpp_log.h"
|
#include "mpp_log.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -57,11 +58,6 @@ typedef enum VPU_API_DEMO_RET {
|
|||||||
ERROR_VPU_DECODE = PARSER_DEMO_ERROR_BASE - 90,
|
ERROR_VPU_DECODE = PARSER_DEMO_ERROR_BASE - 90,
|
||||||
} PARSER_API_DEMO_RET;
|
} PARSER_API_DEMO_RET;
|
||||||
|
|
||||||
typedef struct ParserCmd {
|
|
||||||
RK_U8* name;
|
|
||||||
RK_U8* argname;
|
|
||||||
RK_U8* help;
|
|
||||||
} ParserCmd_t;
|
|
||||||
|
|
||||||
typedef struct parserDemoCmdContext {
|
typedef struct parserDemoCmdContext {
|
||||||
RK_U32 width;
|
RK_U32 width;
|
||||||
@@ -75,15 +71,14 @@ typedef struct parserDemoCmdContext {
|
|||||||
RK_S64 record_start_ms;
|
RK_S64 record_start_ms;
|
||||||
} ParserDemoCmdContext_t;
|
} ParserDemoCmdContext_t;
|
||||||
|
|
||||||
|
static OptionInfo parserCmd[] = {
|
||||||
static ParserCmd_t parserCmd[] = {
|
{"i", "input_file", "input bitstream file"},
|
||||||
{(RK_U8*)"i", (RK_U8*)"input_file", (RK_U8*)"input bitstream file"},
|
{"o", "output_file", "output bitstream file, "},
|
||||||
{(RK_U8*)"o", (RK_U8*)"output_file", (RK_U8*)"output bitstream file, "},
|
{"w", "width", "the width of input bitstream"},
|
||||||
{(RK_U8*)"w", (RK_U8*)"width", (RK_U8*)"the width of input bitstream"},
|
{"h", "height", "the height of input bitstream"},
|
||||||
{(RK_U8*)"h", (RK_U8*)"height", (RK_U8*)"the height of input bitstream"},
|
{"vframes", "number", "set the number of video frames to record"},
|
||||||
{(RK_U8*)"vframes", (RK_U8*)"number", (RK_U8*)"set the number of video frames to record"},
|
{"ss", "time_off", "set the start time offset, use Ms as the unit."},
|
||||||
{(RK_U8*)"ss", (RK_U8*)"time_off", (RK_U8*)"set the start time offset, use Ms as the unit."},
|
{"d", "disable", "disable the debug output info."},
|
||||||
{(RK_U8*)"d", (RK_U8*)"disable", (RK_U8*)"disable the debug output info."},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void show_usage()
|
static void show_usage()
|
||||||
@@ -96,15 +91,8 @@ static void show_usage()
|
|||||||
|
|
||||||
static RK_S32 show_help()
|
static RK_S32 show_help()
|
||||||
{
|
{
|
||||||
RK_U32 i = 0;
|
|
||||||
RK_U32 n = sizeof(parserCmd) / sizeof(ParserCmd_t);
|
|
||||||
|
|
||||||
mpp_log("usage: parserDemo [options] input_file, \n\n");
|
mpp_log("usage: parserDemo [options] input_file, \n\n");
|
||||||
for (i = 0; i < n; i++) {
|
show_options(parserCmd);
|
||||||
mpp_log("-%s %s\t\t%s\n",
|
|
||||||
parserCmd[i].name, parserCmd[i].argname, parserCmd[i].help);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@ macro(add_mpp_test module)
|
|||||||
option(${test_tag} "Build mpp ${module} unit test" ON)
|
option(${test_tag} "Build mpp ${module} unit test" ON)
|
||||||
if(${test_tag})
|
if(${test_tag})
|
||||||
add_executable(${test_name} ${test_name}.c)
|
add_executable(${test_name} ${test_name}.c)
|
||||||
target_link_libraries(${test_name} mpp mpp_legacy)
|
target_link_libraries(${test_name} mpp mpp_legacy utils)
|
||||||
set_target_properties(${test_name} PROPERTIES FOLDER "test")
|
set_target_properties(${test_name} PROPERTIES FOLDER "test")
|
||||||
install(TARGETS ${test_name} RUNTIME DESTINATION ${TEST_INSTALL_DIR})
|
install(TARGETS ${test_name} RUNTIME DESTINATION ${TEST_INSTALL_DIR})
|
||||||
add_test(NAME ${test_name} COMMAND ${test_name})
|
add_test(NAME ${test_name} COMMAND ${test_name})
|
||||||
|
@@ -24,6 +24,7 @@
|
|||||||
#include "mpp_time.h"
|
#include "mpp_time.h"
|
||||||
|
|
||||||
#include "vpu_api.h"
|
#include "vpu_api.h"
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
static RK_U32 VPU_API_DEMO_DEBUG_DISABLE = 0;
|
static RK_U32 VPU_API_DEMO_DEBUG_DISABLE = 0;
|
||||||
|
|
||||||
@@ -50,12 +51,6 @@ typedef enum VPU_API_DEMO_RET {
|
|||||||
ERROR_VPU_DECODE = VPU_DEMO_ERROR_BASE - 90,
|
ERROR_VPU_DECODE = VPU_DEMO_ERROR_BASE - 90,
|
||||||
} VPU_API_DEMO_RET;
|
} VPU_API_DEMO_RET;
|
||||||
|
|
||||||
typedef struct VpuApiCmd {
|
|
||||||
char* name;
|
|
||||||
char* argname;
|
|
||||||
char* help;
|
|
||||||
} VpuApiCmd_t;
|
|
||||||
|
|
||||||
typedef struct VpuApiDemoCmdContext {
|
typedef struct VpuApiDemoCmdContext {
|
||||||
RK_U32 width;
|
RK_U32 width;
|
||||||
RK_U32 height;
|
RK_U32 height;
|
||||||
@@ -75,7 +70,7 @@ typedef struct VpuApiEncInput {
|
|||||||
RK_U32 capability;
|
RK_U32 capability;
|
||||||
} VpuApiEncInput;
|
} VpuApiEncInput;
|
||||||
|
|
||||||
static VpuApiCmd_t vpuApiCmd[] = {
|
static OptionInfo vpuApiCmd[] = {
|
||||||
{"i", "input_file", "input bitstream file"},
|
{"i", "input_file", "input bitstream file"},
|
||||||
{"o", "output_file", "output bitstream file, "},
|
{"o", "output_file", "output bitstream file, "},
|
||||||
{"w", "width", "the width of input bitstream"},
|
{"w", "width", "the width of input bitstream"},
|
||||||
@@ -97,16 +92,8 @@ static void show_usage()
|
|||||||
|
|
||||||
static RK_S32 show_help()
|
static RK_S32 show_help()
|
||||||
{
|
{
|
||||||
RK_S32 i = 0;
|
|
||||||
RK_S32 n = sizeof(vpuApiCmd) / sizeof(VpuApiCmd_t);
|
|
||||||
|
|
||||||
mpp_log("usage: vpu_apiDemo [options] input_file, \n\n");
|
mpp_log("usage: vpu_apiDemo [options] input_file, \n\n");
|
||||||
|
show_options(vpuApiCmd);
|
||||||
for (i = 0; i < n; i++) {
|
|
||||||
mpp_log("-%s %s\t\t%s\n",
|
|
||||||
vpuApiCmd[i].name, vpuApiCmd[i].argname, vpuApiCmd[i].help);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -20,5 +20,14 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "mpp_log.h"
|
#include "mpp_log.h"
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
|
void _show_options(int count, OptionInfo *options)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
|
mpp_log("-%s %s\t\t%s\n",
|
||||||
|
options[i].name, options[i].argname, options[i].help);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -17,10 +17,22 @@
|
|||||||
#ifndef __UTILS_H__
|
#ifndef __UTILS_H__
|
||||||
#define __UTILS_H__
|
#define __UTILS_H__
|
||||||
|
|
||||||
|
typedef struct OptionInfo_t {
|
||||||
|
const char* name;
|
||||||
|
const char* argname;
|
||||||
|
const char* help;
|
||||||
|
} OptionInfo;
|
||||||
|
|
||||||
|
#define show_options(opt) \
|
||||||
|
do { \
|
||||||
|
_show_options(sizeof(opt)/sizeof(OptionInfo), opt); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void _show_options(int count, OptionInfo *options);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user