From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/mpeg4dec/mpeg4vid_api.h | 54 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Src/mpeg4dec/mpeg4vid_api.h (limited to 'Src/mpeg4dec/mpeg4vid_api.h') diff --git a/Src/mpeg4dec/mpeg4vid_api.h b/Src/mpeg4dec/mpeg4vid_api.h new file mode 100644 index 00000000..bdfdbad8 --- /dev/null +++ b/Src/mpeg4dec/mpeg4vid_api.h @@ -0,0 +1,54 @@ +#pragma once +#ifdef __cplusplus +extern "C" +{ +#endif +#include +#include "mp4def.h" +typedef void *mpeg4vid_decoder_t; + +mpeg4vid_decoder_t MPEG4Video_CreateDecoder(int filetype, int codec); +void MPEG4Video_DestroyDecoder(mpeg4vid_decoder_t decoder); +void MPEG4Video_DecodeFrame(mpeg4vid_decoder_t decoder, const void *buffer, size_t bufferlen, uint64_t time_code); +void MPEG4Video_GetPicture(mpeg4vid_decoder_t decoder, mp4_Frame **frame); +int MPEG4Video_GetOutputFormat(mpeg4vid_decoder_t decoder, int *width, int *height, double *aspect_ratio); +void MPEG4Video_Flush(mpeg4vid_decoder_t decoder); +void MPEG4Video_HurryUp(mpeg4vid_decoder_t decoder, int state); +void MPEG4Video_EndOfStream(mpeg4vid_decoder_t decoder); +void MPEG4Video_ReleaseFrame(mpeg4vid_decoder_t d, mp4_Frame *frame); +#define MPEG4_PROFILE_SIMPLE 0 +#define MPEG4_PROFILE_SIMPLE_SCALABLE 1 +#define MPEG4_PROFILE_CORE 2 +#define MPEG4_PROFILE_MAIN 3 +#define MPEG4_PROFILE_NBIT 4 +#define MPEG4_PROFILE_SCALABLE_TEXTURE 5 +#define MPEG4_PROFILE_SIMPLE_FACE 6 +#define MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE 7 +#define MPEG4_PROFILE_HYBRID 8 +#define MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE 9 +#define MPEG4_PROFILE_CORE_SCALABLE 10 +#define MPEG4_PROFILE_ADVANCED_CODE_EFFICIENCY 11 +#define MPEG4_PROFILE_ADVANCED_CORE 12 +#define MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE 13 +#define MPEG4_PROFILE_STUDIO 14 +#define MPEG4_PROFILE_ADVANCED_SIMPLE 15 +#define MPEG4_PROFILE_FGS 16 + +#define MPEG4_LEVEL_0 0 +#define MPEG4_LEVEL_1 1 +#define MPEG4_LEVEL_2 2 +#define MPEG4_LEVEL_3 3 +#define MPEG4_LEVEL_4 4 +#define MPEG4_LEVEL_5 5 +#define MPEG4_LEVEL_3B 13 + +#define MPEG4_FILETYPE_RAW 0 +#define MPEG4_FILETYPE_MP4 1 +#define MPEG4_FILETYPE_AVI 2 + +#define MPEG4_CODEC_DEFAULT 0 +#define MPEG4_CODEC_DIVX5 1 + +#ifdef __cplusplus +} +#endif \ No newline at end of file -- cgit