Mercurial > libavcodec.hg
changeset 10587:62533f2e6f5a libavcodec
Simplify mpeg_decode_user_data()
author | michael |
---|---|
date | Sat, 28 Nov 2009 14:17:28 +0000 |
parents | d7ae0897b236 |
children | 96b9deb2adb1 |
files | mpeg12.c |
diffstat | 1 files changed, 5 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/mpeg12.c Sat Nov 28 10:58:07 2009 +0000 +++ b/mpeg12.c Sat Nov 28 14:17:28 2009 +0000 @@ -2113,28 +2113,21 @@ static void mpeg_decode_user_data(AVCodecContext *avctx, - const uint8_t *buf, int buf_size) + const uint8_t *p, int buf_size) { - const uint8_t *p; - int len, flags; - p = buf; - len = buf_size; + const uint8_t *buf_end = p+buf_size; /* we parse the DTG active format information */ - if (len >= 5 && + if (buf_end - p >= 5 && p[0] == 'D' && p[1] == 'T' && p[2] == 'G' && p[3] == '1') { - flags = p[4]; + int flags = p[4]; p += 5; - len -= 5; if (flags & 0x80) { /* skip event id */ - if (len < 2) - return; p += 2; - len -= 2; } if (flags & 0x40) { - if (len < 1) + if (buf_end - p < 1) return; avctx->dtg_active_format = p[0] & 0x0f; }