2025-05-10 21:58:58 +08:00

71 lines
2.1 KiB
C

/*
* Copyright 2021 Rockchip Electronics Co. LTD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef SRC_TESTS_RT_MPI_COMMON_TEST_COMM_VGS_H_
#define SRC_TESTS_RT_MPI_COMMON_TEST_COMM_VGS_H_
#include "rk_common.h"
#include "rk_comm_vgs.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif /* End of #ifdef __cplusplus */
typedef enum TEST_VGS_OP_TYPE_E {
VGS_OP_QUICK_COPY = 0,
VGS_OP_QUICK_RESIZE,
VGS_OP_QUICK_FILL,
VGS_OP_ROTATION,
VGS_OP_MIRROR,
VGS_OP_COLOR_KEY
} TEST_VGS_OP_TYPE_E;
typedef struct _TEST_VGS_PROC_CTX {
const char *srcFileName;
const char *dstFileName;
VIDEO_FRAME_INFO_S stImgIn;
VIDEO_FRAME_INFO_S stImgOut;
TEST_VGS_OP_TYPE_E stOpt;
RK_S32 fillData;
ROTATION_E rotateAngle;
TEST_VGS_OP_TYPE_E opType;
RK_S32 s32JobNum;
RK_S32 s32TaskNum;
RK_S32 s32ProcessTimes;
RK_S64 s32ProcessTotalTime;
RK_DOUBLE s32fps;
} TEST_VGS_PROC_CTX_S;
RK_S32 TEST_VGS_BeginJob(VGS_HANDLE *jobHandle);
RK_S32 TEST_VGS_AddTask(TEST_VGS_PROC_CTX_S *pstCtx, VGS_HANDLE jobHandle);
RK_S32 TEST_VGS_EndJob(VGS_HANDLE jobHandle);
RK_S32 TEST_VGS_LoadSrcFrame(TEST_VGS_PROC_CTX_S *pstCtx);
RK_S32 TEST_VGS_CreateDstFrame(TEST_VGS_PROC_CTX_S *pstCtx);
RK_S32 TEST_VGS_CreateDstCMAFrame(TEST_VGS_PROC_CTX_S *pstCtx);
RK_S32 TEST_VGS_ProcessJob(TEST_VGS_PROC_CTX_S *pstCtx, VIDEO_FRAME_INFO_S *pstFrames);
RK_S32 TEST_VGS_MultiTest(TEST_VGS_PROC_CTX_S *ctx);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */
#endif // SRC_TESTS_RT_MPI_COMMON_TEST_COMM_VGS_H_