Commit 669bbedf authored by Luca Barbato's avatar Luca Barbato
Browse files

blowfish: invert branch and loop precedence

Should slightly improve performance depending on the compiler used.
parent 5b54a90c
......@@ -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 > 0) {
v0 = AV_RB32(src);
v1 = AV_RB32(src + 4);
......@@ -396,7 +396,13 @@ 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;
count -= 8;
}
} else {
while (count > 0) {
if (iv) {
for (i = 0; i < 8; i++)
dst[i] = src[i] ^ iv[i];
......@@ -414,11 +420,11 @@ 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;
count -= 8;
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment