Files
luban-lite-t3e-pro/packages/artinchip/mpp/ve/include/mpp_codec.h
刘可亮 7bbc029dae v1.0.0
2023-08-30 16:21:18 +08:00

48 lines
1.1 KiB
C

/*
* Copyright (C) 2020-2022 Artinchip Technology Co. Ltd
*
* author: <qi.xu@artinchip.com>
* Desc: interface of decode libs
*/
#ifndef MPP_CODEC_H
#define MPP_CODEC_H
#include "mpp_dec_type.h"
#include "frame_manager.h"
#include "packet_manager.h"
#include "mpp_decoder.h"
#include "frame_allocator.h"
#define ALIGN_8B(x) (((x) + (7)) & ~(7))
#define ALIGN_16B(x) (((x) + (15)) & ~(15))
struct mpp_decoder {
struct dec_ops *ops;
struct packet_manager* pm;
struct frame_manager* fm;
struct frame_allocator* allocator;
int rotmir_flag; // only used for jpeg
int hor_scale; // only used for jpeg
int ver_scale; // only used for jpeg
int crop_en;
int crop_x;
int crop_y;
int crop_width;
int crop_height;
int output_x;
int output_y;
};
struct dec_ops {
const char *name;
int (*init)(struct mpp_decoder *ctx, struct decode_config *config);
int (*destory)(struct mpp_decoder *ctx);
int (*decode)(struct mpp_decoder *ctx);
int (*control)(struct mpp_decoder *ctx, int cmd, void *param);
int (*reset)(struct mpp_decoder *ctx);
};
#endif