From patchwork Mon May 3 13:31:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 27573 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a10:399:0:0:0:0 with SMTP id 25csp257206pxh; Mon, 3 May 2021 06:32:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy2CDB5GDI4j2lHxnMDS0XvRWWNc/h+CwdDM/xeYN+cjbhU7ovGp8mY6UrGpQ8yWxxmRYN9 X-Received: by 2002:aa7:c495:: with SMTP id m21mr7035753edq.123.1620048762414; Mon, 03 May 2021 06:32:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620048762; cv=none; d=google.com; s=arc-20160816; b=Oze8v/WMkWbTk2qDakY4c0e+x6AbjH12fB0DZfzD5C60x3f/P2XIxL3EkI+GvjvgBX 55TdedZtHIikZglOS61X95r8gGC7AV8JzXHwIG9CEIROipKjfx1UaaxqhyUeG7C5QU6R A7+2p1PFiTVfr538Rn57lYwmkxFGK+DHCKt1QaogZ06YX1bqW8IeFkZlZ+eMc/18IqN8 /upzEqe7gXaVUu4ZqxOhY7yqy1Pl4Ff0fPgHGTRxQYRsjXkZpUFwtA3YuSE8/b4yHaWh nPeTcgk3nS45t6/hxpqC6e4oOXdPILTyWe0Lh3btfMnL0wC9hXgccar2H4whSWIhJczQ EskA== 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=dY7WRwFN2bJSuv874AihJ/NaRKmDJWznbdWWePAb0tc=; b=DQ3RiP/rRhKEhmHb9A7gJhV/34/KT8WXlY/bwVW6NjuL0bx7yQn+nlVHXMlZ5BJz+i qTo7SLqNOtvFaA5zyY1+cKVS6GR/Q97JUNhIw/5NnhqvlAbe+XoT4/E0ZmVtbJEXUT5I ruV5sToszbtKXW4gJd5dxrIZQV6D+sw2dluCNn8s4Hksjct/wDMVhdYlzvWFM4mZlsdr 0r3YhcoS15Gu6+wKtkNRiJFWDwGKxTfQhpgBOvlq6GKiCS9WRVprBlRw11oh18mqlgrX iLjjR+V5CH0aBe8T62LrGFpZqZYgCUe6miTvfuj5lJZdHyNGjY5HklVXyZHNeS8rPpgp RVvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=QQczcddR; 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 q6si11428752ejn.673.2021.05.03.06.32.42; Mon, 03 May 2021 06:32:42 -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=QQczcddR; 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 C29B2687FB5; Mon, 3 May 2021 16:32:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 344346809AE for ; Mon, 3 May 2021 16:32:24 +0300 (EEST) Received: by mail-qt1-f169.google.com with SMTP id f12so3615698qtf.2 for ; Mon, 03 May 2021 06:32:24 -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=20/SX9bqvN0zbpRJX9l/Fca7iYBI78xjkNqVTghFHu4=; b=QQczcddRL0pyWwe30h/2P8OUlrL823kwcfYwy5kRYrTR9iYgk5KBlrGdxbnq8e33La ahoDxrri8IEJ3lXMCvOqOl7D7r8BPdSXSg/jtkD0eFEuVgZ7hn8qXssh52T356s1TZ6Z o23zBqgfznJj69KAb9uKLik3+3eWYuaitj6tckEu5hDmekK8H0jSfErlP6h8aRVPeaZ5 z0wcfRqA540ZgPrGwyr3hTv4Jo8Pd1ucKd+XDSzB3ygglVkWt6k2omVFZ1p2gF+Xl2pD Hb5TeVYIOvAbfe8qLqLoLKb+lAR/X6sM5c4581Yg7yJNeGJxbrjmHvaBq9Obk1iMYLD9 lpcQ== 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=20/SX9bqvN0zbpRJX9l/Fca7iYBI78xjkNqVTghFHu4=; b=RzheyevN3bWtot9mtJGQ/85tYgjKKF+tCV1xCtToEJcmD8ZtW/7xzwbAOLCMZ75SkU mZOItrntAwuM3X+KwUQGY5Dbwyo+K3bgbP47Y7DWO8sgvWgOvb+xPMLZrX73CnZ7Hc6K 7dCyyHF01d0GXSAWp5L4/F3BirXfBbndfci3hIQd+F77Zwpo0smLaNkaaKd4i4kX705z 7FctAG+FWLIbjNkiL6AB2tqJFfJMK6wWstZi87Esdud/2xzt43XSSQ05mWvHPPs1LF/v V+WC1NImWzVPI0REUm4PvbGdYQgM1YUrrcj/hZl6qAV0psItSDZUaXrd8USJlpjg9YZ4 HgNA== X-Gm-Message-State: AOAM5328SfXCfiPGxG8V6QAoDupO9AHBTSHpEQXaV+/9GNQXnUmGgjFE BaGNaL89E+xbYxn5pcvyKuezCiy6HVI= X-Received: by 2002:a05:622a:1353:: with SMTP id w19mr16953488qtk.220.1620048742417; Mon, 03 May 2021 06:32:22 -0700 (PDT) Received: from localhost.localdomain ([191.83.208.172]) by smtp.gmail.com with ESMTPSA id 189sm5751929qkh.99.2021.05.03.06.32.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 May 2021 06:32:22 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 May 2021 10:31:57 -0300 Message-Id: <20210503133200.1434-2-jamrial@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210503133200.1434-1-jamrial@gmail.com> References: <20210503133200.1434-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] avformat: move AVStream.probe_packets to AVStreamInternal 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: yM3nZtV67clq It's a private fields, no reason to have it exposed in a public header. Signed-off-by: James Almer --- libavformat/avformat.h | 5 ----- libavformat/internal.h | 5 +++++ libavformat/mpegts.c | 2 +- libavformat/sbgdec.c | 2 +- libavformat/tedcaptionsdec.c | 2 +- libavformat/utils.c | 16 ++++++++-------- libavformat/wavdec.c | 2 +- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index e62c6d1567..d796f02094 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1003,11 +1003,6 @@ typedef struct AVStream { int64_t first_dts; int64_t cur_dts; - /** - * Number of packets to buffer for codec probing - */ - int probe_packets; - /** * Number of frames that have been demuxed during avformat_find_stream_info() */ diff --git a/libavformat/internal.h b/libavformat/internal.h index 10d8f8dfeb..6af38720c8 100644 --- a/libavformat/internal.h +++ b/libavformat/internal.h @@ -368,6 +368,11 @@ struct AVStreamInternal { int64_t last_IP_pts; int last_IP_duration; + + /** + * Number of packets to buffer for codec probing + */ + int probe_packets; }; #ifdef __GNUC__ diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 9092dbce72..0ed108ce89 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -954,7 +954,7 @@ static int mpegts_set_stream_info(AVStream *st, PESContext *pes, } if ((st->codecpar->codec_id == AV_CODEC_ID_NONE || (st->internal->request_probe > 0 && st->internal->request_probe < AVPROBE_SCORE_STREAM_RETRY / 5)) && - st->probe_packets > 0 && + st->internal->probe_packets > 0 && stream_type == STREAM_TYPE_PRIVATE_DATA) { st->codecpar->codec_type = AVMEDIA_TYPE_DATA; st->codecpar->codec_id = AV_CODEC_ID_BIN_DATA; diff --git a/libavformat/sbgdec.c b/libavformat/sbgdec.c index bc9945dfd4..7b9ada569e 100644 --- a/libavformat/sbgdec.c +++ b/libavformat/sbgdec.c @@ -1438,7 +1438,7 @@ static av_cold int sbg_read_header(AVFormatContext *avf) st->codecpar->sample_rate = sbg->sample_rate; st->codecpar->frame_size = sbg->frame_size; avpriv_set_pts_info(st, 64, 1, st->codecpar->sample_rate); - st->probe_packets = 0; + st->internal->probe_packets = 0; st->start_time = av_rescale(script.start_ts, sbg->sample_rate, AV_TIME_BASE); st->duration = script.end_ts == AV_NOPTS_VALUE ? AV_NOPTS_VALUE : diff --git a/libavformat/tedcaptionsdec.c b/libavformat/tedcaptionsdec.c index 94e8432c53..6e87ef66e9 100644 --- a/libavformat/tedcaptionsdec.c +++ b/libavformat/tedcaptionsdec.c @@ -299,7 +299,7 @@ static av_cold int tedcaptions_read_header(AVFormatContext *avf) st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; st->codecpar->codec_id = AV_CODEC_ID_TEXT; avpriv_set_pts_info(st, 64, 1, 1000); - st->probe_packets = 0; + st->internal->probe_packets = 0; st->start_time = 0; st->duration = last->pts + last->duration; st->cur_dts = 0; diff --git a/libavformat/utils.c b/libavformat/utils.c index b5b0995f32..df6d9b5cf6 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -334,7 +334,7 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st, int i; av_log(s, AV_LOG_DEBUG, "Probe with size=%d, packets=%d detected %s with score=%d\n", - pd->buf_size, s->max_probe_packets - st->probe_packets, + pd->buf_size, s->max_probe_packets - st->internal->probe_packets, fmt->name, score); for (i = 0; fmt_id_type[i].name; i++) { if (!strcmp(fmt->name, fmt_id_type[i].name)) { @@ -648,8 +648,8 @@ static int probe_codec(AVFormatContext *s, AVStream *st, const AVPacket *pkt) if (st->internal->request_probe>0) { AVProbeData *pd = &st->internal->probe_data; int end; - av_log(s, AV_LOG_DEBUG, "probing stream %d pp:%d\n", st->index, st->probe_packets); - --st->probe_packets; + av_log(s, AV_LOG_DEBUG, "probing stream %d pp:%d\n", st->index, st->internal->probe_packets); + --st->internal->probe_packets; if (pkt) { uint8_t *new_buf = av_realloc(pd->buf, pd->buf_size+pkt->size+AVPROBE_PADDING_SIZE); @@ -665,7 +665,7 @@ static int probe_codec(AVFormatContext *s, AVStream *st, const AVPacket *pkt) memset(pd->buf + pd->buf_size, 0, AVPROBE_PADDING_SIZE); } else { no_packet: - st->probe_packets = 0; + st->internal->probe_packets = 0; if (!pd->buf_size) { av_log(s, AV_LOG_WARNING, "nothing to probe for stream %d\n", st->index); @@ -673,7 +673,7 @@ no_packet: } end= s->internal->raw_packet_buffer_remaining_size <= 0 - || st->probe_packets<= 0; + || st->internal->probe_packets<= 0; if (end || av_log2(pd->buf_size) != av_log2(pd->buf_size - pkt->size)) { int score = set_codec_from_probe_data(s, st, pd); @@ -804,7 +804,7 @@ FF_ENABLE_DEPRECATION_WARNINGS return err; for (i = 0; i < s->nb_streams; i++) { st = s->streams[i]; - if (st->probe_packets || st->internal->request_probe > 0) + if (st->internal->probe_packets || st->internal->request_probe > 0) if ((err = probe_codec(s, st, NULL)) < 0) return err; av_assert0(st->internal->request_probe <= 0); @@ -1831,7 +1831,7 @@ void ff_read_frame_flush(AVFormatContext *s) /* We set the current DTS to an unspecified origin. */ st->cur_dts = AV_NOPTS_VALUE; - st->probe_packets = s->max_probe_packets; + st->internal->probe_packets = s->max_probe_packets; for (j = 0; j < MAX_REORDER_DELAY + 1; j++) st->internal->pts_buffer[j] = AV_NOPTS_VALUE; @@ -4419,7 +4419,7 @@ AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c) st->start_time = AV_NOPTS_VALUE; st->duration = AV_NOPTS_VALUE; st->first_dts = AV_NOPTS_VALUE; - st->probe_packets = s->max_probe_packets; + 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; diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c index 0c8b8bf85d..8e2a7a7475 100644 --- a/libavformat/wavdec.c +++ b/libavformat/wavdec.c @@ -167,7 +167,7 @@ static void handle_stream_probing(AVStream *st) { if (st->codecpar->codec_id == AV_CODEC_ID_PCM_S16LE) { st->internal->request_probe = AVPROBE_SCORE_EXTENSION; - st->probe_packets = FFMIN(st->probe_packets, 32); + st->internal->probe_packets = FFMIN(st->internal->probe_packets, 32); } }