avcodec/dca_parser: revert to conservative sync distance estimation
authorfoo86 <foobaz86@gmail.com>
Mon, 9 Oct 2017 13:12:19 +0000 (16:12 +0300)
committerfoo86 <foobaz86@gmail.com>
Mon, 9 Oct 2017 13:12:19 +0000 (16:12 +0300)
Fixes regression introduced by commit a0349ae27c127df8c72de1c30dc4090360ec7ef4
when parsing 14-bit streams with excessive frame size stored in header.

Fixes ticket #6723.

libavcodec/dca_parser.c

index 11ddb8f..80d6659 100644 (file)
@@ -124,13 +124,13 @@ static int dca_find_frame_end(DCAParseContext *pc1, const uint8_t *buf,
                     break;
                 case DCA_SYNCWORD_CORE_14B_BE:
                     if (size == 4) {
-                        pc1->framesize = CORE_FRAMESIZE(STATE_14(state)) * 8 / 14 * 2;
+                        pc1->framesize = CORE_FRAMESIZE(STATE_14(state));
                         start_found    = 4;
                     }
                     break;
                 case DCA_SYNCWORD_CORE_14B_LE:
                     if (size == 4) {
-                        pc1->framesize = CORE_FRAMESIZE(STATE_14(STATE_LE(state))) * 8 / 14 * 2;
+                        pc1->framesize = CORE_FRAMESIZE(STATE_14(STATE_LE(state)));
                         start_found    = 4;
                     }
                     break;