diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-07-05 21:23:37 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-07-05 21:55:31 +0200 |
commit | 24823a761cb28eff5876d5de266a7d7103075e94 (patch) | |
tree | a476ad08e498a91e05f8a2b789bf6b4f495a145d /libavutil/blowfish.c | |
parent | 92c7ef1e30d677f29c06caf765c527c9db486861 (diff) | |
parent | bb58c43c69078c6cf29a9efee12e14469e2c21f8 (diff) | |
download | ffmpeg-24823a761cb28eff5876d5de266a7d7103075e94.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
qdm2: remove broken and disabled dump_context() debug function
x86: h264_intrapred: use newly introduced SPLAT* and PSHUFLW macros
x86inc: add SPLATB_LOAD, SPLATB_REG, PSHUFLW macros
x86inc: modify ALIGN to not generate long nops on i586
x86: h264_intrapred: port to cpuflag macros
avplay: update input filter pointer when the filtergraph is reset.
avconv: fix parsing of -force_key_frames option.
h264: use templates to avoid excessive inlining
xtea: Make the count parameter match the documentation
blowfish: Make the count parameter match the documentation
mpegvideo: Don't use ff_mspel_motion() for vc1
xtea: invert branch and loop precedence
blowfish: invert branch and loop precedence
flvdec: optionally trust the metadata
avconv: Set audio filter time base to the sample rate
vp8: Add ifdef guards around the sse2 loopfilter in the sse2slow branch too
Conflicts:
ffmpeg.c
ffplay.c
libavcodec/h264.c
libavcodec/mpegvideo_common.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/blowfish.c')
-rw-r--r-- | libavutil/blowfish.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c index 2ef037cf8e..fd894cdb80 100644 --- a/libavutil/blowfish.c +++ b/libavutil/blowfish.c @@ -381,8 +381,8 @@ void av_blowfish_crypt(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src, uint32_t v0, v1; int i; - while (count > 0) { - if (decrypt) { + if (decrypt) { + while (count--) { v0 = AV_RB32(src); v1 = AV_RB32(src + 4); @@ -396,7 +396,12 @@ void av_blowfish_crypt(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src, dst[i] = dst[i] ^ iv[i]; memcpy(iv, src, 8); } - } else { + + src += 8; + dst += 8; + } + } else { + while (count--) { if (iv) { for (i = 0; i < 8; i++) dst[i] = src[i] ^ iv[i]; @@ -414,11 +419,10 @@ void av_blowfish_crypt(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src, if (iv) memcpy(iv, dst, 8); - } - src += 8; - dst += 8; - count -= 8; + src += 8; + dst += 8; + } } } |