[FFmpeg-cvslog] avcodec/dca_parser: revert to conservative sync distance estimation

foo86 git at videolan.org
Mon Oct 9 16:55:52 EEST 2017


ffmpeg | branch: master | foo86 <foobaz86 at gmail.com> | Mon Oct  9 16:12:19 2017 +0300| [23990950e35eff0b96f843c396a62a6429ea25ec] | committer: foo86

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=23990950e35eff0b96f843c396a62a6429ea25ec
---

 libavcodec/dca_parser.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/dca_parser.c b/libavcodec/dca_parser.c
index 11ddb8f188..80d665985e 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;



More information about the ffmpeg-cvslog mailing list