summaryrefslogtreecommitdiffstats
path: root/ext/jpeg/smokecodec.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2004-10-04 16:53:48 +0000
committerWim Taymans <wim.taymans@gmail.com>2004-10-04 16:53:48 +0000
commitb90716dd184e3a270fc31ab39307548fe16337cc (patch)
treee204108290be35fe11b3ecde34ebbc60396cdb5a /ext/jpeg/smokecodec.h
parentd2ba80e45ee0a5b90aa2be7571efb92a560bd1c0 (diff)
ext/jpeg/: Updated smoke, new bitstream, allows embedding in ogg.
Original commit message from CVS: * ext/jpeg/gstjpeg.c: (smoke_type_find), (plugin_init): * ext/jpeg/gstsmokedec.c: (gst_smokedec_init), (gst_smokedec_chain): * ext/jpeg/gstsmokedec.h: * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_class_init), (gst_smokeenc_init), (gst_smokeenc_resync), (gst_smokeenc_chain): * ext/jpeg/gstsmokeenc.h: * ext/jpeg/smokecodec.c: (smokecodec_encode_new), (smokecodec_decode_new), (smokecodec_info_free), (smokecodec_set_quality), (smokecodec_get_quality), (smokecodec_set_threshold), (smokecodec_get_threshold), (smokecodec_set_bitrate), (smokecodec_get_bitrate), (find_best_size), (abs_diff), (put), (smokecodec_encode_id), (smokecodec_encode), (smokecodec_parse_id), (smokecodec_parse_header), (smokecodec_decode): * ext/jpeg/smokecodec.h: * ext/jpeg/smokeformat.h: Updated smoke, new bitstream, allows embedding in ogg.
Diffstat (limited to 'ext/jpeg/smokecodec.h')
-rw-r--r--ext/jpeg/smokecodec.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/ext/jpeg/smokecodec.h b/ext/jpeg/smokecodec.h
index 6ffc5ef8..6c428068 100644
--- a/ext/jpeg/smokecodec.h
+++ b/ext/jpeg/smokecodec.h
@@ -30,11 +30,12 @@ extern "C" {
typedef struct _SmokeCodecInfo SmokeCodecInfo;
typedef enum {
+ SMOKECODEC_WRONGVERSION = -5,
SMOKECODEC_WRONGSIZE = -4,
SMOKECODEC_ERROR = -3,
SMOKECODEC_NOMEM = -2,
SMOKECODEC_NULLPTR = -1,
- SMOKECODEC_OK = 0,
+ SMOKECODEC_OK = 0
} SmokeCodecResult;
typedef enum {
@@ -42,11 +43,21 @@ typedef enum {
SMOKECODEC_MOTION_VECTORS = (1<<1)
} SmokeCodecFlags;
+#define SMOKECODEC_ID_STRING "smoke"
+
+typedef enum {
+ SMOKECODEC_TYPE_ID = 0x80,
+ SMOKECODEC_TYPE_COMMENT = 0x81,
+ SMOKECODEC_TYPE_EXTRA = 0x83,
+ SMOKECODEC_TYPE_DATA = 0x40
+} SmokePacketType;
/* init */
int smokecodec_encode_new (SmokeCodecInfo **info,
const unsigned int width,
- const unsigned int height);
+ const unsigned int height,
+ const unsigned int fps_num,
+ const unsigned int fps_denom);
int smokecodec_decode_new (SmokeCodecInfo **info);
@@ -69,6 +80,10 @@ SmokeCodecResult smokecodec_get_bitrate (SmokeCodecInfo *info,
unsigned int *bitrate);
/* encoding */
+SmokeCodecResult smokecodec_encode_id (SmokeCodecInfo *info,
+ unsigned char *out,
+ unsigned int *outsize);
+
SmokeCodecResult smokecodec_encode (SmokeCodecInfo *info,
const unsigned char *in,
SmokeCodecFlags flags,
@@ -76,12 +91,18 @@ SmokeCodecResult smokecodec_encode (SmokeCodecInfo *info,
unsigned int *outsize);
/* decoding */
+SmokeCodecResult smokecodec_parse_id (SmokeCodecInfo *info,
+ const unsigned char *in,
+ const unsigned int insize);
+
SmokeCodecResult smokecodec_parse_header (SmokeCodecInfo *info,
const unsigned char *in,
const unsigned int insize,
SmokeCodecFlags *flags,
unsigned int *width,
- unsigned int *height);
+ unsigned int *height,
+ unsigned int *fps_num,
+ unsigned int *fps_denom);
SmokeCodecResult smokecodec_decode (SmokeCodecInfo *info,
const unsigned char *in,