# HG changeset patch # User michael # Date 1259417848 0 # Node ID 62533f2e6f5abcccdbd31ab2025f7312f58fd446 # Parent d7ae0897b2367082128f67115ae42d7263579066 Simplify mpeg_decode_user_data() diff -r d7ae0897b236 -r 62533f2e6f5a mpeg12.c --- 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; }