Merge commit 'ec021d48445a414325ad59a73f9cde3212b173e4'
[ffmpeg.git] / libavutil / rc4.c
index e6e7dc9..ffcb112 100644 (file)
  */
 #include "avutil.h"
 #include "common.h"
+#include "mem.h"
 #include "rc4.h"
 
-typedef struct AVRC4 AVRC4;
+AVRC4 *av_rc4_alloc(void)
+{
+    return av_mallocz(sizeof(struct AVRC4));
+}
 
 int av_rc4_init(AVRC4 *r, const uint8_t *key, int key_bits, int decrypt) {
     int i, j;
@@ -32,7 +36,7 @@ int av_rc4_init(AVRC4 *r, const uint8_t *key, int key_bits, int decrypt) {
     uint8_t *state = r->state;
     int keylen = key_bits >> 3;
     if (key_bits & 7)
-        return -1;
+        return AVERROR(EINVAL);
     for (i = 0; i < 256; i++)
         state[i] = i;
     y = 0;
@@ -59,11 +63,3 @@ void av_rc4_crypt(AVRC4 *r, uint8_t *dst, const uint8_t *src, int count, uint8_t
     }
     r->x = x; r->y = y;
 }
-
-#if LIBAVUTIL_VERSION_MAJOR < 50
-void ff_rc4_enc(const uint8_t *key, int keylen, uint8_t *data, int datalen) {
-    AVRC4 r;
-    av_rc4_init(&r, key, keylen * 8, 0);
-    av_rc4_crypt(&r, data, data, datalen, NULL, 0);
-}
-#endif