Browse code

Add av_ prefix to LZO stuff and thus make it officially part of the public API. Keep lzo1x_decode until the next major version bump for binary compatibility.

Originally committed as revision 16946 to svn://svn.ffmpeg.org/ffmpeg/trunk

Reimar Döffinger authored on 2009/02/03 05:16:00
Showing 5 changed files
... ...
@@ -158,7 +158,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
158 158
     switch ((buf[0] >> 1) & 7) {
159 159
         case 0: { // lzo compression
160 160
             int outlen = c->decomp_size, inlen = buf_size - 2;
161
-            if (lzo1x_decode(c->decomp_buf, &outlen, &buf[2], &inlen))
161
+            if (av_lzo1x_decode(c->decomp_buf, &outlen, &buf[2], &inlen))
162 162
                 av_log(avctx, AV_LOG_ERROR, "error during lzo decompression\n");
163 163
             break;
164 164
         }
... ...
@@ -232,7 +232,7 @@ static av_cold int decode_init(AVCodecContext *avctx) {
232 232
     c->linelen = avctx->width * avctx->bits_per_coded_sample / 8;
233 233
     c->height = avctx->height;
234 234
     c->decomp_size = c->height * c->linelen;
235
-    c->decomp_buf = av_malloc(c->decomp_size + LZO_OUTPUT_PADDING);
235
+    c->decomp_buf = av_malloc(c->decomp_size + AV_LZO_OUTPUT_PADDING);
236 236
     if (!c->decomp_buf) {
237 237
         av_log(avctx, AV_LOG_ERROR, "Can't allocate decompression buffer.\n");
238 238
         return 1;
... ...
@@ -116,7 +116,7 @@ static int codec_reinit(AVCodecContext *avctx, int width, int height, int qualit
116 116
         avctx->width = c->width = width;
117 117
         avctx->height = c->height = height;
118 118
         c->decomp_size = c->height * c->width * 3 / 2;
119
-        c->decomp_buf = av_realloc(c->decomp_buf, c->decomp_size + LZO_OUTPUT_PADDING);
119
+        c->decomp_buf = av_realloc(c->decomp_buf, c->decomp_size + AV_LZO_OUTPUT_PADDING);
120 120
         if (!c->decomp_buf) {
121 121
             av_log(avctx, AV_LOG_ERROR, "Can't allocate decompression buffer.\n");
122 122
             return 0;
... ...
@@ -175,7 +175,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
175 175
     buf_size -= 12;
176 176
     if (comptype == NUV_RTJPEG_IN_LZO || comptype == NUV_LZO) {
177 177
         int outlen = c->decomp_size, inlen = buf_size;
178
-        if (lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen))
178
+        if (av_lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen))
179 179
             av_log(avctx, AV_LOG_ERROR, "error during lzo decompression\n");
180 180
         buf = c->decomp_buf;
181 181
         buf_size = c->decomp_size;
... ...
@@ -872,9 +872,9 @@ static int matroska_decode_buffer(uint8_t** buf, int* buf_size,
872 872
         do {
873 873
             olen = pkt_size *= 3;
874 874
             pkt_data = av_realloc(pkt_data,
875
-                                  pkt_size+LZO_OUTPUT_PADDING);
876
-            result = lzo1x_decode(pkt_data, &olen, data, &isize);
877
-        } while (result==LZO_OUTPUT_FULL && pkt_size<10000000);
875
+                                  pkt_size+AV_LZO_OUTPUT_PADDING);
876
+            result = av_lzo1x_decode(pkt_data, &olen, data, &isize);
877
+        } while (result==AV_LZO_OUTPUT_FULL && pkt_size<10000000);
878 878
         if (result)
879 879
             goto failed;
880 880
         pkt_size -= olen;
... ...
@@ -41,7 +41,7 @@ typedef struct LZOContext {
41 41
 static inline int get_byte(LZOContext *c) {
42 42
     if (c->in < c->in_end)
43 43
         return *c->in++;
44
-    c->error |= LZO_INPUT_DEPLETED;
44
+    c->error |= AV_LZO_INPUT_DEPLETED;
45 45
     return 1;
46 46
 }
47 47
 
... ...
@@ -88,11 +88,11 @@ static inline void copy(LZOContext *c, int cnt) {
88 88
     register uint8_t *dst = c->out;
89 89
     if (cnt > c->in_end - src) {
90 90
         cnt = FFMAX(c->in_end - src, 0);
91
-        c->error |= LZO_INPUT_DEPLETED;
91
+        c->error |= AV_LZO_INPUT_DEPLETED;
92 92
     }
93 93
     if (cnt > c->out_end - dst) {
94 94
         cnt = FFMAX(c->out_end - dst, 0);
95
-        c->error |= LZO_OUTPUT_FULL;
95
+        c->error |= AV_LZO_OUTPUT_FULL;
96 96
     }
97 97
 #if defined(INBUF_PADDED) && defined(OUTBUF_PADDED)
98 98
     COPY4(dst, src);
... ...
@@ -120,12 +120,12 @@ static inline void copy_backptr(LZOContext *c, int back, int cnt) {
120 120
     register const uint8_t *src = &c->out[-back];
121 121
     register uint8_t *dst = c->out;
122 122
     if (src < c->out_start || src > dst) {
123
-        c->error |= LZO_INVALID_BACKPTR;
123
+        c->error |= AV_LZO_INVALID_BACKPTR;
124 124
         return;
125 125
     }
126 126
     if (cnt > c->out_end - dst) {
127 127
         cnt = FFMAX(c->out_end - dst, 0);
128
-        c->error |= LZO_OUTPUT_FULL;
128
+        c->error |= AV_LZO_OUTPUT_FULL;
129 129
     }
130 130
     memcpy_backptr(dst, back, cnt);
131 131
     c->out = dst + cnt;
... ...
@@ -187,9 +187,9 @@ void av_memcpy_backptr(uint8_t *dst, int back, int cnt) {
187 187
  * \return 0 on success, otherwise error flags, see lzo.h
188 188
  *
189 189
  * Make sure all buffers are appropriately padded, in must provide
190
- * LZO_INPUT_PADDING, out must provide LZO_OUTPUT_PADDING additional bytes.
190
+ * AV_LZO_INPUT_PADDING, out must provide AV_LZO_OUTPUT_PADDING additional bytes.
191 191
  */
192
-int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
192
+int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
193 193
     int state= 0;
194 194
     int x;
195 195
     LZOContext c;
... ...
@@ -202,10 +202,10 @@ int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
202 202
     if (x > 17) {
203 203
         copy(&c, x - 17);
204 204
         x = GETB(c);
205
-        if (x < 16) c.error |= LZO_ERROR;
205
+        if (x < 16) c.error |= AV_LZO_ERROR;
206 206
     }
207 207
     if (c.in > c.in_end)
208
-        c.error |= LZO_INPUT_DEPLETED;
208
+        c.error |= AV_LZO_INPUT_DEPLETED;
209 209
     while (!c.error) {
210 210
         int cnt, back;
211 211
         if (x > 15) {
... ...
@@ -223,7 +223,7 @@ int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
223 223
                 back += (GETB(c) << 6) + (x >> 2);
224 224
                 if (back == (1 << 14)) {
225 225
                     if (cnt != 1)
226
-                        c.error |= LZO_ERROR;
226
+                        c.error |= AV_LZO_ERROR;
227 227
                     break;
228 228
                 }
229 229
             }
... ...
@@ -252,6 +252,12 @@ int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
252 252
     return c.error;
253 253
 }
254 254
 
255
+#if LIBAVUTIL_VERSION_MAJOR < 50
256
+int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
257
+    return av_lzo1x_decode(out, outlen, in, inlen);
258
+}
259
+#endif
260
+
255 261
 #ifdef TEST
256 262
 #include <stdio.h>
257 263
 #include <lzo/lzo1x.h>
... ...
@@ -277,7 +283,7 @@ START_TIMER
277 277
 #elif defined(LIBLZO_UNSAFE)
278 278
         if (lzo1x_decompress(comp, inlen, decomp, &outlen, NULL))
279 279
 #else
280
-        if (lzo1x_decode(decomp, &outlen, comp, &inlen))
280
+        if (av_lzo1x_decode(decomp, &outlen, comp, &inlen))
281 281
 #endif
282 282
             av_log(NULL, AV_LOG_ERROR, "decompression error\n");
283 283
 STOP_TIMER("lzod")
... ...
@@ -24,15 +24,15 @@
24 24
 
25 25
 #include <stdint.h>
26 26
 
27
-#define LZO_INPUT_DEPLETED 1
28
-#define LZO_OUTPUT_FULL 2
29
-#define LZO_INVALID_BACKPTR 4
30
-#define LZO_ERROR 8
27
+#define AV_LZO_INPUT_DEPLETED 1
28
+#define AV_LZO_OUTPUT_FULL 2
29
+#define AV_LZO_INVALID_BACKPTR 4
30
+#define AV_LZO_ERROR 8
31 31
 
32
-#define LZO_INPUT_PADDING 8
33
-#define LZO_OUTPUT_PADDING 12
32
+#define AV_LZO_INPUT_PADDING 8
33
+#define AV_LZO_OUTPUT_PADDING 12
34 34
 
35
-int lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
35
+int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
36 36
 
37 37
 void av_memcpy_backptr(uint8_t *dst, int back, int cnt);
38 38