From patchwork Mon Dec 13 01:15:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32368 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a0c:cdc3:0:0:0:0:0 with SMTP id a3csp6863924qvn; Sun, 12 Dec 2021 17:15:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJzpLLEmRUtd7aEmq22BG0Hhiij+mtclXzl5uORbXTpVEomgRz6ZXyKH9yc+6798IzJNZqei X-Received: by 2002:a05:6402:348b:: with SMTP id v11mr60010661edc.276.1639358148070; Sun, 12 Dec 2021 17:15:48 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id sh40si19783260ejc.528.2021.12.12.17.15.47; Sun, 12 Dec 2021 17:15:48 -0800 (PST) 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=@outlook.com header.s=selector1 header.b=lDkPbpxO; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4DD1668AD8B; Mon, 13 Dec 2021 03:15:45 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2100.outbound.protection.outlook.com [40.92.90.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8F6D368A133 for ; Mon, 13 Dec 2021 03:15:38 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BforjaDKQAjeIuJ+51WD+8DFam2rtqWVQgqtXI9w84VeAROSBpctz9e2cupJLIceHBfQj9Vp1QqXFQE7nchfGan/BvyfxPmWROWw1DnqtC/FYz08LbOhRypLqWyl96ZO8DPTWQUjQ+HeAeAIrRuB23SETpUDzvtfCOfQFt7/DsuAxTMtn11A8X5qgehQPAaZEne7vGcxk9IkBZKEDW+DjZ57QvnOV2i8E4CdYFwG/epzmCsxxIf7/WQx9RQTXpsUdljkyd66ZJZEoXw70ya/gn+JUhiggqIDn8RTCS2WmhqryWMNF20TreFkGMy7hS6MLLpwunpqkNYtNrQWLKtW/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sWHzmrwlEnQv00z4bjohMovke3W3APUno8oQZyOfTrA=; b=NhV97nSXuhEkRM/Gdc/2ydIcYePeej3X6X6f/IMg1oKX3gmK9PYq5KJboV6bY7Xo/TefBk0C588cEjtKQXYUB0djVBqGjO6LJF+KEkJfxGl8Af8ClMatFx8Q85Kbk4q0d0/KB5UALegyO/0BHOKyLFS0STjglSzmD+0MZJckp2OBhrDDQYAY73rOb70gShs9zoYkAUkcsc/wWaIXpSCuRWZqAIVP0nSEZm9qpII+jfWyCY5QQcxZ/7as78LCiGfQuXKzGtp9XKHj13EG00F6ABsiVtmZZcQuJWVchOhw+DY0BMHuGS/2+riprghMnSXyiFV92WDpWUYbAFgPxz8CZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sWHzmrwlEnQv00z4bjohMovke3W3APUno8oQZyOfTrA=; b=lDkPbpxOX9R3KQ5ATOZQ64n9lLMwRcr8ywKR18+xIfYH49+W3TvevZpxhL7EqQYej9Ys3Trx9C+TMV24i6BSnSNmo/Ue2kjDZu0A6vpf5BHwEXVeG0mQiqooEjLGM+WBMAP9iHXYczUeuT2SKQxNILoubPczoFgNnzC0+/Vy6NYEvyh9ZsiBsZncTZZ2JEvBfD0WiEPlVq9kX3jMat9H08ZGSwMvUfEdpHbsEts+JZaogc/oKNXQm9VHaANETIcoUOFiB6C/PYMfoL5vglMF3T/jVE0cwsaTQKUI1LUViaAlTMoc0EM2SRpUHFeU1ZUqaQ6UQHF/9E5OZgxXy1qQxA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM5PR0301MB2433.eurprd03.prod.outlook.com (2603:10a6:203:7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.17; Mon, 13 Dec 2021 01:15:36 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Mon, 13 Dec 2021 01:15:36 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 13 Dec 2021 02:15:22 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [O+oRbUNOSXJDM8xiio1jNsuJgWZdjpYz] X-ClientProxiedBy: AS9PR06CA0164.eurprd06.prod.outlook.com (2603:10a6:20b:45c::15) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211213011528.1749871-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0b2adc7c-f7e4-4735-e1ef-08d9bdd6112b X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEvw0jJqV5+qBT8yalQtudcTwkP1sav/dRRQ6eQ34ujffxQmwL4LRO80Lf7WgnrsyULbSIMO8WD16QfLt8+XBG17dBf73eyHZjEmmNPAuAS74WeYrkmbOD01/whpsteI2KZZsis3yoRDGGS0V3GU1BtOYoM/8Rk9YYzbfEXZhrD+9i2KM0qWhFTOIPN/UUrZSHk7uY7vS7XE/i7ZKcQACO1JaLRce8DrSYBinRxXBYqIWVBCpW0ixI0XNl9rAsgml88oGwSzGWd98ObKuLF0D7gHlbreqxkRiN8Zd709kDIo5badJAC6FqGfwRQvMtZZGbPRzD92AeFCJCqoGCbX5nV26RtNL4UA1zkSa1OX0NR8pagk4xKNtTa7AHoOxNxyH+ql3EjlYWROxzhIi5BlPpiQIPjGzW5Md5ZY0kFL1QffsyE67OQmtjHVGHnhU9/+qgT2D1rZ7XdbZaErxFFPVgUMYoqY3PCV64jakfjEbahuMchk6s9Tths4/xgkOBBU0lFQvW9/U77WV+yFCRZdTadt7dnqAtK9Dp11a94qv3tAQcRjm2nsNwDIHutUT5UR9u9NJELvGOZHlqiGQ9mRYM3n8i3J7FkydZT2nrqxpFpG5k4SCjF27Udxrj4TNhngXfxXtoqUQsVAaweqbhFg2STZzYrJBhXdZnPwXUmUa1MHo6uANtPDKi+LuMKHlSGsaAq1xb9sgGXhe1ATV1n46cBv1jbSBYIxjUXP6OqSpDIZYbW/dI+OX00kl9zQjauHj25y1Vac8IZ0iJ7xHQi+l40v X-MS-TrafficTypeDiagnostic: AM5PR0301MB2433:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A/uDJ/TlkSM5WjLHxgT5njQE/MVOjhfFbFopRzXjqSIxsG0XKRHx+I8+hN6GX4/VuOs50M6pmbsUls93s/2O5vkWFrPfsNyZB/LGxtkps1Zw5LokjsHU4KX9FUsqTtILGBLtfHs8w7C7uBQ06vOuXpJj3DP/JtsEin769BG4Nk0AYPc3JciPkaLwR6o332KFhmxEfNoeReeEHk/1wOHQdoNVPJ2mYg+Dci3JmDYs6NitLwtoGM7M1HkxFV7jy/J4gM6Z5B4va1x6X6mI2Mi1BqMF9PbqLnm5u6hQ6pY575IWFhgEmoe116tLukulqtvBvIHUjmJqraKNV7Uwex1IbkCVT1KbVVtw2+VgM2F8AVA5uikcu7PyP+mgEEFJ5/42eqGitTFY0+4rjL9euzgaK7VNxR4LeW4hSFYVOKlhX8HSUAwyL6wMEr787pjG/pUiSrtOmJhWfd/gICcYuPbTrnw20STDp2qH2tm7xMlLw3tC8at3rOBLqdiKZ5ArplSMRxchFN4BhewLbT+3Rg0eNeJ+ZDPU8VXVAmVZxcA/msqQz1gB0iDWOFd7Zubdi6BaKrT/JNUDGmhZLbghMSuszA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BBIkXmemDbuTIf8IM647k1gRe3xSPNK1yMrXZfF46wK1DP2SEdPGN+eipaUavHJmdvjswarFEW//h5QXpSQqZVnzEJ4CzlBTGqZq6E9FnmqJs6ambVcZs62aTzuEHnfa3LuSIe74uWlrE1245KvF356/UQY7qUKBZ6Tu5vbttPQrAnNVdm3triEEDHenyl2LSRtxI5VfJoNqoNezcqxzw4QE0WL6XNygc4whWyRs1Y9TmqKjwDBHq/CrljLibCIV77o90p3NI2VLF2dtpG+Fz2WBy8Ur+rKQB+SXWKR+wKc4Szu42PsZqR4dDgW+XzFIgGuiQHkfAuTI7pc9s2KzKjGNPvLUN5ySx+42yGGBSs2q0L9znaPGF4SCvq5AHNxHHmiLMpxLNdQkHR0+gYKAu1U6C3VA8DOWoNHPIgcSCNBsvVytssF+AEUqOMExzNg6fU/ddyVM7Ldk2Nb2IjMB/JwjONCRFy4HcG5ELWSyIFon+D4cQAlJK8ypW4GNxe7gBJ0GMqCiN6M+K8D70gQzySUpKX6VP540espx/Jhr9QmbWZ7VdvIrmASjaotmDeK+6IkdLHyLikSdXVoJiD5jZKdeqiqlvFtLt5h9Ibg37Pe+tyZBsZsrSWBeC6U3qnRiQwZkbH9LPYby1oWeaoWa50zUTdO3fPmHyKS8kSo8daNqfQzFXezTFz8mXXiWAdKdHeROvavwkAY7VNAZ6jUT84B+KXslIJsxcasr+unbrxXWGI83NePXk+SemkWRb9ujPt+mgVAiYrXUxZgEwwSWEOIOuYrt6yZVoSZY4sGJO9DhFvaqLPAiflQ2jR/Wumiko2S/Ur20J2W1E3wQUmlT5xbUM2cWIbUMWrdOG/vMQPPSpmrh6r1YVV+voHT9AJFsqkQMcW7jEaJbe3ILqz0QhnL/6J39LzDKTG8rwTMFcP5FfUBC+KqpWrXUNKeorHTp0Yc+20V3WkxcLQPdpPaQpQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b2adc7c-f7e4-4735-e1ef-08d9bdd6112b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2021 01:15:36.2728 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0301MB2433 Subject: [FFmpeg-devel] [PATCH 1/7] avcodec/mpegvideo: Move closed_gop to Mpeg1Context 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: XKcn55JbrM53 Content-Length: 3434 Only used there and only by the main thread. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12dec.c | 8 +++++--- libavcodec/mpegvideo.c | 1 - libavcodec/mpegvideo.h | 1 - 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 09b2902bca..672031b6db 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -69,6 +69,7 @@ typedef struct Mpeg1Context { int rc_buffer_size; AVRational frame_rate_ext; /* MPEG-2 specific framerate modificator */ int sync; /* Did we reach a sync point like a GOP/SEQ/KEYFrame? */ + int closed_gop; int tmpgexs; int first_slice; int extradata_decoded; @@ -2449,7 +2450,7 @@ static void mpeg_decode_gop(AVCodecContext *avctx, tc = s-> timecode_frame_start = get_bits(&s->gb, 25); - s->closed_gop = get_bits1(&s->gb); + s1->closed_gop = get_bits1(&s->gb); /* broken_link indicates that after editing the * reference frames of the first B-Frames after GOP I-Frame * are missing (open gop) */ @@ -2460,7 +2461,7 @@ static void mpeg_decode_gop(AVCodecContext *avctx, av_timecode_make_mpeg_tc_string(tcbuf, tc); av_log(s->avctx, AV_LOG_DEBUG, "GOP (%s) closed_gop=%d broken_link=%d\n", - tcbuf, s->closed_gop, broken_link); + tcbuf, s1->closed_gop, broken_link); } } @@ -2694,7 +2695,7 @@ static int decode_chunks(AVCodecContext *avctx, AVFrame *picture, /* Skip B-frames if we do not have reference frames and * GOP is not closed. */ if (s2->pict_type == AV_PICTURE_TYPE_B) { - if (!s2->closed_gop) { + if (!s->closed_gop) { skip_frame = 1; av_log(s2->avctx, AV_LOG_DEBUG, "Skipping B slice due to open GOP\n"); @@ -2882,6 +2883,7 @@ static void flush(AVCodecContext *avctx) Mpeg1Context *s = avctx->priv_data; s->sync = 0; + s->closed_gop = 0; ff_mpeg_flush(avctx); } diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index ba5b51955e..55399a7478 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -2317,7 +2317,6 @@ void ff_mpeg_flush(AVCodecContext *avctx){ ff_mpeg_unref_picture(s->avctx, &s->next_picture); s->mb_x= s->mb_y= 0; - s->closed_gop= 0; #if FF_API_FLAG_TRUNCATED s->parse_context.state= -1; diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index e90669b776..85f02b1355 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -198,7 +198,6 @@ typedef struct MpegEncContext { int *lambda_table; int adaptive_quant; ///< use adaptive quantization int dquant; ///< qscale difference to prev qscale - int closed_gop; ///< MPEG1/2 GOP is closed int pict_type; ///< AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ... int vbv_delay; int last_pict_type; //FIXME removes