44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/* SPDX-License-Identifier: Apache-2.0 OR MIT */
|
|
/*
|
|
* Copyright (c) 2015 Rockchip Electronics Co., Ltd.
|
|
*/
|
|
|
|
#ifndef MPP_PARSER_H
|
|
#define MPP_PARSER_H
|
|
|
|
#include "mpp_singleton.h"
|
|
|
|
#include "parser_api.h"
|
|
|
|
typedef void* Parser;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
MPP_RET mpp_parser_init(Parser *prs, ParserCfg *cfg);
|
|
MPP_RET mpp_parser_deinit(Parser prs);
|
|
|
|
MPP_RET mpp_parser_prepare(Parser prs, MppPacket pkt, HalDecTask *task);
|
|
MPP_RET mpp_parser_parse(Parser prs, HalDecTask *task);
|
|
|
|
MPP_RET mpp_parser_reset(Parser prs);
|
|
MPP_RET mpp_parser_flush(Parser prs);
|
|
MPP_RET mpp_parser_control(Parser prs, MpiCmd cmd, void *para);
|
|
MPP_RET mpp_parser_callback(void* prs, void *err_info);
|
|
MPP_RET mpp_parser_sync(Parser prs, RK_S32 frame_id);
|
|
|
|
MPP_RET mpp_parser_api_register(const ParserApi *api);
|
|
|
|
#define MPP_PARSER_API_REGISTER(api) \
|
|
static void mpp_parser_api_register_##api##_wrapper(void) \
|
|
{ \
|
|
mpp_parser_api_register(&api); \
|
|
} \
|
|
MPP_MODULE_ADD(api, mpp_parser_api_register_##api##_wrapper, NULL);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* MPP_PARSER_H */
|