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/h264dec/dec_api.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Src/h264dec/dec_api.h (limited to 'Src/h264dec/dec_api.h') diff --git a/Src/h264dec/dec_api.h b/Src/h264dec/dec_api.h new file mode 100644 index 00000000..41811666 --- /dev/null +++ b/Src/h264dec/dec_api.h @@ -0,0 +1,25 @@ +#pragma once +#include +#ifdef __cplusplus +extern "C" { +#endif + #include "ldecod/inc/mbuffer.h" +#include "lcommon/inc/frame.h" + +typedef void *h264_decoder_t; + +int H264_Init(); // initializes the library. currently just does a CPU feature check (sse2, etc) +h264_decoder_t H264_CreateDecoder(); +void H264_DestroyDecoder(h264_decoder_t decoder); + +void H264_DecodeFrame(h264_decoder_t decoder, const void *buffer, size_t bufferlen, uint64_t time_code); +void H264_GetPicture(h264_decoder_t decoder, StorablePicture **pic); +void H264_FreePicture(h264_decoder_t decoder, StorablePicture *pic); +void H264_Flush(h264_decoder_t decoder); +void H264_EndOfStream(h264_decoder_t decoder); +void H264_HurryUp(h264_decoder_t decoder, int state); +const FrameFormat *H264_GetOutputFormat(h264_decoder_t decoder, double *aspect_ratio); + +#ifdef __cplusplus +} +#endif \ No newline at end of file -- cgit