summaryrefslogtreecommitdiffstats
path: root/third_party/ffmpeg/include/libavutil/lzo.h
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-02 01:47:14 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-02 01:47:14 +0000
commit8ba23bb01714490753ea802782499b09fbcf9440 (patch)
treeb1291a0c1fcfa458fb67e631e07fecb081ac7129 /third_party/ffmpeg/include/libavutil/lzo.h
parentf3778aefd8b63bc818d102fed2606639f512bc19 (diff)
downloadchromium_src-8ba23bb01714490753ea802782499b09fbcf9440.zip
chromium_src-8ba23bb01714490753ea802782499b09fbcf9440.tar.gz
chromium_src-8ba23bb01714490753ea802782499b09fbcf9440.tar.bz2
Update public FFmpeg header files from r16647 to r18286.
This also includes bumping the version of avutil from 49 to 50, which means the generated libs and build files are also updated. Review URL: http://codereview.chromium.org/56129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13003 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/ffmpeg/include/libavutil/lzo.h')
-rw-r--r--third_party/ffmpeg/include/libavutil/lzo.h41
1 files changed, 34 insertions, 7 deletions
diff --git a/third_party/ffmpeg/include/libavutil/lzo.h b/third_party/ffmpeg/include/libavutil/lzo.h
index 2f09f9f..6788054 100644
--- a/third_party/ffmpeg/include/libavutil/lzo.h
+++ b/third_party/ffmpeg/include/libavutil/lzo.h
@@ -24,16 +24,43 @@
#include <stdint.h>
-#define LZO_INPUT_DEPLETED 1
-#define LZO_OUTPUT_FULL 2
-#define LZO_INVALID_BACKPTR 4
-#define LZO_ERROR 8
+/** \defgroup errflags Error flags returned by av_lzo1x_decode
+ * \{ */
+//! end of the input buffer reached before decoding finished
+#define AV_LZO_INPUT_DEPLETED 1
+//! decoded data did not fit into output buffer
+#define AV_LZO_OUTPUT_FULL 2
+//! a reference to previously decoded data was wrong
+#define AV_LZO_INVALID_BACKPTR 4
+//! a non-specific error in the compressed bitstream
+#define AV_LZO_ERROR 8
+/** \} */
-#define LZO_INPUT_PADDING 8
-#define LZO_OUTPUT_PADDING 12
+#define AV_LZO_INPUT_PADDING 8
+#define AV_LZO_OUTPUT_PADDING 12
-int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
+/**
+ * \brief Decodes LZO 1x compressed data.
+ * \param out output buffer
+ * \param outlen size of output buffer, number of bytes left are returned here
+ * \param in input buffer
+ * \param inlen size of input buffer, number of bytes left are returned here
+ * \return 0 on success, otherwise a combination of the error flags above
+ *
+ * Make sure all buffers are appropriately padded, in must provide
+ * AV_LZO_INPUT_PADDING, out must provide AV_LZO_OUTPUT_PADDING additional bytes.
+ */
+int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
+/**
+ * \brief deliberately overlapping memcpy implementation
+ * \param dst destination buffer; must be padded with 12 additional bytes
+ * \param back how many bytes back we start (the initial size of the overlapping window)
+ * \param cnt number of bytes to copy, must be >= 0
+ *
+ * cnt > back is valid, this will copy the bytes we just copied,
+ * thus creating a repeating pattern with a period length of back.
+ */
void av_memcpy_backptr(uint8_t *dst, int back, int cnt);
#endif /* AVUTIL_LZO_H */