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 631074CAD5 for ; Tue, 28 Oct 2025 21:58:38 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'Rw2h7GU6ME/hOgUU5PGqwV9RatBWpN6faNIZNlPIdkE=', expected b'hBg7TGR7fg83V8pRlvogU6+srFyM1AeDt4YgTEcsr5Q=')) 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=1761688708; h=mime-version : to : date : 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=Rw2h7GU6ME/hOgUU5PGqwV9RatBWpN6faNIZNlPIdkE=; b=dMq6T6j5YDMnv7CqU0faCf6vKkRpu/InKviAqpTE3grwq9CMN1LrpVURUW0iioVdnPypi 5Vo5xt6Wrsa+O6O/LSDEv2lwGYl7uMaIk5b0BLhmikXdAd6cut0XsqdOPbWO01RBtKTYqzv 1Rv1C9UnHjtMSwX9Ts9zU9aayNIJNPmKK6kDP+de3Coymgmy9XTSLjKmodnaDaMc9tBemk7 r409YPs/XmNKpy6dz0DoA6rGPV/wwx7937g/PRtilSmQhBC2xp2AXJKoYuLiFtDbwy9NEC7 LfirsbUV+m4muPOrb1H9PqziCQ66vQTt8Jh6ve5lmEtUWnWxdyZVlHU7PCsg== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id B3C0768F7A3; Tue, 28 Oct 2025 23:58:28 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1761688689; b=MDT1Tp5o0jVJ9rXgtqf8t4fnpWrWXyQrme1QjIpVjQFSQl8ytyqcia9PlaJxfyaZK/wtZ y/tMSkGMdRWCp2Vlf+GgTyegq31xsZDk8gr9guVvFabmITye09cgKLkKtHbeBkDdkVpRylo PxwMf62TpDY0zM1MAbFS5RwPjjZiUmXeq93UoaV3s5b/b6eO0zaAXB8rf7PS3YDU5BU+Nj2 omjrBV4zliS1KnlEL52Nf1AxWzD7t2EcPB1UOpgKklNYUE1Ya1uGaSKWjWHIakwBh8i56Ec H6eVGdOnhmZnKn8ROcrT1Ildp2oElcyXApIlCrHSbjcDaFSLNhn2okNKkkiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1761688689; 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=mhwJJGqkubzcW5CcshCt7QJCFCNEdQHVJb5M28zw3nM=; b=YFX487/1S8Qzrso+NgPwaBdnrWw6qpT9xSpgXUo494Jb2Jgq4ie1h1jkQxIC2StauGG4S fl05Hya4cXce9LT0OKbVNnurfuiy3HfUl/c7n6WB1jEzqiF0FcqGDKRKKxmL1IK8lPWxSJk ZR8pfWWOEuDF4p+WG3bEkVakXxqyxCFzHr3cD52Y0YwbveiXaXWZQw/1Jh+JHpMvoC1c0QK sQV25C+w3kT2gKKP8c1WQtlwDDztI0SGhHlh3Jp7wSnO80JXbRACXP4W8NeVtdmvwGwlYbM zDSTwpS8GH1+l2oolK3sL1m86VjNKh7lxCzej/iRB3CTb8RF9KTVxrjkgYng== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761688683; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=hBg7TGR7fg83V8pRlvogU6+srFyM1AeDt4YgTEcsr5Q=; b=FeXKTulHNtwgHhlHvm8f0YOB8b/TNEUMMMD7evKcxoFRCqgl2JZghBsCZpP/wRh/jEF+k CVdoPPoCQ7SlY/G7ohtH/5GGf20WNl+En7DW6zxxczC7iujNvUsOUmwHLzDXJ2jRBlns2DY KS6B6X89wThLaFEVaAgXdrJbErq0OFd/Dx5jXtG71ZjL1Byy8OPCO3WBK2zz/Yfqt63k0IP NKmFOOnXKbxbHecyFNs8xL5nxhTIoRxHzjksKTR3F0Xppff5R1Rsv30MghSb459ASFlpqmb vRXmIeKcd81KiYF8sT2HarHQFgpDfWHG3YnxCUXTU66BaIDYq57dgpqxG8/g== Received: from 02c22a36bd31 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 31F6C68F66C for ; Tue, 28 Oct 2025 23:58:03 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Oct 2025 21:58:02 -0000 Message-ID: <176168868334.81.16644710969176468806@7d278768979e> Message-ID-Hash: HLNIKF2HFLQDEQACGAPFOUBCH2ORHZPC X-Message-ID-Hash: HLNIKF2HFLQDEQACGAPFOUBCH2ORHZPC 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] avcodec/vc1_parser: Mark EOS packets with AV_PKT_FLAG_DISCARD (PR #20781) 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: arch1t3cht via ffmpeg-devel Cc: arch1t3cht Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20781 opened by arch1t3cht URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20781 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20781.patch These packets do not contain frames, so marking them with `AV_PKT_FLAG_DISCARD` helps applications compute correct frame counts. Unfortunately (as far as I can tell) this requires changing public API through `AVCodecParserContext` - if this is a problem and/or there is a better way to do this, please let me know. >>From d50460e53d4aa2f82e45fdd3a5da11281c2d4321 Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Tue, 28 Oct 2025 22:46:08 +0100 Subject: [PATCH 1/2] avcodec: Add discard flag to AVCodecParserContext Enable parsers to set AV_PKT_FLAG_DISCARD flags on packets, just like they can set AV_PKT_FLAG_KEY via the key_frame field. --- doc/APIchanges | 3 +++ libavcodec/avcodec.h | 6 ++++++ libavformat/demux.c | 3 +++ 3 files changed, 12 insertions(+) diff --git a/doc/APIchanges b/doc/APIchanges index 9086093149..b1283ea3de 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2025-03-28 API changes, most recent first: +2025-10-xx - xxxxxxxxxx - lavc 62.16.100 - avcodec.h + Add discard to AVCodecParserContext + 2025-10-xx - xxxxxxxxxx - lavu 60.16.100 - pixfmt.h Add AVCOL_TRC_EXT_BASE and AVCOL_TRC_L_LOG. diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 83a4e56e22..3110513022 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2729,6 +2729,12 @@ typedef struct AVCodecParserContext { * one returned by a decoder. */ int format; + + /** + * Set to 1 for packets that will be dropped after decoding, + * see AV_PKT_FLAG_DISCARD. + */ + int discard; } AVCodecParserContext; typedef struct AVCodecParser { diff --git a/libavformat/demux.c b/libavformat/demux.c index 934eb80553..18392df795 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -1275,6 +1275,9 @@ static int parse_packet(AVFormatContext *s, AVPacket *pkt, if (sti->parser->key_frame == -1 && sti->parser->pict_type ==AV_PICTURE_TYPE_NONE && (pkt->flags&AV_PKT_FLAG_KEY)) out_pkt->flags |= AV_PKT_FLAG_KEY; + if (sti->parser->discard) + out_pkt->flags |= AV_PKT_FLAG_DISCARD; + compute_pkt_fields(s, st, sti->parser, out_pkt, next_dts, next_pts); ret = avpriv_packet_list_put(&fci->parse_queue, -- 2.49.1 >>From 7d04d351f9e5afc3c31c0424cf1f8ce051a2aa38 Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Tue, 28 Oct 2025 22:47:41 +0100 Subject: [PATCH 2/2] avcodec/vc1_parser: Set discard for EOS packets --- libavcodec/vc1_parser.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/vc1_parser.c b/libavcodec/vc1_parser.c index 124a7a771f..245eaa2b27 100644 --- a/libavcodec/vc1_parser.c +++ b/libavcodec/vc1_parser.c @@ -147,6 +147,10 @@ static int vc1_parse(AVCodecParserContext *s, vc1_extract_header(s, avctx, unesc_buffer, unesc_index); next = 0; } + + if (buf_size == 4 && AV_RB32(buf) == VC1_CODE_ENDOFSEQ) + s->discard = 1; + while (i < buf_size) { uint8_t b; start_code_found = 0; -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org