Originally committed as revision 13914 to svn://svn.ffmpeg.org/ffmpeg/trunk
/* rotate block */
static void rotate_block(const int16_t *source, int16_t *target, int offset)
{
- int i=0, k=0;
source += BUFFERSIZE - offset;
- while (i<BLOCKSIZE) {
- target[i++] = source[k++];
-
- if (k == offset)
- k = 0;
+ if (offset > BLOCKSIZE) {
+ memcpy(target, source, BLOCKSIZE*sizeof(*target));
+ } else {
+ memcpy(target, source, offset*sizeof(*target));
+ memcpy(target + offset, source, (BLOCKSIZE - offset)*sizeof(*target));
}
}