diff options
author | foo86 <foobaz86@gmail.com> | 2017-10-09 16:12:19 +0300 |
---|---|---|
committer | foo86 <foobaz86@gmail.com> | 2017-10-09 16:12:19 +0300 |
commit | 23990950e35eff0b96f843c396a62a6429ea25ec (patch) | |
tree | 2cfeea1977567741f542306ab387de4956cf0257 | |
parent | 14b15539398f5b7f72686e60c664fed1518bc20d (diff) | |
download | ffmpeg-streaming-23990950e35eff0b96f843c396a62a6429ea25ec.zip ffmpeg-streaming-23990950e35eff0b96f843c396a62a6429ea25ec.tar.gz |
avcodec/dca_parser: revert to conservative sync distance estimation
Fixes regression introduced by commit a0349ae27c127df8c72de1c30dc4090360ec7ef4
when parsing 14-bit streams with excessive frame size stored in header.
Fixes ticket #6723.
-rw-r--r-- | libavcodec/dca_parser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/dca_parser.c b/libavcodec/dca_parser.c index 11ddb8f..80d6659 100644 --- a/libavcodec/dca_parser.c +++ b/libavcodec/dca_parser.c @@ -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; |