summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/avcomp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/util/avcomp.h')
-rw-r--r--src/lib/util/avcomp.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/lib/util/avcomp.h b/src/lib/util/avcomp.h
new file mode 100644
index 00000000000..9a729e3c1c1
--- /dev/null
+++ b/src/lib/util/avcomp.h
@@ -0,0 +1,60 @@
+/***************************************************************************
+
+ avcomp.h
+
+ Audio/video compression and decompression helpers.
+
+ Copyright (c) 1996-2007, Nicola Salmoria and the MAME Team.
+ Visit http://mamedev.org for licensing and usage restrictions.
+
+***************************************************************************/
+
+#ifndef __AVCOMP_H__
+
+#include "osdcore.h"
+
+
+/***************************************************************************
+ CONSTANTS
+***************************************************************************/
+
+/* errors */
+enum _avcomp_error
+{
+ AVCERR_NONE = 0,
+ AVCERR_INVALID_DATA,
+ AVCERR_VIDEO_TOO_LARGE,
+ AVCERR_AUDIO_TOO_LARGE,
+ AVCERR_OUT_OF_MEMORY,
+ AVCERR_COMPRESSION_ERROR
+};
+typedef enum _avcomp_error avcomp_error;
+
+/* default decompression parameters */
+#define AVCOMP_DECODE_META (1 << 0)
+#define AVCOMP_DECODE_VIDEO (1 << 1)
+#define AVCOMP_DECODE_AUDIO(x) (1 << (2 + (x)))
+#define AVCOMP_DECODE_DEFAULT (~0)
+
+
+
+/***************************************************************************
+ TYPE DEFINITIONS
+***************************************************************************/
+
+typedef struct _avcomp_state avcomp_state;
+
+
+
+/***************************************************************************
+ PROTOTYPES
+***************************************************************************/
+
+avcomp_state *avcomp_init(UINT32 maxwidth, UINT32 maxheight, UINT32 maxchannels);
+void avcomp_free(avcomp_state *state);
+void avcomp_decompress_config(avcomp_state *state, UINT32 decodemask, UINT8 *videobuffer, UINT32 videostride, UINT32 videoxor, UINT32 audioxor);
+
+avcomp_error avcomp_encode_data(avcomp_state *state, const UINT8 *source, UINT8 *dest, UINT32 *complength);
+avcomp_error avcomp_decode_data(avcomp_state *state, const UINT8 *source, UINT32 complength, UINT8 *dest);
+
+#endif