summaryrefslogtreecommitdiffstats
path: root/gst/matroska/lzo.h
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-08-02 18:18:05 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-08-02 18:18:05 +0000
commitc4912dac78c8d47e9c980ff74ceea667434ff764 (patch)
tree1007e3e7249db07a601affb05c9918eb9431222c /gst/matroska/lzo.h
parentaedf04f957912a0747a2801d9ea597f6efe02e0d (diff)
Decode the codec private data and following ContentEncoding if necessary.
Original commit message from CVS: * configure.ac: * gst/matroska/Makefile.am: * gst/matroska/lzo.c: (get_byte), (get_len), (copy), (copy_backptr), (lzo1x_decode), (main): * gst/matroska/lzo.h: * gst/matroska/matroska-demux.c: (gst_matroska_demux_read_track_encoding), (gst_matroska_decompress_data), (gst_matroska_decode_data), (gst_matroska_decode_buffer), (gst_matroska_decode_content_encodings), (gst_matroska_demux_read_track_encodings), (gst_matroska_demux_add_stream), (gst_matroska_demux_parse_blockgroup_or_simpleblock): * gst/matroska/matroska-ids.h: Decode the codec private data and following ContentEncoding if necessary. Support bzip2, lzo and header stripped compression. For lzo use the ffmpeg lzo implementation as liblzo is GPL licensed. Fix zlib decompression.
Diffstat (limited to 'gst/matroska/lzo.h')
-rw-r--r--gst/matroska/lzo.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/gst/matroska/lzo.h b/gst/matroska/lzo.h
new file mode 100644
index 00000000..e7795f77
--- /dev/null
+++ b/gst/matroska/lzo.h
@@ -0,0 +1,35 @@
+/*
+ * LZO 1x decompression
+ * copyright (c) 2006 Reimar Doeffinger
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef FFMPEG_LZO_H
+#define FFMPEG_LZO_H
+
+#define LZO_INPUT_DEPLETED 1
+#define LZO_OUTPUT_FULL 2
+#define LZO_INVALID_BACKPTR 4
+#define LZO_ERROR 8
+
+#define LZO_INPUT_PADDING 8
+#define LZO_OUTPUT_PADDING 12
+
+int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
+
+#endif /* FFMPEG_LZO_H */