From patchwork Wed Jun 9 18:07:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 28187 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5e:c91a:0:0:0:0:0 with SMTP id z26csp1058348iol; Wed, 9 Jun 2021 11:08:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYSeH5hIdTbliASbwaNR3vMfndoWb17NO1ZwSfVyN7Ukn6EwQ1zjlWbKhYen5Ca6jJc5sO X-Received: by 2002:aa7:da94:: with SMTP id q20mr685579eds.310.1623262105326; Wed, 09 Jun 2021 11:08:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623262105; cv=none; d=google.com; s=arc-20160816; b=O+4r10Xll1o94gM+/z+2G+D9FqOAGamT6M6ttr22+2BMao3czwgotk0oFeXtPJ6/Lp eiop+lEKMqpfisGEAVVNkab50KuHbHGB+eI0qsH3YfjGEDAH47myPCBf60BR7ik22w/Q NbWQvjFw/+Epw8aLUfnHipRNoghQQDSeYi7i2+K6yTQZjNgiOZTCx6k5tuHRO/NG5lKq SyRKoRCGsoj0V3KT/UROOcWnTWKZnmAqfZvldeq6aA9J1agDMN7f4wOl/+k/hh6USptq 1avy3i4Quqrg3IiKno1hOeXiv1nQdDoOn6A853m7jvHws12UFuXrF+Qc/RPn1ZAY/52e vSYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=hGSlJD/4LHw9Htd4nWith4VlbN9HbnTwW5yEbQlCCkQ=; b=YlVjHk1fNh2xLdyYIGaYwyrewfCo6kbaTUVv/RXgD8f+gfogafl+PnH49r2EzCc/tl LpjeF1P9g8Iw3VHTi5qlGuI7wR8Cb3OmVg/C15xAxclDhnXvX6ef2TXXGIWsYcC33TNL e5T/i18BBo8+O6JM+F94rLqRFNIz/oT1XnpeJ3fUnjIbV6iivL7abhiMJ8DmfEUMVjmW facjIaTaAfQTZzSI90kV38pr6By0Svt1FcOXfga0b1fk/4AB47YyyxmWBqnz9h1Ms2et 9BXHPgLXj7VPejXddtTyM6PEw/NY72Xmi3nqWo1i3JveajkqsfxmBhHnUBHgAO7Y7jzq reRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=VO1SA8kS; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id bh4si454985ejb.358.2021.06.09.11.08.05; Wed, 09 Jun 2021 11:08:25 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=VO1SA8kS; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9DF57687EBB; Wed, 9 Jun 2021 21:08:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B65116805BE for ; Wed, 9 Jun 2021 21:07:56 +0300 (EEST) Received: by mail-qk1-f181.google.com with SMTP id j189so24638064qkf.2 for ; Wed, 09 Jun 2021 11:07:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=BJa4dAjLMHlTgf66+rrqCfOKabq6GLTf6vZHhR2Vrbs=; b=VO1SA8kSGRJvTcqdryFzQ6dvCsS6x8P/QvvAGYmeOBGjhnqg+eSNnAmmWYVLKPC7YW lbHBp0QezvrqXH6CvhS0rwef4RjQXvCsSeXt6SPpvK9HNUTKiJ7BfEckEpu8zt3xXnyG f5U2cRivk5/lxAijyHUwME00ytXb2C7xfO0iiDIvJ00+WKtAIA0BR4xOkGJD/k6TVhNW CBkjvrlvYxV09nfQ2QTUAcRzRmVDA+fgdBnyLetqtfxwBE2h1m3RZzG6+g9Qj4NRv0sj WbbmfPl4gQdcIZxGhurd8Ojh5Zgz1SysaAj0se+3jwatrasj0PRJtYPcaaTAj/0VThxu Xxyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=BJa4dAjLMHlTgf66+rrqCfOKabq6GLTf6vZHhR2Vrbs=; b=bd68mbogZO84lr/bTfbyTSDPPKH8lR2mEE4rtfRAmK7D9eSFDfqREwvNZfO2CFdSMi cq4lf9z3CvyRPdeNJdmJPmDoHGtBuXfBcX8Fl1hgLuSF103pcWmkn5HvHaxHUyrlAfcb HvFgK/iVGd+xDeiAj0xHxGBCd2N8uUSqscrI9SPLgJn/J973xOUPqnR4jUd7l2h47paX i3RIFt4TpFFUaYyVUQtbpkXunpaUrVdVWaPINhoKsUKpWW6jxe/vn6DyO+K0PQog0BJQ CZYAj073Vj+67ZzsJvtWvE4+NOhBCm+/uo9817VC/aNn6GB3n+UT3cbeUrWYXU1jmJDo uv5g== X-Gm-Message-State: AOAM532Bqbtk+t8K7SAA84FxeO+z8n3yxpm5KaIYJ+MJyrqkZgYsIWtj gjZaLH46nt3GKzflc4LlP/kXczm/JOv7GA== X-Received: by 2002:a05:620a:404e:: with SMTP id i14mr883349qko.348.1623262075103; Wed, 09 Jun 2021 11:07:55 -0700 (PDT) Received: from localhost.localdomain ([191.84.230.84]) by smtp.gmail.com with ESMTPSA id i11sm525074qtq.58.2021.06.09.11.07.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:07:54 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 9 Jun 2021 15:07:41 -0300 Message-Id: <20210609180741.4621-1-jamrial@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat: make AVStream.pts_wrap_bits public X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 83gNPUVdqVB7 It can be useful to library users, and is currently being used by ffmpeg.c Suggested-by: Hendrik Leppkes Signed-off-by: James Almer --- doc/APIchanges | 3 +++ libavformat/avformat.h | 17 +++++++---------- libavformat/version.h | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index c46f4d5304..1b25bddd43 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2021-06-09 - xxxxxxxxxx - lavf 59.3.100 - avformat.h + Add pts_wrap_bits to AVStream + 2021-04-27 - cb3ac722f4 - lavc 59.0.100 - avcodec.h Constified AVCodecParserContext.parser. diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 094683f12a..0d12d5b0d2 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -980,17 +980,14 @@ typedef struct AVStream { */ AVCodecParameters *codecpar; - /***************************************************************** - * All fields below this line are not part of the public API. They - * may not be used outside of libavformat and can be changed and - * removed at will. - * Internal note: be aware that physically removing these fields - * will break ABI. Replace removed fields with dummy fields, and - * add new fields to AVStreamInternal. - ***************************************************************** + /** + * Number of bits in pts. Used for wrapping control. + * + * - demuxing: set by libavformat + * - muxing: set by libavformat + * */ - - int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ + int pts_wrap_bits; /** * An opaque field for libavformat internal usage. diff --git a/libavformat/version.h b/libavformat/version.h index ecea39d59c..7f02e18f24 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -32,8 +32,8 @@ // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 59 -#define LIBAVFORMAT_VERSION_MINOR 2 -#define LIBAVFORMAT_VERSION_MICRO 102 +#define LIBAVFORMAT_VERSION_MINOR 3 +#define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ From patchwork Wed Jun 9 18:16:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 28188 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5e:c91a:0:0:0:0:0 with SMTP id z26csp1065617iol; Wed, 9 Jun 2021 11:18:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyOfWnzx43Nl4H1wt41+Js8YiLll3koueUDvJaHAXgE+G2voYjKWvno6wd5McNj07vWIduc X-Received: by 2002:a17:906:560c:: with SMTP id f12mr1032899ejq.503.1623262694947; Wed, 09 Jun 2021 11:18:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623262694; cv=none; d=google.com; s=arc-20160816; b=QPWtXL9J8YoUrTI+YQk3t/D/tmOo6l1CJSHmeJisKrMpXuncu4e8bjr1XhYBwMrKqO JOURUU0vC1HX0DHdpNoPROa/EGuWZCqxMVuQv8o+W+qRxLClao49mfzFYezvZjhRBYQ1 oOdnORiO6IwwiqbPoFQFzau6PlUeEwz91sd7tBTziyF4YDo9J+GQc77bIOIBZNu9VfdG dMQRwjW3m/O0LE+Pc7RqzCLyq66bTAgyEirmSEtWT9bGo2szjgm/VJgw0qkbzmRmYwUg RnCS80xSuhsiSYoS+SR/aXZ0bPRHPzfd1VqA4sSYsGZHkQLtrBfY0HZAg51kmMSpCcBD ybhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=ZCpVZhlZX3tGUYZFZgNH0Ib1eGCKfLtso9rg7cBYV/w=; b=pIxg3yT70MZ+AsKGQGWeR+xqnuCANx9kU2fXa5aafl2uYCKep0r5wofOQOw4AWowDH J5655CXIRrcEhaDRrbWpfKrESVVpMVC6ffgjnrt3TT62M1TEEbufqMZq+vIF6E+e0jMO tZg6/vFdU3ERyNQQsx5xNnD0HiXXPZOTzOOmQCFqvj209+zSfTJ6JLAGzMpjpQxId+QU W/zkvdFEKYy/1+c4EWeQK/zHvz2UHcDjbeGIagMAAvO38JsB3vQRwhbv3fIeyF+NdJ82 fDqZt1KioVXfsTKhVaowhByi6JsOv8C9SXecx2+Wib0lIqrRz8A9CwMHB4bd5UVMptI+ 7AzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=rvUNRhVl; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a19si332854edy.189.2021.06.09.11.17.51; Wed, 09 Jun 2021 11:18:14 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=rvUNRhVl; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9D4506806B0; Wed, 9 Jun 2021 21:17:48 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f52.google.com (mail-qv1-f52.google.com [209.85.219.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CD2BC6806B0 for ; Wed, 9 Jun 2021 21:17:41 +0300 (EEST) Received: by mail-qv1-f52.google.com with SMTP id c10so10572428qvo.9 for ; Wed, 09 Jun 2021 11:17:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=6xkvqejGi11PI04HDEJy8LpLh/iWfhbRUZwjAUrZuJY=; b=rvUNRhVlTh2jWFvUbdRlqN+qLHPhUFZEKl1mJJn9+R3LTSkc+c+vs8rst7mrlu6KJo m0JzvklurZmhe2l/iTW5HA7WIvSjuXbN0MgPRANjGxA2wRH9i1BQr+f3NEnNJMF6aEDn K9AwEzR+K2UNuDh2hIb//UkXUUQ3blgJETnRMWtlLT3vmLDKV4w6OT22b0CGR7GTaJWr hmxYpK9go7Z/XQRWYgKuZOuoBDfY7VgFPmTirOa1nkUxHa1/LYQl5Q0K2OeQVufUOTMB PCIJ89LCevfaeRrUQ0d9szl7L+yjHaaoGkgMUSVTtN15T6Ftb0+3J9gW0SWRaxzGNS60 DKJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6xkvqejGi11PI04HDEJy8LpLh/iWfhbRUZwjAUrZuJY=; b=WKSx+ijNI82zvy78pCJYCUyoU+c9O6O0O8o5E0DqAsfc8V4fZm+dzUBiV/y8rtHm5w jLNcG0dyk4w1BbnbkB/B1a1Lk1gmwbmtxtW+Ts/aKV63KmZ/rK44tfeBFzgMmLG++IzZ LM26RialO0cTbguZKO2T9KZafMydxKH0clw38EFstoRUQsRhL3VJeVoCuqn8bV0Q75J+ v4snbeIYm5l8olA4GTInHpu322FhnneD8T7F/c7r31wU68qt9wy/niB7cqCk2cM8NSpm x4B9vvJlvq6woiWeg5pFPy5I/7HT1ZQNNvyPtyjigXxWdWj0piqxiq1/WTIWKBWanzA9 ICkA== X-Gm-Message-State: AOAM532QxenkRSubMg3flaytegZPoHWjfxzxaKBJtsxdVEV5IEyyLmTh zNyrJelOLsj1mNy+0Vmh5YPLA3EBKaKQrw== X-Received: by 2002:ad4:4863:: with SMTP id u3mr1144501qvy.7.1623262660230; Wed, 09 Jun 2021 11:17:40 -0700 (PDT) Received: from localhost.localdomain ([191.84.230.84]) by smtp.gmail.com with ESMTPSA id b2sm621871qke.63.2021.06.09.11.17.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:17:39 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 9 Jun 2021 15:16:43 -0300 Message-Id: <20210609181643.4689-1-jamrial@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210609180741.4621-1-jamrial@gmail.com> References: <20210609180741.4621-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat: deprecate AV_PTS_WRAP_* defines X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: YJbSh5jogf/G They are internal and have no reason to exist in a public header, so rename and move them to internal.h Signed-off-by: James Almer --- doc/APIchanges | 3 +++ libavformat/avformat.h | 11 +++++------ libavformat/internal.h | 9 ++++++++- libavformat/utils.c | 14 +++++++------- libavformat/version.h | 5 ++++- 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 1b25bddd43..b2f1429bc1 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2021-06-09 - xxxxxxxxxx - lavf 59.3.101 - avformat.h + Deprecated AV_PTS_WRAP_*. + 2021-06-09 - xxxxxxxxxx - lavf 59.3.100 - avformat.h Add pts_wrap_bits to AVStream diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 0d12d5b0d2..adc99d7308 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -817,12 +817,11 @@ typedef struct AVStreamInternal AVStreamInternal; #define AV_DISPOSITION_DEPENDENT 0x80000 ///< dependent audio stream (mix_type=0 in mpegts) #define AV_DISPOSITION_STILL_IMAGE 0x100000 ///< still images in video stream (still_picture_flag=1 in mpegts) -/** - * Options for behavior on timestamp wrap detection. - */ -#define AV_PTS_WRAP_IGNORE 0 ///< ignore the wrap -#define AV_PTS_WRAP_ADD_OFFSET 1 ///< add the format specific offset on wrap detection -#define AV_PTS_WRAP_SUB_OFFSET -1 ///< subtract the format specific offset on wrap detection +#if FF_API_PTS_WRAP +#define AV_PTS_WRAP_IGNORE 0 +#define AV_PTS_WRAP_ADD_OFFSET 1 +#define AV_PTS_WRAP_SUB_OFFSET -1 +#endif /** * Stream structure. diff --git a/libavformat/internal.h b/libavformat/internal.h index fee70e8e3d..7634b64124 100644 --- a/libavformat/internal.h +++ b/libavformat/internal.h @@ -167,6 +167,13 @@ struct AVFormatInternal { int chapter_ids_monotonic; }; +/** + * Options for behavior on timestamp wrap detection. + */ +#define FF_PTS_WRAP_IGNORE 0 ///< ignore the wrap +#define FF_PTS_WRAP_ADD_OFFSET 1 ///< add the format specific offset on wrap detection +#define FF_PTS_WRAP_SUB_OFFSET -1 ///< subtract the format specific offset on wrap detection + struct AVStreamInternal { /** * Set to 1 if the codec allows reordering, so pts can be different @@ -316,7 +323,7 @@ struct AVStreamInternal { /** * Options for behavior, when a wrap is detected. * - * Defined by AV_PTS_WRAP_ values. + * Defined by FF_PTS_WRAP_ values. * * If correction is enabled, there are two possibilities: * If the first time stamp is near the wrap point, the wrap offset diff --git a/libavformat/utils.c b/libavformat/utils.c index 5582d108d0..2c2efd45d2 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -101,12 +101,12 @@ static int is_relative(int64_t ts) { */ static int64_t wrap_timestamp(const AVStream *st, int64_t timestamp) { - if (st->internal->pts_wrap_behavior != AV_PTS_WRAP_IGNORE && st->pts_wrap_bits < 64 && + if (st->internal->pts_wrap_behavior != FF_PTS_WRAP_IGNORE && st->pts_wrap_bits < 64 && st->internal->pts_wrap_reference != AV_NOPTS_VALUE && timestamp != AV_NOPTS_VALUE) { - if (st->internal->pts_wrap_behavior == AV_PTS_WRAP_ADD_OFFSET && + if (st->internal->pts_wrap_behavior == FF_PTS_WRAP_ADD_OFFSET && timestamp < st->internal->pts_wrap_reference) return timestamp + (1ULL << st->pts_wrap_bits); - else if (st->internal->pts_wrap_behavior == AV_PTS_WRAP_SUB_OFFSET && + else if (st->internal->pts_wrap_behavior == FF_PTS_WRAP_SUB_OFFSET && timestamp >= st->internal->pts_wrap_reference) return timestamp - (1ULL << st->pts_wrap_bits); } @@ -716,7 +716,7 @@ static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_in // if first time stamp is not more than 1/8 and 60s before the wrap point, subtract rather than add wrap offset pts_wrap_behavior = (ref < (1LL << st->pts_wrap_bits) - (1LL << st->pts_wrap_bits-3)) || (ref < (1LL << st->pts_wrap_bits) - av_rescale(60, st->time_base.den, st->time_base.num)) ? - AV_PTS_WRAP_ADD_OFFSET : AV_PTS_WRAP_SUB_OFFSET; + FF_PTS_WRAP_ADD_OFFSET : FF_PTS_WRAP_SUB_OFFSET; first_program = av_find_program_from_stream(s, NULL, stream_index); @@ -840,7 +840,7 @@ FF_ENABLE_DEPRECATION_WARNINGS st = s->streams[pkt->stream_index]; - if (update_wrap_reference(s, st, pkt->stream_index, pkt) && st->internal->pts_wrap_behavior == AV_PTS_WRAP_SUB_OFFSET) { + if (update_wrap_reference(s, st, pkt->stream_index, pkt) && st->internal->pts_wrap_behavior == FF_PTS_WRAP_SUB_OFFSET) { // correct first time stamps to negative values if (!is_relative(st->internal->first_dts)) st->internal->first_dts = wrap_timestamp(st, st->internal->first_dts); @@ -4425,7 +4425,7 @@ AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c) st->internal->first_dts = AV_NOPTS_VALUE; st->internal->probe_packets = s->max_probe_packets; st->internal->pts_wrap_reference = AV_NOPTS_VALUE; - st->internal->pts_wrap_behavior = AV_PTS_WRAP_IGNORE; + st->internal->pts_wrap_behavior = FF_PTS_WRAP_IGNORE; st->internal->last_IP_pts = AV_NOPTS_VALUE; st->internal->last_dts_for_order_check = AV_NOPTS_VALUE; @@ -4475,7 +4475,7 @@ AVProgram *av_new_program(AVFormatContext *ac, int id) program->pmt_version = -1; program->id = id; program->pts_wrap_reference = AV_NOPTS_VALUE; - program->pts_wrap_behavior = AV_PTS_WRAP_IGNORE; + program->pts_wrap_behavior = FF_PTS_WRAP_IGNORE; program->start_time = program->end_time = AV_NOPTS_VALUE; } diff --git a/libavformat/version.h b/libavformat/version.h index 7f02e18f24..8c07eb89f2 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -33,7 +33,7 @@ // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 59 #define LIBAVFORMAT_VERSION_MINOR 3 -#define LIBAVFORMAT_VERSION_MICRO 100 +#define LIBAVFORMAT_VERSION_MICRO 101 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ @@ -61,6 +61,9 @@ #ifndef FF_API_COMPUTE_PKT_FIELDS2 #define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 60) #endif +#ifndef FF_API_PTS_WRAP +#define FF_API_PTS_WRAP (LIBAVFORMAT_VERSION_MAJOR < 60) +#endif #ifndef FF_API_R_FRAME_RATE