From f63f689e101225d2a35f614c8843e7bdcdadee78 Mon Sep 17 00:00:00 2001 From: Reimar Döffinger Date: Sat, 18 Apr 2009 17:26:00 +0000 Subject: Avoid code duplication in xan_unpack for the final memcpy. Originally committed as revision 18608 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/xan.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'libavcodec/xan.c') diff --git a/libavcodec/xan.c b/libavcodec/xan.c index 748f4d1eab..aacdcc1b83 100644 --- a/libavcodec/xan.c +++ b/libavcodec/xan.c @@ -157,17 +157,18 @@ static void xan_unpack(unsigned char *dest, const unsigned char *src, int dest_l av_memcpy_backptr(dest, back, size2); dest += size2; } else { + int finish; size = ((opcode & 0x1f) << 2) + 4; - if (size > 0x70) - break; + finish = size > 0x70; + if (finish) + size = opcode & 3; memcpy(dest, src, size); dest += size; src += size; + if (finish) + return; } } - - size = opcode & 3; - memcpy(dest, src, size); dest += size; src += size; } static inline void xan_wc3_output_pixel_run(XanContext *s, -- cgit v1.2.3