From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id CC14A4C456 for ; Fri, 5 Sep 2025 15:31:16 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'y4Cv7+i0TQ/P/ZHC3rtVX6LxPVzjxVowiQzXLNl2Q2k=', expected b'nRusfzIh4FXD2Tmd47v0qd07oDP/dL/H/Jt0ksVGVbM=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1757086105; h=mime-version : to : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=y4Cv7+i0TQ/P/ZHC3rtVX6LxPVzjxVowiQzXLNl2Q2k=; b=J6aojW2Z7f2FloxUKO+lrAXZJwSyMRBMDkWs9qfAqxXiRvSdLhN1gE6N55j/5MIU4U/GE v49V9dbLNjrtQ/N9YfcRiwhEaxQaHG0l13EDjGrJQwcE8YTW+6icoWUQzkdzbLUIfLaF4mz 0CliRyuH/2kymDXA/yQNwxGVamWKORnFS3TISBCW//7KUuA5Eb0MEQvE8bvK8junM23hICN 73taOetn3XgIxiM/AwqxFpNST8ZZcPv2ff8zxsUQsF2BJwsaoUSnkcTtEZibrTzH9NbHhr6 JbRUw/Okui0srci5pCnT56csrq5Gk7VL4qfl5A8yiwrYSgX8xyLo5PS+N1aQ== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id D3EDF68DA91; Fri, 5 Sep 2025 18:28:25 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1757086103; b=pLJgvjO5PNs12Ekny/YKYRAB2ilqrR7qbtKrNEbwl+dJQ2RlKK3LHrwkyxaaSqtucU6Vs RBsZV+cluQ9sUn+VxY/L/+9pApCf4qnby+J3Yca+7uRY+zqrytK6XtFWSRnlAfS6PKCHNPm VEnzD0msPdLHWuhZ9pAml0jnhMM2mqYASIHOfFfF0O1Wxgo9s2TcxRp62LCXdUfIWcDoaXe 8l/a+IgZINSAsy+vfm/HWaCEur8Y2wwJvubaApH2WUWxI+lKwNHdXMFUx3cnqjCyfOlXkKN 3S3cbMZbpsOsgKJOGr5fSUMN+40HfsdcGXKVnh8SFM8FmzP6Va6fz5mwUobQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1757086103; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=3kiNQXI9SoWjfwt3oZ9vdRr7+Igzc/ZCJy8a+RsIo90=; b=GFFJ6Wy0Q98p6OFrz1agLDyWzOzHmmZy6bhw0mgSTSQsH/ldn9R5iBDGRq56IdZZJCln7 KEbycfDjL2+4FCX189cgOYbxONMOZm9LjaLJjkit6lPbLZTlv4zM432x+EVqRqTD18446zo hAG+loNlmIGRv3XIemrEgsQGI1LV4U8CK/yQeGzCJy4iHbfF3pT01/4jjecEF6Pf/iKk7NS AS9NLkz/8v/gPAjdhalSwpKvBa5rhwH1Vg9u2yQXdyw+vzuXK/Ap25wa6Uz5htoekEAlVrq IHfLDFkGf0Km6qUnRyr9jrIrHqzp3xBMMNaZC7VBHLJe1gVsI4PW+CsVCs6A== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1757086089; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : from; bh=nRusfzIh4FXD2Tmd47v0qd07oDP/dL/H/Jt0ksVGVbM=; b=VDryK54Ze8WpYB4YFap6kxcIlxLGpskDnWHYhJaWyY7MqvRi1guaihW6X8n5f9DCHsaBO 3fYYUafpWOScMiaXOudqS2MdHLe2IqyKhUZ7cjRXX40902ZIiI0jzwL/HvEk2M11zzHBdAk +oJSI4ksGANGQ4NuPTw7lKeXYcc2WF+QivetKYq9agZFtx9WKlXhAHJHpgL/IjCwD7VborT 2N2tzcy2XkYEvDeZKgrv43IyhVERe1ao6pgv5D71AhR0lUrejSVN37xax5L2PqA0Aq7m39+ Z77aeWyDIqPGObdArlXWwD2l0NdXvHffSww8XDBjKelu2Ji1MmKqY//mYa4A== Received: from 5d8f51c41678 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 4C4E168ABC3 for ; Fri, 5 Sep 2025 18:28:09 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Message-ID: <175708608999.25.17336891912565755547@463a07221176> Message-ID-Hash: UW7GYRAQQHFHFQTNMZFYAP2X2ZUAOYZN X-Message-ID-Hash: UW7GYRAQQHFHFQTNMZFYAP2X2ZUAOYZN X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] vc1_parser: Reset unesc_index after extracting header with complete frames (PR #20445) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: DE-AI via ffmpeg-devel Cc: DE-AI Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20445 opened by DE-AI URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20445 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20445.patch When PARSER_FLAG_COMPLETE_FRAMES is set (e.g. in Matroska), unesc_index is not reset after the first frame, which causes subsequent frames to inherit leftover header data. This leads to incorrect keyframe marking and broken decoding. See also this bug report: https://trac.ffmpeg.org/ticket/8515 Signed-off-by: DE-AI >>From 9be0b59b547db94670319cf0073645d32dd2615c Mon Sep 17 00:00:00 2001 From: DE-AI Date: Fri, 5 Sep 2025 15:27:01 +0000 Subject: [PATCH] vc1_parser: Reset unesc_index after extracting header with complete frames When PARSER_FLAG_COMPLETE_FRAMES is set (e.g. in Matroska), unesc_index is not reset after the first frame, which causes subsequent frames to inherit leftover header data. This leads to incorrect keyframe marking and broken decoding. See also this bug report: https://trac.ffmpeg.org/ticket/8515 Signed-off-by: DE-AI --- libavcodec/vc1_parser.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/vc1_parser.c b/libavcodec/vc1_parser.c index a536a7bcf8..124a7a771f 100644 --- a/libavcodec/vc1_parser.c +++ b/libavcodec/vc1_parser.c @@ -179,6 +179,7 @@ static int vc1_parse(AVCodecParserContext *s, // start codes if we know it contains a complete frame and // we've already unescaped all we need of the frame header vc1_extract_header(s, avctx, unesc_buffer, unesc_index); + unesc_index = 0; break; } if (unesc_index >= UNESCAPED_THRESHOLD && !start_code_found) { -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org