[FFmpeg-cvslog] avcodec/xbmdec: remove dependancy on zero padding on input packet
Michael Niedermayer
git at videolan.org
Sun Jun 15 04:28:04 CEST 2014
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Jun 15 03:38:50 2014 +0200| [73d820ee1eb0ab5b7d4b75d8f14a31ae9c3c11db] | committer: Michael Niedermayer
avcodec/xbmdec: remove dependancy on zero padding on input packet
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=73d820ee1eb0ab5b7d4b75d8f14a31ae9c3c11db
---
libavcodec/xbmdec.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/libavcodec/xbmdec.c b/libavcodec/xbmdec.c
index e03ff31..143e3a2 100644
--- a/libavcodec/xbmdec.c
+++ b/libavcodec/xbmdec.c
@@ -82,10 +82,10 @@ static int xbm_decode_frame(AVCodecContext *avctx, void *data,
return ret;
// goto start of image data
- next = ptr + strcspn(ptr, "{");
- if (!*next)
- next = ptr + strcspn(ptr, "(");
- if (!*next)
+ next = memchr(ptr, '{', avpkt->size);
+ if (!next)
+ next = memchr(ptr, '(', avpkt->size);
+ if (!next)
return AVERROR_INVALIDDATA;
ptr = next + 1;
@@ -95,7 +95,10 @@ static int xbm_decode_frame(AVCodecContext *avctx, void *data,
for (j = 0; j < linesize; j++) {
uint8_t val;
- ptr += strcspn(ptr, "x$") + 1;
+ while (ptr < end && *ptr != 'x' && *ptr != '$')
+ ptr++;
+
+ ptr ++;
if (ptr < end && av_isxdigit(*ptr)) {
val = convert(*ptr++);
if (av_isxdigit(*ptr))
More information about the ffmpeg-cvslog
mailing list