X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fdca_parser.c;h=9dafe706e228d62e122c0f5ab52498ce6794c4c0;hb=c720b9ce9850710e74a103d9626869e397a89faa;hp=26e2f508759757dadf2cf1365ccbbca822e96664;hpb=0318013afcffe0c3b8a0f0bf9f5f527098f6fa47;p=ffmpeg diff --git a/libavcodec/dca_parser.c b/libavcodec/dca_parser.c index 26e2f508759..9dafe706e22 100644 --- a/libavcodec/dca_parser.c +++ b/libavcodec/dca_parser.c @@ -42,10 +42,10 @@ typedef struct DCAParseContext { #define IS_EXSS_MARKER(state) ((state & 0xFFFFFFFF) == DCA_SYNCWORD_SUBSTREAM) -#define IS_MARKER(state) (IS_CORE_MARKER(state) || IS_EXSS_MARKER(state)) +#define IS_MARKER(state) (IS_CORE_MARKER(state) || IS_EXSS_MARKER(state)) -#define CORE_MARKER(state) ((state >> 16) & 0xFFFFFFFF) -#define EXSS_MARKER(state) (state & 0xFFFFFFFF) +#define CORE_MARKER(state) ((state >> 16) & 0xFFFFFFFF) +#define EXSS_MARKER(state) (state & 0xFFFFFFFF) /** * Find the end of the current frame in the bitstream. @@ -66,7 +66,9 @@ static int dca_find_frame_end(DCAParseContext *pc1, const uint8_t *buf, for (i = 0; i < buf_size; i++) { state = (state << 8) | buf[i]; if (IS_MARKER(state)) { - if (!pc1->lastmarker || CORE_MARKER(state) == pc1->lastmarker || pc1->lastmarker == DCA_SYNCWORD_SUBSTREAM) { + if (!pc1->lastmarker || + pc1->lastmarker == CORE_MARKER(state) || + pc1->lastmarker == DCA_SYNCWORD_SUBSTREAM) { start_found = 1; if (IS_EXSS_MARKER(state)) pc1->lastmarker = EXSS_MARKER(state); @@ -82,7 +84,9 @@ static int dca_find_frame_end(DCAParseContext *pc1, const uint8_t *buf, for (; i < buf_size; i++) { pc1->size++; state = (state << 8) | buf[i]; - if (IS_MARKER(state) && (CORE_MARKER(state) == pc1->lastmarker || pc1->lastmarker == DCA_SYNCWORD_SUBSTREAM)) { + if (IS_MARKER(state) && + (pc1->lastmarker == CORE_MARKER(state) || + pc1->lastmarker == DCA_SYNCWORD_SUBSTREAM)) { if (pc1->framesize > pc1->size) continue; pc->frame_start_found = 0;