aboutsummaryrefslogtreecommitdiff
path: root/Src/h264dec/dec_api.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/h264dec/dec_api.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/h264dec/dec_api.h')
-rw-r--r--Src/h264dec/dec_api.h25
1 files changed, 25 insertions, 0 deletions
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 <bfc/platform/types.h>
+#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