From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 5CDFF49295
	for <ffmpegdev@gitmailbox.com>; Mon, 28 Apr 2025 22:02:47 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 965B268A953;
	Tue, 29 Apr 2025 01:02:43 +0300 (EEST)
Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com
 [209.85.214.182])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A23D1687D0D
 for <ffmpeg-devel@ffmpeg.org>; Tue, 29 Apr 2025 01:02:36 +0300 (EEST)
Received: by mail-pl1-f182.google.com with SMTP id
 d9443c01a7336-227cf12df27so51029135ad.0
 for <ffmpeg-devel@ffmpeg.org>; Mon, 28 Apr 2025 15:02:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745877754; x=1746482554; darn=ffmpeg.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=QmYnAlIovIMCDqtice3u93ouXqWOzSQx5rfYfT9cD4A=;
 b=agA7DKZu012BWapXGjXiERufzgH5EJQA6XV8pXO+vHZnXkepC+cCfROt5H7VPTkdu9
 eUelxRvh6+0vaRsEr/57nWo0jQuOmXSBFyEajpIRtKbMCmb176LUl8UZeMbHwn/couri
 /HxBTcv/w/CZIronFgEJbW4v4CkfUBJ9ldFFTEcoGDvrgHczUc8N4OcjTX44cB033X76
 2u5RUse93z4C5dyKJQHPVW7MiXzvQKwIisTcjIrIbNIaxIaPlmAlxXiW3Yq8gW8BOH4h
 qo95APu565t1HSdf8U2H6HP/4/BddWXfVzjLdGt/BR+VAPOaXOVvvT6foLTwflzz3+ti
 sPog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745877754; x=1746482554;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=QmYnAlIovIMCDqtice3u93ouXqWOzSQx5rfYfT9cD4A=;
 b=PV+YHhF5ZVY8X2iSW0IT2DMi2XGN3iJJXCXKXUTuCdBrrfW0XRxtnv5PFE5sfY9sKQ
 wLAEoNUphSj0fiuTTThviyH0LLiiEP3V+SnSI473/KVI6d89hYzAtwH7Py+ApL3qM9oH
 DCYzqQw89jgzBlDk9aJEX64ool7cAocjjZ58jkkfDm53MLiLN3SdHXCYcec27GBIxSGG
 uwDcUOAby8XQ8qumeYvMQ/u7s5gstmN0OgJyujuHadt3UO/sR7gV8yFLSbe+mJtSq0dx
 y2oUwTys4plLZ21ohcDovRSa7KWAmg65qEqNysNgFXMWnSg+ESUz1W39uzOKIaFYHJg4
 DA9g==
X-Gm-Message-State: AOJu0YxVP6SKBp0g0n0DrLUjB95QMJv3pDGxUtWY7G7rLRUE1OauZRmK
 MgBrCdRnkMFynIYXumnML/KxewFW1KTmw9sE8TRopM20sCWzjiEcrLWATg==
X-Gm-Gg: ASbGncs5nM64mZ4Ti0ZkUCcNsWkOubnQmTHpogKksEceldglY+P7RgsZH1pMtrEkRiT
 zg4qmrk8dSKQ28BFQIrhLgM+EFclRfs6Pjwfj3KuaWevYTiBG+GPoc8A/NzhHsZqKW1b4NKjhP2
 Ofm7UOuAUTy71oxGzh6b8xzNiJ9EBWrQLzChr0G7NYsy1tR+3GMB23iNqO6K0NRLlhma/PzEliF
 L5GSY4AeGmAUlrGUNt7nHC5dW8BXPRq6Jal5ydmRqd2bAJXj4ShgEU3+vpyBP+ffpWb1XKzzG3o
 JsGMRQHkBW7GdG0rSBZ9yr/WZJNI9IsTg90mRvFlkj24AF4ue3f7D/ia6eE=
X-Google-Smtp-Source: AGHT+IGBKUdV1mMb2xZIOtQzGCMc9g2aURad9ouwlH96hgOPYC8dmCSai4Iy8hfWqi+vsASyeiI0Cw==
X-Received: by 2002:a17:903:1c2:b0:21a:7e04:7021 with SMTP id
 d9443c01a7336-22de6c68648mr9282245ad.24.1745877754094; 
 Mon, 28 Apr 2025 15:02:34 -0700 (PDT)
Received: from localhost.localdomain ([2800:2121:b000:82e:61db:3ac3:cf5:ade0])
 by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-22db50e7741sm88064005ad.156.2025.04.28.15.02.32
 for <ffmpeg-devel@ffmpeg.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 28 Apr 2025 15:02:33 -0700 (PDT)
From: James Almer <jamrial@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Date: Mon, 28 Apr 2025 19:02:07 -0300
Message-ID: <20250428220207.1624-1-jamrial@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH] avformat/av1dec: fix setting AVPacket->pos
 in Annex-B demuxer
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250428220207.1624-1-jamrial@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

This demuxers reads encapsulation bytes before reading codec data into the
output packets, so take such offset into consideration.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/av1dec.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c
index 8c0b8fe975..38001b124f 100644
--- a/libavformat/av1dec.c
+++ b/libavformat/av1dec.c
@@ -36,6 +36,7 @@ typedef struct AV1DemuxContext {
     AVRational framerate;
     uint32_t temporal_unit_size;
     uint32_t frame_unit_size;
+    int64_t pos;
 } AV1DemuxContext;
 
 //return < 0 if we need more data
@@ -96,6 +97,8 @@ static int av1_read_header(AVFormatContext *s)
     if (ret < 0)
         return ret;
 
+    c->pos = avio_tell(s->pb);
+
     return 0;
 }
 
@@ -224,6 +227,7 @@ static int annexb_read_packet(AVFormatContext *s, AVPacket *pkt)
 {
     AV1DemuxContext *const c = s->priv_data;
     uint32_t obu_unit_size;
+    int64_t pos = c->pos;
     int ret, len;
 
 retry:
@@ -234,6 +238,7 @@ retry:
     }
 
     if (!c->temporal_unit_size) {
+        c->pos = avio_tell(s->pb);
         len = leb(s->pb, &c->temporal_unit_size, 1);
         if (len == AVERROR_EOF) goto end;
         else if (len < 0) return len;
@@ -279,6 +284,9 @@ end:
     if (ret == AVERROR(EAGAIN))
         goto retry;
 
+    if (!ret)
+        pkt->pos = pos;
+
     return ret;
 }
 
-- 
2.49.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".