aboutsummaryrefslogtreecommitdiff
path: root/Src/vp32/include/vp31/comp_interface.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/vp32/include/vp31/comp_interface.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/vp32/include/vp31/comp_interface.h')
-rw-r--r--Src/vp32/include/vp31/comp_interface.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/Src/vp32/include/vp31/comp_interface.h b/Src/vp32/include/vp31/comp_interface.h
new file mode 100644
index 00000000..1d4d529a
--- /dev/null
+++ b/Src/vp32/include/vp31/comp_interface.h
@@ -0,0 +1,89 @@
+//==========================================================================
+//
+// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
+// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
+// PURPOSE.
+//
+// Copyright (c) 1999 - 2001 On2 Technologies Inc. All Rights Reserved.
+//
+//--------------------------------------------------------------------------
+
+
+/****************************************************************************
+*
+* Module Title : COMP_INTERFACE.H
+*
+* Description : Interface to video codec demo compressor DLL
+*
+*
+*****************************************************************************
+*/
+
+#ifndef COMP_INTERFACE_H
+#define COMP_INTERFACE_H
+
+#define INC_WIN_HEADER 1
+#include <windows.h>
+
+#include "codec_common_interface.h"
+#include "type_aliases.h"
+
+/* Command interface to compressor. */
+/* Settings Control */
+typedef enum
+{ C_FRAME_SIZE,
+ C_QUALITY, // Quality trade off value (0 best to 15 worst)
+ C_DATA_RATE,
+ C_FRAME_RATE,
+ C_FORCE_BASE_FRAME, // Forces a key frame
+ C_RESYNCH_VIDEO, // Forces video to re-synch
+ C_SETUP_GRABBER,
+ C_RESET_FRAME_COUNTER, // Relates to stats - may be removed
+
+ /* Specialist test facilities. */
+ C_ON_LINE, // Test function soon to be removed
+
+ C_INTER_PREDICTION, // Test code soon to be removed
+ C_MOTION_COMP, // Test code soon to be removed
+ C_EXT_SRC, // Test code soon to be removed
+
+} C_SETTING;
+
+typedef enum
+{
+ LOCAL_NORMAL,
+ LOCAL_GF,
+
+} LOCAL_DISP_MODE;
+
+typedef struct
+{
+ UINT32 CompTime;
+ UINT32 MeanCompTime;
+ UINT32 PPTime;
+ UINT32 MeanPPTime;
+
+} COMP_TIMINGS;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+typedef struct CP_INSTANCE * xCP_INST;
+extern BOOL CCONV StartEncoder( xCP_INST cpi, UINT32 FrameSize, UINT32 TargetRate, UINT32 Quality );
+extern int CCONV GetCompressorSetting ( xCP_INST cpi, C_SETTING Setting );
+extern void CCONV ChangeCompressorSetting ( xCP_INST cpi, C_SETTING Setting, int Value );
+extern INT32 CCONV GetVideoData( xCP_INST cpi, UINT8 * VideoBufferPtr );
+extern BOOL CCONV StopEncoder(xCP_INST cpi );
+extern BOOL CCONV GetFrameDetails( xCP_INST cpi, UINT32 * FrameNumber, UINT32 * FrameSize );
+extern void CCONV GetStillFrame( xCP_INST cpi, BOOL FullStill );
+extern void CCONV ResumeVideo(xCP_INST cpi);
+extern xCP_INST CreateCPInstance(void);
+extern void DeleteCPInstance(xCP_INST *cpi);
+
+#ifdef _cplusplus
+}
+#endif
+
+#endif \ No newline at end of file