X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fdnxhd_parser.c;h=63b4ff89e138ddd564ea159ea4bc2faecabc751e;hb=0181162bb54ce62ec212436a12d059726d8cd1df;hp=7c16e251a493785cc549126c39ddca5ba95d6c6e;hpb=ace96d2e693d804a0ed16aebc1b1027cfff2c527;p=ffmpeg diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c index 7c16e251a49..63b4ff89e13 100644 --- a/libavcodec/dnxhd_parser.c +++ b/libavcodec/dnxhd_parser.c @@ -79,10 +79,9 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, if (remaining <= 0) continue; } + remaining += i - 47; dctx->remaining = remaining; - if (buf_size - i + 47 >= dctx->remaining) { - int remaining = dctx->remaining; - + if (buf_size >= dctx->remaining) { pc->frame_start_found = 0; pc->state64 = -1; dctx->cur_byte = 0; @@ -90,6 +89,10 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, return remaining; } else { dctx->remaining -= buf_size; + // Update variables for correctness, they are currently not used beyond here + state = -1; + dctx->cur_byte += buf_size - i; + break; } } }