From patchwork Wed Dec 22 03:19:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32818 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6019554iog; Tue, 21 Dec 2021 19:20:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJxjkqAPu6JdhSAlP0fM0YAJsjOQK8KChr70vsApRXhKwRcz0Liq9nMCV4Vei3+RshrUhkWt X-Received: by 2002:a17:907:7f9e:: with SMTP id qk30mr934247ejc.238.1640143202027; Tue, 21 Dec 2021 19:20:02 -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 hp19si335930ejc.348.2021.12.21.19.20.01; Tue, 21 Dec 2021 19:20:02 -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=DeNucTNP; 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 158BA68AF78; Wed, 22 Dec 2021 05:19:57 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2070.outbound.protection.outlook.com [40.92.91.70]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5FF7B68A306 for ; Wed, 22 Dec 2021 05:19:50 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kfJP4J7wXX2zFMhnHan5WhFvD6S/xiob3qoSJCeDwXimElDZjchvGbP5Lmq+xqu89SBIEq3h3BpLEkUMOCN2Ma66/GAjTwcNPxUPbkKg9I/e5wSIETJIddCwNVGNk9TR6uM6UcRebD9FZfj3hWVZOillVhVg3coWySB/0grh/1WeMA+szzKRTUyyG4Wyy87zCkWF03aubTsyHse2YHtHwLQ5MSZN8sh5z/zfYgQbwPeuJ0Bd9iw/h3LLdmHGvL7r+y8GSIfUAhU5OBXn7HZk2ZIT2k9coXGosCpoJSVgfvUxIqonx2NIWuD0FXlyngYlywqR+NHArZwAcOUVUwQ9Kg== 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=eR8EyPUYNJk2pIxIkxBXmSrWqrbz1Rw7Ko8nymNju34=; b=aDnAo8oRfIbtBKHCS/HQh7Gw+54fH9w8ndimMKiROOOa4oStF6RpfaR/sFciIeYCWiVWQQkIhqYR2mY9SA6c2l4I1OkBhQ2B4U1tL6F+LfSlkg/EElXX4uingJdor4JFbZbn57Cn7OB+HzKmd47EenXa2bjeyTvWU8hQXG5z56iOrmpWAftfyH8VYM8EyrkbNrYHZxGD10LsxfUkQ/iVgwvCDrEPNc0ZhJCBDnTuaFmfuzUppm1LNbAeIz5JvfGt3BPVAvhrvTVDJWzOV33E32sk0cJ+GozYIJd2LkBGXMRWEA1fZHIzADZNtupm8E83skH2stf5swqO2cjNh3OjGQ== 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=eR8EyPUYNJk2pIxIkxBXmSrWqrbz1Rw7Ko8nymNju34=; b=DeNucTNPUOd4Fh+x3lxmdDzClTHe3IzDVzFe5sYMool2sNyxEMpQJ2t3lkkFHyhACvN6/kno+o0VgITtmOtKmk3x0cZDCAaATiDxSeYVMTd0LRDvEWVRn/VUnbuhorxkAjz5nxcm71f7nU0WBB6S5dMVvkuavSvzwyNfUHJ93Q10u6HFoVRVM+w9FAa1tjqZZvjkMIo5mLU5Y4LYSuhAjFGfDhWHNHVjV5IQxzrLSiwOff/a5Jo+8kZ/p3ymRmrsdHhlbeaBIvsszYGgSVh09+iYnME7QmP9HzSX7C9bQxiFKEbsYh13LMgyttnwJQwsrrbRWau8KGdfYSbzrnQsNA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4455.eurprd03.prod.outlook.com (2603:10a6:20b:6::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.14; Wed, 22 Dec 2021 03:19:47 +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.4801.022; Wed, 22 Dec 2021 03:19:47 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:19:27 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [sMpUnv41JULQiYh8kcaaYa6vkkRki/ux] X-ClientProxiedBy: AM5PR0701CA0014.eurprd07.prod.outlook.com (2603:10a6:203:51::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222031940.895592-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 78408208-e781-43c0-0b52-08d9c4f9e866 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlyE7upGJhzyvBYLHBbYdjmcCKWb2ASNfNdmn6YTkdOQxY9iz169jtEN8chCHaXl2wyH0hEr0DCOsuHwAZYE8t2Z+lWx8/dVMK53uhblEayd8smPkF6PIiEHiNClLlJLSjUlRWEdcL+JtEd7dlt5EhUK/aO/Rs64V6Q+5elBAwzoy3x8dovVy0HwJ+1Qn+R5Vfie9LBkJxOCLPY+I5QloHAkmeq57FoId/ArQ1WgvnlNHFw7JPXMinkLZCeRkLlfD1L6UftBGfoFZ3muxQ1hZ4oAsHl6TKLQp0cjH2Yv2AduzYTbSeNOXpF2zCbLyENhQwL/UJaBxvFnVDlVL5fxGk1/iZvqvZ1RyL7LqzV8BGA/vsTAoe+91urtZzqmmPelouLrNMWF1KNSgAyT8yPPN9Pf2jBfnYZIh518bB7gItxymEdZnUft8Qy4pMUaVA5HuQ0LpYcwlW/0yBdgm3p7Kpxr4SBWObfHDhmt0jdHOwN5ANonvB9u65mOQp3e2Jg3B/McJuKXkdUdfTnYAi5nh/0KYpP3Y+r2s0DbH1hsltyaKZ9fJwrRFBot9U/s86R8pYqstSXkYLM1BOtoOMFAcCtANlWZfYgUiRz/x2fylL+jMzOibgVU7Ql1A9+oSYe7Ho9ebiKKlvtES1u3vf1q/pLfMrHKyuS2SIeto4d3l8LduobuIO2MGwiAvTuJE3cq6BBZ+MmWfp8DY= X-MS-TrafficTypeDiagnostic: AM6PR03MB4455:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Znn0zrq+3CmIrqweH+RJM6jblrLElkBoFa6F0a8+WvEge0BSFRqvLn+Ypv1igiFORPeLhrQaJ/FFHZaW+0HW0HBj5tYBAnpi4K4ux9pv3ht1eB9fO28e/JnVp+2y2DvUri07veA9oLcJjXfZ6VyvlKd7kkVGO+l2TdoO9kHRpRBngWJjJNfw2t1vPPl2rAEI8MJPDz10QGBfussFLMm9b1jyIvz9jmmzjaxzx/Iva9BxCwyuUaDLW2tPWoVMg5jUzngnTha67Ukp90nY2qwhZb46XmNcnwL3TDun/wVSzCiBQf/fLSFOfiDRahovl9nhN8gHioDyxmjIWIGdiTq4WJzABJ5VMuYL6nNwTzTOjk/7FF0Timc+QdMUtBysk/XYQcmH/bMU12fhGsYhPk3PxLxTWpBQfBSr5zv3X47mwJbckpctyhM5y8QO+dhWILL60sFIRHo9c9NYvwhDXsJo1FN5lXltz+co50mOPtcr+A5NimBIeDuAU8QnyETush0iZ0lN2iKmkrhkA/9YF1M+GGBOhvl6jrS15g0JZ6fy3e2tprZuBz1Ihr18uEaAT0e+DlcQCJiIu3qNGZaZO8B7sw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: t+I4gXeA1KakXajDO2RmAC0/k7v++i3u/Rkf4QKvn0Axu6BJ71b3SASFvbfgxiVQTspfi2/FTp+OBcDHpq8DAvVO8tvMqCQqeQLQ8rYq/rxnYYJmUnMhdm/vayiVqNtx5KRzBXMkUeKGX7V8LjIZvwR2tgeLZftOX1cihyB5pJSqLsL2xU8Eds5tF0x4hMOEyEMUNpMJJGw1SDNB1H++m3Y1SeOFh0IqMInWsiuhgL1VGrUAFcYn9fgJ3mm+DHEMHHxlIH7+6H+ztr/7CMgd3LUPNaKdclGLDVnF1+bROFZiY/5XHZJL/v+z4z9o9zSA6aJHkPRl/49DnibMk8AFL21dwQlDcEV43Xpt4yQEajDDBfV97Xc51h/iOyyZ1yx1ABF3FuCok0L8xvJQJx+HJWBwY4dviKEnHQ3W6ev0nGsqDGDlfKO7E/AsegHsd3Zlivfe5dDTYlQB4DAnNeGVgMP/2zvlPuOAQ23lQ0n0Pc5597l06rx+jkGBXihEkNx3sfX3A8VjBHeYsQCY4nxoOk1Qq7zTmMRlpA34aEz0fpePN+HhjhpNd9gcPXP7wW2EZAZ9YOBHGBVs6LXMLQGwdiRUklAR8j6zktAENl9dBMe6x4rz+X2acIoqrA60uaRjCP9+o7GuZzaWdUxVk4nkTRTtSRaqTWbMMsbI+8w/nCAlVD6RvwG2+SUROWsNZXqSfYWbtoZVkJ94WXg/y2Gacj4E2QotOF0QUSPdnOgXv27KqsIBp4bBh5DU0YjWd5q5N8bVhqMYlK2a+m7XkFuLIEu0OYk4PzRXQ5013tCpEQcWSZHkz5M0OhBinkR5XIPQIW4DBkFEjZG7vBnkZOgSk1OeihFf7VBGOLdnAraQbjvnKEFEMJa+UNndL4MtUGc2MSrBgSipuLM7+ORTL7kWo0BL67rUzsPoOpNxAGhK32p2Pk7goQuTkVVSjhYCvOxgdT1xoi1IsprRPQ3fETGWIg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 78408208-e781-43c0-0b52-08d9c4f9e866 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:19:47.8600 (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: AM6PR03MB4455 Subject: [FFmpeg-devel] [PATCH 01/14] avcodec/mjpegenc: Use custom close function directly 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: kHW9OEyw+Wtu Currently, ff_mpv_encode_end() is the close function of the two MJPEG-based encoders; it calls ff_mjpeg_encode_close() for them which adds a check to the generic code. This commit reverses the order of this relationship: The MJPEG encoders directly use a custom close function which in turn calls ff_mpv_encode_end(). This avoids the branch in ff_mpv_encode_end() and makes the generic code more generic. Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 9 ++++++--- libavcodec/mjpegenc.h | 1 - libavcodec/mpegvideo_enc.c | 3 --- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 0ade66bc5f..5bd25b4f3b 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -320,12 +320,15 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) return 0; } -av_cold void ff_mjpeg_encode_close(MpegEncContext *s) +static av_cold int mjpeg_encode_close(AVCodecContext *avctx) { + MpegEncContext *const s = avctx->priv_data; if (s->mjpeg_ctx) { av_freep(&s->mjpeg_ctx->huff_buffer); av_freep(&s->mjpeg_ctx); } + ff_mpv_encode_end(avctx); + return 0; } /** @@ -618,7 +621,7 @@ const AVCodec ff_mjpeg_encoder = { .priv_data_size = sizeof(MpegEncContext), .init = ff_mpv_encode_init, .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, + .close = mjpeg_encode_close, .capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS, .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .pix_fmts = (const enum AVPixelFormat[]) { @@ -647,7 +650,7 @@ const AVCodec ff_amv_encoder = { .priv_data_size = sizeof(MpegEncContext), .init = ff_mpv_encode_init, .encode2 = amv_encode_picture, - .close = ff_mpv_encode_end, + .close = mjpeg_encode_close, .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE diff --git a/libavcodec/mjpegenc.h b/libavcodec/mjpegenc.h index 2e92511276..bc9b017e7a 100644 --- a/libavcodec/mjpegenc.h +++ b/libavcodec/mjpegenc.h @@ -105,7 +105,6 @@ static inline void put_marker(PutBitContext *p, enum JpegMarker code) } int ff_mjpeg_encode_init(MpegEncContext *s); -void ff_mjpeg_encode_close(MpegEncContext *s); void ff_mjpeg_encode_mb(MpegEncContext *s, int16_t block[12][64]); int ff_mjpeg_encode_stuffing(MpegEncContext *s); diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 128d1a327c..d2520368e1 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -970,9 +970,6 @@ av_cold int ff_mpv_encode_end(AVCodecContext *avctx) ff_rate_control_uninit(s); ff_mpv_common_end(s); - if ((CONFIG_MJPEG_ENCODER || CONFIG_AMV_ENCODER) && - s->out_format == FMT_MJPEG) - ff_mjpeg_encode_close(s); for (i = 0; i < FF_ARRAY_ELEMS(s->tmp_frames); i++) av_frame_free(&s->tmp_frames[i]); From patchwork Wed Dec 22 03:25:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32819 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022153iog; Tue, 21 Dec 2021 19:25:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJzbyK6uTq3+WDyUNyH2PX8gDVNcWjGHap/3Q0ECMbLevw4Lt8mtC8455MSmiPnQg+Llie2J X-Received: by 2002:a17:906:2f97:: with SMTP id w23mr905937eji.739.1640143535034; Tue, 21 Dec 2021 19:25:35 -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 y16si441967edq.249.2021.12.21.19.25.34; Tue, 21 Dec 2021 19:25:35 -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=Ser5CU5C; 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 C54A968AF6D; Wed, 22 Dec 2021 05:25:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 89F4D68AF6D for ; Wed, 22 Dec 2021 05:25:24 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LTepN7kZ+DTP1GMtlBF3g+mFF2gDd49oh7suoOBd4klrDWT9lxoqx77pF1X/tri/gYEqdNuX6GAClazeRYKkMwQCF3WXmrcVOAWrCVo4FXIYdy2HG66JskiDCq12X4x72PTmIqlEdQ7k0kPx9sOy1inqF1mEChMdWGDjl95erHsQNYDxAhPoYoIV1rlrrC6on8g0IE5vOKNCYCgU/dQ/FuSETeG/Wwr3baZnd8JOI/fpU7p308q3tStH0YvVmVI/1TLeUKTRn/OurzQ9jecPMT5GkppFyqkFu2L4QiOFwCodHQkgFE7rCga1UZAVV1qJgU2HLED6h6Ok06lRFs65cg== 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=jbzTyFf1R71viIcmlv7Oy2iz8/u5tfj5xfk2kbNEK5I=; b=hOLTjndX1ryheqaefkS12sM0FLHGtfOLE0JLiCQhxha5ZPSOawFOYgIbeHYOvRCrQyELmEIRkXsLUAa87B4kpDon49wz1WRZ8f7CallolOAOwLWnLfkjgcWBU7bcOki9JrI2keUgJ4bOiP5SfUPKFFre12sejoD6G7X8ZdcK9cXKxsI2n6JNzUnw7pBEb/2XoC8BQGyw6eagBiXDOOXhDzG2opYfHY7vz+l1nsk4wq+eEAukOA0HvbnSXUoabZkCYc0hffhnBy76Yr7/lcLizeNgp9ACQq9+jEobjHvNWXBwOmrqbRObjrYzCIzOWcFXzbEi3mdGJuGT9opTcJJD5Q== 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=jbzTyFf1R71viIcmlv7Oy2iz8/u5tfj5xfk2kbNEK5I=; b=Ser5CU5C+YBgFOlRieiIxmRcqNDkmaNlp9HI2l3WfOYuKZd4Z+525wcV0hmkTxFGYpazP0lorYcg1AmzyuBV9b+LumSwDysCfQXBTxkNWvmouOKsnSZ4IM1DACGiR2xJ8rZ/gqpbRI55zYea5vbw0wS8sZ+nkbaGDRHe305xFU4MBFD7bnhroySVIHzT05ZmmR+4EicwA7rGP/SOr7DXfJSlgrSaBqcj/N0G3vidgTueQBbXlub5ybq8+HXhzvo76WMXxIeYKOx2l3fprnaIh18+9HlgoWAZQsSxzPqt3hsTna6UMnBk/vyzV3Xy1r9qHr/JkPrKuIPAhhxmUh/FeA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:22 +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.4801.022; Wed, 22 Dec 2021 03:25:22 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:02 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [D0ddSuwbZDT46bzIrkUcu3kFTlt7gdhk] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 23dd3b7e-cbfa-4ded-4f4a-08d9c4faaff9 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JNSEUkFwt1up3zXu68uMqLy4pcFXAr5zZkpamQOO3qmvf0JY24H0tbkmofEqiGFPDpk9RpvBFsZ5MKK2azFvabovvtJyhW7NPGpKYiCumt+oZR1qgEKnlwmM8s97cUR7mhr/8CCMh4RRfDnEncYZgTrDrTzydAXtdnaxwg8bo9olkyqSPrNAYmnXHrWmxgmLAYmtd/kwpvyqQ10HkHOZXvAjzM2lKxCXyhEsOWkaSVG9aQIOh28CXOpDK9S5VTcaDskCajMNSsx++ZvpPD8KwiJc+Qaw4xaFPMCos1Vkv5GIfM8HGhQ3w7LPln6CFFI11Qog4q5TAbaLh39ITg35opqr5TnKaSGZD0Wk+sl3G8DO+tYUjAgYfdOo5e6bRKKsYSjM1Fnlu/wOEIPMiF6qYbmpP2SAfz4vbwNTABRnBpyljqalOTAKKbmzgS4suAkm1LoRvl7LGx8Oca3hAgHmPjD4aOAdF4Vr679KcQw99P03YjRSPVzaJ1XKzaWSw96CDAhhfW7k8KVPtm+eubdnPSxGvLGHyijNQU24kffPq8vkT1esfkuHByom4eTlrBPA/ZyGd2FNGLPfb/852+FU5d39BGSStpy2OQFJUvBpISPKQ8lpAuE8sRMXvLY3y1VBB2SpOhLavh+Kdy6qSyaBI9m38Sc6J9yWMJGqB1Z7vvfwn7DB3Y8wLtwgyttPw9hMqjEzTuMSbT21ufDWVVbvQVIuX6cFppLes5e+UeeF2eyM= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZSpAwNazeb5yDkHRScfgsOafH0U8rJa66jMjWKnkq0Y5B8dmSRY2qbb22eIPFeNwpjqLNO1bUMcwU72XPtITrjb1WWZ2ppPsFH4yC2G90Si2ciD2tkVZSIZ3peOU230+Q1DaYubEb6Ww1djaF+V1IuMvo08N329PtKVoduwdW+UsaeEK9FBbL65fzpEG+TH/ioMZPvgUWQFAlLhLNttMWn79jvCxRwWGnHU07vyjNCF+QqRK+BoVNpWKGCOoRGxvA1kct2+cB9dMZ2tK2xkWR+JThHaercJrD7W/1ZiuVWi6cB04EBkjp/UHuMCb42NIUjbxIfhJrR4XuRVPsoKfz9D7fLGh5Nx8lHjhYf7pvmYdOy0nhZvwosYFzhFRoRZ3XLcSOiN9iSsJwZ17ACe45SPXJNYsByBIgMW4iCwWCsJifnjhC8drqdQIz111/Sf1NO0P+W3fUdcXkmxchuXEyA0bkAx7rQhvJ+ieRYBoZxozBHZKMXTB6VVhC3d+jXPnoD0GgrzTOJAG7Gulp+DwPtLyay/54RvtxM8wRkdqxSqguHQB+Rn5bNZR5QYXobryoDtETz7tBDptoHpOP4YJEg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5oJq1DIv8OdOQsRZqSrUswsPAyQkEnqcY2PnpxfkpZX50l1GnfM+a1ZjAHswH0McQwl23LPraEeVSL0N8Mnlz21whmm5TXe409DSBMykYTPPCmWG3Y0No9Uy4yS/ARIJhxiKfEJmTB+GAUy/5Sz88LS95Qe/lLxShkukrODFeUXz1MonC31rRBUn44uqmcQwIQnlIqiAzxi46pSp6ePuEGdORJLeRfuqOPe3irt6wl2q8gCLqq2t/4+uNODkvjTcXSmFaDfJIhyBP+gsZGdtcPov7Mgw9lY8VMZ/luIrcmiXb5VBnLXvF7W2HRI+zP9fiVuTJWh1aMv31YpU8X3lCDHAEMXckyv+qFK6rcV9uoTRdslfLZ0h9+Jkt5IXiW3K28hSdFtjsAQ9Pk0ucbEw6L+Y6bBoNHmC2D6egBdpvFhDluHlnkGtJR/i4YTAd6aWKPBUbmACuTL/aILfJWjoacEAvbusWr3WRHorghPWcfPPAvotxHxltmEnzbzlJbFwdm17T6k2uRQ+tiAzzcR4xgTBeCGgEfbeTqAN/8iEG8uhO+redQ2SHhIdgGUkhBAUuvI3OgxroVyMn6icygIrIdSJnw+3F3Vw7Qu6QwcgZglVdQyadgDhK2mHj7bEbLxTF5Z3Rz5R9Ay+UpAygH7zNTGcPsptFFVHJ5xIACT+keViWRVTZoN1VotBUoHIL6qRH+SeTQPUnH7L4K64RU5Om7frYuYWUUtnvACZEMUP9Krqn8zFubrnViOi9IBz18DB0dWAH4D9iJgpKvDixIfmcqRPIDUhlHM/k+wMG7oLHDc7HTOddngBo1xqFfCUGnol48Txif9lBuy06951mE3hxEdzwzy848oFYi7gsf6WkiXcMk4v4Zkw8kZg4Adp9UDiQD73ySEdwqubg/HZsjjmLxjVLmQF6VOkAes1gH35VDrtC48XO+lExtyeW7B7D3noMQzPIWeRML2h9KdRgGcL1w== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23dd3b7e-cbfa-4ded-4f4a-08d9c4faaff9 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:22.5053 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 02/14] avcodec/mjpegenc: Avoid allocation of MJpegContext 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: x1pmI15gjhvh This is possible by allocating it together with the MpegEncContext. Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 31 +++++++++++++++++-------------- libavcodec/mjpegenc_common.c | 2 +- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 5bd25b4f3b..1652087948 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -41,6 +41,15 @@ #include "mjpegenc.h" #include "profiles.h" +/* The following is the private context of MJPEG/AMV decoder. + * Note that when using slice threading only the main thread's + * MpegEncContext is followed by a MjpegContext; the other threads + * can access this shared context via MpegEncContext.mjpeg. */ +typedef struct MJPEGEncContext { + MpegEncContext mpeg; + MJpegContext mjpeg; +} MJPEGEncContext; + static av_cold void init_uni_ac_vlc(const uint8_t huff_size_ac[256], uint8_t *uni_ac_vlc_len) { @@ -260,9 +269,11 @@ static int alloc_huffman(MpegEncContext *s) av_cold int ff_mjpeg_encode_init(MpegEncContext *s) { - MJpegContext *m; + MJpegContext *const m = &((MJPEGEncContext*)s)->mjpeg; int ret; + s->mjpeg_ctx = m; + av_assert0(s->slice_context_count == 1); /* The following check is automatically true for AMV, @@ -276,10 +287,6 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) return AVERROR(EINVAL); } - m = av_mallocz(sizeof(MJpegContext)); - if (!m) - return AVERROR(ENOMEM); - s->min_qcoeff=-1023; s->max_qcoeff= 1023; @@ -312,7 +319,6 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) // Buffers start out empty. m->huff_ncode = 0; - s->mjpeg_ctx = m; if(s->huffman == HUFFMAN_TABLE_OPTIMAL) return alloc_huffman(s); @@ -322,11 +328,8 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) static av_cold int mjpeg_encode_close(AVCodecContext *avctx) { - MpegEncContext *const s = avctx->priv_data; - if (s->mjpeg_ctx) { - av_freep(&s->mjpeg_ctx->huff_buffer); - av_freep(&s->mjpeg_ctx); - } + MJPEGEncContext *const mjpeg = avctx->priv_data; + av_freep(&mjpeg->mjpeg.huff_buffer); ff_mpv_encode_end(avctx); return 0; } @@ -377,7 +380,7 @@ static void ff_mjpeg_encode_coef(MJpegContext *s, uint8_t table_id, int val, int /** * Add the block's data into the JPEG buffer. * - * @param s The MJpegEncContext that contains the JPEG buffer. + * @param s The MpegEncContext that contains the JPEG buffer. * @param block The block. * @param n The block's index or number. */ @@ -618,7 +621,7 @@ const AVCodec ff_mjpeg_encoder = { .long_name = NULL_IF_CONFIG_SMALL("MJPEG (Motion JPEG)"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_MJPEG, - .priv_data_size = sizeof(MpegEncContext), + .priv_data_size = sizeof(MJPEGEncContext), .init = ff_mpv_encode_init, .encode2 = ff_mpv_encode_picture, .close = mjpeg_encode_close, @@ -647,7 +650,7 @@ const AVCodec ff_amv_encoder = { .long_name = NULL_IF_CONFIG_SMALL("AMV Video"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_AMV, - .priv_data_size = sizeof(MpegEncContext), + .priv_data_size = sizeof(MJPEGEncContext), .init = ff_mpv_encode_init, .encode2 = amv_encode_picture, .close = mjpeg_encode_close, diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index c1b842d547..0c6a98c394 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -323,7 +323,7 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, end: if (!lossless) { MpegEncContext *s = avctx->priv_data; - av_assert0(avctx->codec->priv_data_size == sizeof(MpegEncContext)); + av_assert0(avctx->codec->priv_data_size > sizeof(MpegEncContext)); s->esc_pos = put_bytes_count(pb, 0); for(i=1; islice_context_count; i++) From patchwork Wed Dec 22 03:25:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32820 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022245iog; Tue, 21 Dec 2021 19:25:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJwwSkFBKT3HV1gJZJSYzEidsbaX965hOtv1/zXMgsuno1NE8I5/X753NolH8kN+Lvt/U/tZ X-Received: by 2002:a17:906:d935:: with SMTP id rn21mr903551ejb.491.1640143544477; Tue, 21 Dec 2021 19:25:44 -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 o11si401077edw.288.2021.12.21.19.25.44; Tue, 21 Dec 2021 19:25:44 -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=H95f5JUm; 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 B6D0768AF98; Wed, 22 Dec 2021 05:25:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AC23C68AF78 for ; Wed, 22 Dec 2021 05:25:29 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ym0EigZAaVcfrvVenfIARF8c2LnW4LlmJLKk+iQHvLnU+jl0XVzY81Yt4Fy6m+6cohSI07JKRVV+z3oTUXsfeklYdGk9DGX1GzdY+BTN5ySTI3Y6aPgvovnQ5Kv4FJ7SXM4JVjnUZJWzuDHaW74/RptuUz7Kn0dp7mDKojX4cvIsOmqi8s6AbYDNLOr1GgzTzZsKZWsD//bvoOsOfdfHFJ+5q7yYH12uVlzK/ZHLn2Uys62mtNF/CWZ39oiE5qNAKOXCH+S+C/eyJuiCaTde4q1oShuKBdSJhIBl/rjWMbfUBOxZJo/mmlo/KZa+6yxN/ajJ2UbF3biO55JJpdYPfg== 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=uFwbC1HTb5a5TssLqRgIRIIA2kTT+H693Frdjyqn/s4=; b=jVAxYBi1Xru895VXWrXbV/i5Pv4j36yIjlzc22m7b9pSYgKD230yvvppda4Wnn1Uo0oy49gLTIL2KgNQ2Q2JvTsxDVtrfyLKbfnGZvXTrqvtsKqv2/C0h+lWdqCxpPK/2uWPhpQHbfKD74RAXDaZj1KYoFrB3LsKwsALDpXsyIXiZ/QNADZQf0htIskBrMjGgDXBpQUje8iuvhqFpQ3E5aISRAmPjr4lozNAUYiWl6Z2ERin0uva7ZJ4xmPg6lJleBurctKJcCm1daqmjAHYDrzmcrk/yG7DPuVVg89W3efpq8GvHPEkK3KhT9qt0HpW3aMu9i8GDgTkiYvuYce/wQ== 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=uFwbC1HTb5a5TssLqRgIRIIA2kTT+H693Frdjyqn/s4=; b=H95f5JUmKRt+qeQgykGIbpU9ibhIupoRjrbAwu4mavbckzt7DOuFqYPCX+VjDOoH9a1oGirjkf81AxojZYHlDCGDYUVnXkpPSSsFvAxSxbB4KMoM4KoHbqyOT4JSF3zd4C2rNWXEji7/FaVodIePTWH1uwGxC4wTUieCSMlgFi/96JpQMHUuj1v1hfmMu1qcpf/lUn2o6e99PSfTC+LCJT/DWuGgOhaDDvjyBZ3kE8puQvQjRds01s9161yysV6IQDESn8uSnNMP1JysfJQeE5M93i+2XayZmdZHQVgEsemxituCyLkMIDBhZzK3v61ALXKP+L+MuBvsN+KS3MueKQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:23 +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.4801.022; Wed, 22 Dec 2021 03:25:23 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:03 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [Vy18XTSdmtD2m38jh8aK1x0spjEiolGw] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 550772dd-60f3-4cae-e001-08d9c4fab0c8 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlFAWiMxpDNELUy+k6hpY4//KeSvlQv6aj4p0qBCpvCFk7hQlLVROWlitG2UugqhV5HXdvFRtJ3VKCMm8g2hPREEvq8sBjNErKGZ+E1IXfUzMcW0wboJLMbHIgTilqKBWOxJflNY0MfATtNvKkwQohK3A6oBjBWE9EiCrz9jP9PpbG8JkPA3AnZ+GZg/VO9EGDLY3NmirRSlcxk4bWbd52XCfYpKfLM2I4Btcx+9rAgCy7Bn1kglR811UUkgf977SvszGkByCLV2hodZ0xzlnx/yHiW16XKkBq3A/XKNhfFpJcbNcU3lKrjims17Caht48s6oFme+Gpd4KDP6yiLC0ckhIOVPTSlQtbzsT53qy7YUuTa+M0N5FiAdBnRNvwaybFwRKlhdbhoCiT7r+FDdpboIEMBkAHb03HmN5L7LQm3IhQAULf8kJv4e0A6diwlmw+RPnIQDkIjYo+fTYSogzaP0YuY9ef2U8VVto94Qbwjwz0m41LgHQDmWaQw6Y2CaNwlz90C5QcYYdf48EOwFT+ZEmCQCpiQDqiVpw9mFYOQJPzQv/xpDviBufRhEvzzgwXslINIDttCMgd/yoVurM1iv4sMFuPxXzTxaLS6xo8CpbWSs1Qw8hkDjo/X+MNfWDXFAzM3qz9Kk2GQn1qOALBQujwZ8VcM39mOor3a4taQOSThyiHeUN7W41B19w1ilaxVdyfsgJr4s= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YMaAw+7xi0DOFCppviOWX9UZjagPoeBBhnKYQMwyaDEFpXEybwwfqrfNf4c9S/ay2XlTapoA3HSMCf/2LNsPeaWvC/JUpqeZTTnr+s7L3f4iWpGj1Nst1mc1NFW+wZsNPH0aD3PNSLW50g1GZ4clsX/dmwwiEYfdouoOURu8tjUsMZhG2i0EcbX7zhuvrxkBTEzgoERIimO+27jNPhNGgukA6+1FFkeW9ZVBqXxok9b9fqFlyU27IT7KovleSl6FurOtBrsg4BoM9swZDi8+mIgo5RYqkixdt8QcmJibUchfKdR9k/Q0uaynaNTTfdS0FhF0QukUxjgCGgJ1yLZjDKMBbHZlGlap+0NLYgHKN1LuxAzTBOfy/0FSwYGyzkmYrw0piDIWpar+S0+JxoSzX9zLzmdHNTILTa/XONQih7Nip3M7c5B91pJu+Jr1muVIvSNwdaTT5t+Zk4QCPPD9FmIy6eqCPPdKh8FTopGub158cjJqxIvRcdnGKTC24lsy17YFhpHPzdXiILW4niVMLQ2y++1gTXC3wGGcBs6hpkoAB2x0Yhl89jyz1UOPOJC1NNdwraSklMH/AdBj+qkSpQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AdgsX10Ii3/lM8BaNvt4gTw5Cd+URd9Mi/OuJPRxBX3XVn64xz4KC5/dmWly4YmTe4jOhIVPm6UDnN6JF3q/ylI+a7ghzOQcKMEgtAr2apuNfLSAg2WaOKGFVLUYnarEGs/d2wo4rD8AChegXo8GpHlWd9vcnSGTfO34IB4DNuMi+i3+3ycPQwr08kSDPjHeFwVo42ODkxUskmghfdn/BKrjK9OKrdfV3bMzA0Tcm8vKrlg2kE8YnsvdER9GUqD3d3f/Jzp/BVtAmoVgFYJ3o7HFDGRnbMR3ANYPDsM1AXVBw3EtMoDWU/wXLkv0LxoXBJ4AOAFUsG6dBLJXxFIjiuVib73hBj09IzV/mQPaPhpu6K2DTJt5f6o5FIt20FtosDKdT5tjZ90p+Da/oq/FZajcuPcTegrFTdVP5k8XVzgQgRt2S13HzFRFHLHvkuaXT8VVsVofsfIppwhlnurANsieo2Mh8AxtLJIndr/12VwE0E63OppbtASQV5yFSOhuqys1oG0FBX/0KBnF2FuLJQCoJJvMj2ahc9fZS8Q0iFRAQJoMoVbVRYs8AB6+/9RNwX4RGO0egbA4OhYBQfd+CDpb5H+iBJn5vSqhMEDcZIpGI5qBSAkgat8DPGBbJI0or7l2V3T3CSztejgZH5lv/wuT9gocqFqVUZnflhok6Ging9piwLi1OxDR01ObmarHJtZLf83vu8API52mYd4XPrsn8ApMxyWcFWag5JBBR8G9UNm6FbvFNczZi+Secmy7xguATjhUWvd6rtGfB1gmmxSVds5mXM5kqXofPBh8oCWFOjJ7w7ZMYhOC7xaC/Cp+SJZW7GQityezaRXkwwIdeG96EKq893qS3xS3KsNds88fotJWW7PerKvKDJK4fMEveDjYmBdxr4GAzlbygldLtXwzqujhoXwOOPT6x9Y58uxKz+z12/gVFcnKnMcxD/N2TqiOJo+CBeP46C7miZ5Xeg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 550772dd-60f3-4cae-e001-08d9c4fab0c8 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:23.8177 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 03/14] avcodec/mpegvideo_enc: Move MJPEG init checks to mjpegenc.c 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: jk35DsHjQHnT Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 10 ++++++++++ libavcodec/mpegvideo_enc.c | 12 ------------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 1652087948..8b51058f5d 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -276,6 +276,16 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) av_assert0(s->slice_context_count == 1); + if (s->codec_id == AV_CODEC_ID_AMV || (s->avctx->active_thread_type & FF_THREAD_SLICE)) + s->huffman = 0; + + if (s->mpv_flags & FF_MPV_FLAG_QP_RD) { + // Used to produce garbage with MJPEG. + av_log(s->avctx, AV_LOG_ERROR, + "QP RD is no longer compatible with MJPEG or AMV\n"); + return AVERROR(EINVAL); + } + /* The following check is automatically true for AMV, * but it doesn't hurt either. */ ret = ff_mjpeg_encode_check_pix_fmt(s->avctx); diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index d2520368e1..7e45fd0ff3 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -370,9 +370,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - if (avctx->codec_id == AV_CODEC_ID_AMV || (avctx->active_thread_type & FF_THREAD_SLICE)) - s->huffman = 0; - if (s->intra_dc_precision > (avctx->codec_id == AV_CODEC_ID_MPEG2VIDEO ? 3 : 0)) { av_log(avctx, AV_LOG_ERROR, "intra dc precision too large\n"); return AVERROR(EINVAL); @@ -573,15 +570,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - if ((s->mpv_flags & FF_MPV_FLAG_QP_RD) && - (s->codec_id == AV_CODEC_ID_AMV || - s->codec_id == AV_CODEC_ID_MJPEG)) { - // Used to produce garbage with MJPEG. - av_log(avctx, AV_LOG_ERROR, - "QP RD is no longer compatible with MJPEG or AMV\n"); - return AVERROR(EINVAL); - } - if (s->scenechange_threshold < 1000000000 && (avctx->flags & AV_CODEC_FLAG_CLOSED_GOP)) { av_log(avctx, AV_LOG_ERROR, From patchwork Wed Dec 22 03:25:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32822 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022429iog; Tue, 21 Dec 2021 19:26:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJw+PXA/mTDre34fD09T0Q0ha833I4LdG+1o/xW8UVfjPd84byXBLOCHsJQaKmD8x986bVRd X-Received: by 2002:a17:906:150c:: with SMTP id b12mr923598ejd.284.1640143564396; Tue, 21 Dec 2021 19:26:04 -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 m26si443540edp.323.2021.12.21.19.26.04; Tue, 21 Dec 2021 19:26:04 -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=bW1Xt7xq; 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 8707568AFAA; Wed, 22 Dec 2021 05:25:42 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073083.outbound.protection.outlook.com [40.92.73.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5563568AFAA for ; Wed, 22 Dec 2021 05:25:35 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M1RubWqFt31Q9dz3YiX2fozRfDOZiWwY98e6LaJ2BQVazZvaoGf5e43qHMukdYWBh9ZyCSmOR2xF/rFHwByH2e+pGDRXMJWeKY590elnJD0h7VIfob9WnfmYxBo9NV9vkS4yPAj4NtrRNgh9wFLVLM4NJok02jLpfvGCX5gsocunmKqtKVfzFJfWIlLJY2Lob9Pgw10/qM/+3cym/Kk5XBKqGIwYce90IN5OmTR5O0fF5WWp4R2/haPor7VBuHvhkLvN38T46Qv1V1pUv7OUel6HE20yoqZcP3tcUwN5Os03M+ND6xzsNophHS9z5Lu0YwElb5NVQBn0yhDUiutqOg== 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=8qr28Wwxpluq31BKU/cDGqrKPZ5dIfAutIiH5GjQxNY=; b=FO3Xt2OzU7kAwuNRW/lA0ZqMrmuafOB12eJw1nPmK3zKjw00HQYxcbE1k0N536a4l8aFWV8I/6qOesbWQw6U05CpDw681qLFo0wVEs8NH3vSoTRUrE5Xv816zF+j0uQdkcrNb0v9Caer/Yyg2d3HPXls+MSpOo6+f29AaoMIeDPxFq90d9bOr2CREYN8/YvRVsZ5XKHYHIfuR946PKYm0hLVrkwoMGB/HDohYqV7kcIQCQnsjZemF8/5NAyLBzJ4sGyRYkRNxewKrVkvcl0du8hVqJq1yc6chjyT6tqzulT76nhcSked8wa/TZMj+ivgvXRz9s/XYbaqxxbrx7yCSQ== 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=8qr28Wwxpluq31BKU/cDGqrKPZ5dIfAutIiH5GjQxNY=; b=bW1Xt7xqz4UdnxFP5Gwgl44rF37J2PTJyBkwp9iYlg40FeATq3WAohx7pgNfRSb7BrZgq46sBJkXhnGxMnqHpGxMx7oMgt+ffO/B+JSYInGxKMF+0yYg2WLIXFdyC2xaXm4+JsPxq9QHCB/LVGd2gVmXYCS4iU1iyoJeKlKg8LMU1sca840GedLI4hRI2o0yP4dAzumvLSko7P91t28Ibgp/IC0oJ8pgLuzX4pO3YDcnmG3WvUGSLrCd1wG7voTy6LwLuSMr01JzAsLqbHUkN89QM71yFIqrtF20ryUSCHhwmr5keSbq/WF75ATCMfOk+tSX2TTkehof1vz7P9TbBA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:25 +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.4801.022; Wed, 22 Dec 2021 03:25:25 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:04 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [K2tnNEuU9FqHIj+npKfIQJ0TZb9wSx+I] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 756e7c25-a711-4bf8-d8a6-08d9c4fab17b X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlmDb3O7sZQbZ2Rv2VWZd+ZvF67Lec0qd1qziuQGExWoo7IRmeKE2pTcXyT7dqhk6lof6NWcdOlLEqZ9aHTR3Y2Opqv4OemAcKVMq6TzEXRC3aR91/mLGB0S8QCWGmvALgsC0ZjV/koL3pGtVC6X1eCTUVh8Y0fqXjIV3z5OjhHDr4qyM3z5h4mjig3nYhuNMaU85kO+dxFAUXhlvl2opgsdxRwAar4HD8zTp+b+iv+kIbdO/5rhJ56KxwwK3VyyJ+4+oy5j///LPwP3Ef+YBudTFhzHuWAX7sGAuz35KXQn4baLhHyzm3QMMPAS/7r/twFEfkgamh9+kAXnLCHA2iFnU8HpYm5FmwmY+Te4ODqAYP3WQNKeITPYIbqi3BtlrPuVIvPCA8+ZEWUCNLmW1bHmmHG8PFK0nefh+18mmN2Zbzrs88IlKIOb+g9/zivKzSPpK4MyXfaFvC04iQNw5/sOZk8sR1KmEkrOR7ERIdniTL88Di+26TlvVI3aGnhD5Mom2Vj48seRPxKBt/YxmFMYDJXaiT3uJrSVZVZjjG4OnjvQ3y9aoru1sa2burVGP/a9+R1bCsagdhoLoM2XekNpbRS+OR6jD/EzH3sTqzjmsPSaIr4NWkjtZKcNxDK/txvU4lYke03Tem6l4BrsMPVcv5LTIfzBRx5S/nQpN9WRg7WeA8N/VNn29dUCt7h1zng4LT/j3s8iA= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QM9FjpkvtXTLH7ifaPQtcQty+VHyu0/akplkftIBB/vjaWgJZlgqxaLaay9b3dx/QtqV0qQ+Sc37sH4rM3TCsMIU2g8ZCG/Bz0poDLT+V3lYzUFTc5Fu9nLRjIB4pF8o2dnFkORaMI3PGPd/kQA53W1CbZMjwEFpi5BcQYtV52zDC8c79GJmdIHESAXoCYtEXKrX50sgKtuZ1TXFoFAM4b+QjH0el2wtjFxLZt4eXc/hVtiUVx1PQHRwE9i/f6tlgKj2lSZgOAIWdkXrIMAwOTPmkrQ7PwYnWPNkdn1+I8VN2QHGDnPbclGNaI5sqtIL8kSDtuPD4FDMF6+0WvKOZfuaKskmQ262dm9jKmJzx5B329x8krYm2BlPotY8nCp69ZIb/Lyt1pZ3JBn/N9KcUgnTGLv4YMIDS/uhJ3tfNRXYHJYyPZcKUOEPBepRWqNX89DBVBU1do/QcwkgINSIKaEBcy/YDoihsc5lVpxOU8DNchCtzdgBwONBVuWhZQZ3zQkn2vX4svsjr5Ae7wzA1xzV7lurV8+sq1VmrUN+ciwaDzdaYlhMFd3MUEGzKD2tZAenRH3F7Te+/lTfh/IXsg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E9Ci1Haviyc99d1W8vqmWIViSh6qpvfxmq1txV0gLlj2R4rn1VfiagTPDEUMEcaC/pwr4fNeb/zOoV7PagpqCUUv7w6O7qsUQKTlOa8vz1olKX/cNd+8/pNEqFE5qXrKnNTFKHUQg+rc+k8h4sRszHgkRjFxHfeGtglzd1DQrX9yfLnoVi4bnpZVLQw5DO8TomjH8Ysrn+n4lzeGQlpz/X2rx0BTs1qGZ+xxtfj+9t4/izyIX5tFdzQdkpdSLW1ULiOMUIVSFpspOa7Qz9pj83v1ogApZJmrzNhuY7utqq/fpfuRmaXVQpsHFWwKug1czpwB0P79FCZjWy3z+b3EYgjlPe+O+BOZwwh5lMRXA567pOpaIWFNpm3n7YRh16kFEE3NrwgRhztx1FQnkpu/JP6bPvpLQ8AohxuWcF3kbJO6HywikZYIW2rJJxuYGCq/goRSMABkmSjuAAgkjByPGrrRTrkfoVkSjHTJqzCaHubwDWPu5bL6V05Ra+Mrg5FowqWp796JLlSAv/m67PbLQ085cAqSQ2U1ST/xRYKTUPXNcRvGHbyHHhJzXmyx9NvOR59090N3+3p6vnC5jK5TgD4KTM+Lw/DOzeEG1YmvHHubEipoaS0zPM/ShXBQ5MULlONPn1xiV0qWY05GKX/PmbHzLfbqcWjYKy9V9pwk3o9xgRqJHx/yt0saLz0CH4FW45jEbbZk/5/85MLKPHE+o18cw8lyx4In46RGRSyB2MNazzb/dPKMsCgCqQX7YvwrxKASgc2NpeWSIlgnI04ImeXCeK+Qmqygq7NeH98a19uMvXgE7pFyyWRrQz5veMAComCINMXyu93XRGFSB4QdW2chuxGKIyQgvve3If2XdlyF8pwcm54QEqjnbWIt8eIJP137883RsAN95CdUrjSygMpuABPtIO/iHNT5fdhxEV8PHFvAbur6Kf5oWmjoAtdzRR42zr72YbgriD/HocsRrw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 756e7c25-a711-4bf8-d8a6-08d9c4fab17b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:25.0062 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 04/14] avcodec/mpegvideo_enc: Remove redundant checks for multithreading 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: b6r0ut7AUE8Z The generic code ensures that only codecs with the FF_CODEC_CAP_AUTO_THREADS internal cap ever have to handle the case avctx->thread_count == 0 themselves; moreover, it is also ensured generically that only codecs that support some form of threading have thread_count set to something else than one. So these checks are unnecessary. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 7e45fd0ff3..23e8a41a86 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -607,24 +607,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - if (avctx->thread_count > 1 && - s->codec_id != AV_CODEC_ID_MPEG4 && - s->codec_id != AV_CODEC_ID_MPEG1VIDEO && - s->codec_id != AV_CODEC_ID_MPEG2VIDEO && - s->codec_id != AV_CODEC_ID_MJPEG && - (s->codec_id != AV_CODEC_ID_H263P)) { - av_log(avctx, AV_LOG_ERROR, - "multi threaded encoding not supported by codec\n"); - return AVERROR_PATCHWELCOME; - } - - if (avctx->thread_count < 1) { - av_log(avctx, AV_LOG_ERROR, - "automatic thread number detection not supported by codec, " - "patch welcome\n"); - return AVERROR_PATCHWELCOME; - } - if (s->b_frame_strategy && (avctx->flags & AV_CODEC_FLAG_PASS2)) { av_log(avctx, AV_LOG_INFO, "notice: b_frame_strategy only affects the first pass\n"); From patchwork Wed Dec 22 03:25:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32821 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022358iog; Tue, 21 Dec 2021 19:25:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJzAjyQ1KlhabWlTCwFgdoU4LQ288jXKRDdrmuwndHXKbC6GuLhnb0aSn7Wecwf7jl3l3iZD X-Received: by 2002:a17:907:6ea8:: with SMTP id sh40mr916475ejc.585.1640143554239; Tue, 21 Dec 2021 19:25:54 -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 t8si391929edr.634.2021.12.21.19.25.53; Tue, 21 Dec 2021 19:25:54 -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=nH7S9jO9; 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 9D45F68AFDC; Wed, 22 Dec 2021 05:25:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D154368AFAA for ; Wed, 22 Dec 2021 05:25:34 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TRe+wS6oy3lpermeZU8mCC0iFcKXTObcahXmjinhtc7cf5K7rmC2ya/7lJg/ieXjABd1zL59H3XdD3LKXh3VIqnSJksdbTKEcS0vTlRBtJRfhWFB7DXLVNaYXv8ZAhK478txvW9ScQa9g38fGaYK4WSmghUzvBn1kpqGVhixeeWXosVKW/lzBdfSZy2wgZEwIZZIkHyQIjRkKOTPta7C7ztYPoAT2ABlQXNfMHr5MmK0Zof1p/FvCFAHVoSYOLOsEiHAsBTHAI1L63KypmbF9qTfTgkxjw9jUJZnEWocDP2325Y7ZZoioEaoH4X62COI8qiiVoBvN4WMrVC3EYYdDA== 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=jRONIuMzsDSJs32n8GUXwP2bMDLcurU+ef6D1Dr9zig=; b=jKAfumXwEqtcZJ/HUxwEhXajdGt1ng7eeWiQq0eNgcagsPt+s9MN82VWpohtBPKjArA91kpC83znEyQ7YPGMzmVddxVtL/C28EBHwQtTb2xHh5U4EiT3g1Dlag8Hq27RR994Tm8/YWlnxLq+DT3aaLzXpic4J+xjvoTvxVh6A1iwxp8mOoqE4+PjvW5YqTmyCG3yaIz49ErsUrI1OTsJiJ0dnSSVd1xBvRxzh/FQ6K3jJbqQvY40cf/uDH/6tPlWaYwtWcJgEOFc/45G3N14Zw1a1DFXH9Jt8fuxX2esNXF5cACJtPVe3Rtlh1Gd9jXaXljFK1hItMrRkGlkHogCVw== 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=jRONIuMzsDSJs32n8GUXwP2bMDLcurU+ef6D1Dr9zig=; b=nH7S9jO9pYMHv16cDHxIRbhgOfi9FISBohyr9eAVlO3AMy2v4+wk6lSaE+g3duFpYKm+jHNfdL8w5hf3ki3ddU5Egs7Cik6mRO3zK6rtgEcZvlK2bVV4JuvJf7r/mBxtk4MekZjkgWTYSuqxbIKfvwOWmwDMNI357sGLDOs+woHvxp6m2TDA+/j8hwEEJXB1Uy+vaohotE91gi4cp5pDIfkhbrwOz529IJlIu0mtmlLQLmBLpdT9Ce5wd4BlPa+LfitjwiTLMg2z2oxc+5JsB8fbZxciYo3RdA7UdUNXSDJ/MEk6Od0Co1bhZxLOyH/vFdClegU3A9MKBgxXheJs9A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:26 +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.4801.022; Wed, 22 Dec 2021 03:25:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:05 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [fRJtdLUjvMQLrm8j/KgyrrY4tf3x3ES1] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 61076dd9-f90f-4514-b61c-08d9c4fab222 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UJ+cHfC79vTguh6WqLpD1ah2ciYuTsDc9sEbzpmCnpNtOyFuBhkfChRw7TSlM4gyd10nqKTwdIl8XcBCEUBmQJuEL1q7jqOTo/uzwCJQ4LWB9Jr/7U65SyKfzseXx5Hv/9Hh5uTwQ8QkDBEex6BK3O1B1J+WV8KLf08x5xpvncWxqATUSu/q7U6lH4kEjL0m+auU8dRHxyBeJQG4WZEfLkYyTKhaPHIxsiX/090OB1lM/s4K4ldd72xaffuXWWOiv/W+AHAo4F3iz33tyblXf4m9tde8POo8PNdXBUpv6m0moWnBwyfw2oLnQL2Hgg9Rn3HxSzm9sEY/1qwpZ/ybHZKHKlB+hBxzjPUL4ua+JXMUXV8W7YJoqsEuk0eR5JRBKBgKphaJQypC4nk2G/Ns6fK/4wstl1ESIqCiovB+bmnHUALZ89nnXBAO9ccabbzf/Swmysa323HMuozFS3Hgc9PBKaXsysUsWTEdnTYN2hv/kp6X84iBL+uBRgmDNibpvgHTj1jIpuFu45aNNzHSG9CIaTH9J/pkvzdAv2THVTgzqlPGPkc0R9W5Q//KNRT49g3WjdXKG5RPvC9H+dXk1wPaM2S8kYnfsjICS3E4xgL009ZdD682Qn1oI1LvhtTF4ixhdutQBLLhH56y+wkdOZVELXSLJTgSlQMSl/6XDWb0iWSAUg1D4pGKpxy+93KXSTuBilvPjm7YA== X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HXZsHKAO+CRyETxvVndow2bOezHXokPiyc8b+eTiLE4NyGG7bR46nYm4nqoVW90wkbHR7ZZTMjQwSNnqEu0uI1oaLDKw8lY9wntTPVTpi1xyO9rTltUgpC7ixrfzn7VHkF5WlbCxt8tKiP/Ng+Tf+ywNSv2uSx2dghS0wjGfIQmUXWdqOJPwZ9KzoxYnE6ZqIo7Mt4rZnEo9YNNQfQyaJYZEsFfdAskoM/k0rtduz0Fk6V2YQS4QVUxtwGSY76Du5n8fs9cM4CsuwPeOCPGBtHlwMa1W4ohFfGm4Rhjpuaa+gZnxpn4fEEkhT2F7jbWNaigmBOyhZyf2DtB5zyOnmjvTaNTl9cUJFVAUvtcr1OwWYjCgkOKb1tW7jO7AHLwq6Zp8O5J81Lz3+YiMMTlUy6WDMLTk5T4VWfjO7Li3Y5rmOEEmaTD6XjlR7NgUDt3pMajsxsaoqfWdYM2rI2N9V79dP8P8oGkIvAeH3Ts7Az8RV8zVytVajnkvEQJFCPdR6dIPMvDn9XdGHwWbqBhn2580nGYMcQg3enxThTBr4X1Gp3JS00uadvFDGET41gnvQdgsMLyWHitKkaCxTZATzQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 06qP0Y3tGXbwokobblBU1tFGKTtu4plLi1EkTkQMsgnm5Z3FxkGTyK2EQJXbC5ab3qI1uhZ0c5pViXmSOaDwQaOryIUZZYZdIncM4MpiLlJivqa0MtP61RzNcxNhOxZdac+02vn8tW8yN1kshRbyAGduxUv8vaoZpv5O3RLBPD3sD0LsVbqlaYzq6LYkhcBhum1PY8I+ZMmcc+R2RDbjPoBdPS84sb6bG3y4U7P6Mjr2t3oRlW9Vqni4uHrirGqrPb+EIFDvlLgiP0iWyAQ2HV/t0gLG9NT6SW8HngFRD2tGuycxAm5Mn3le9hnQXlk4HyGHtDbbGQ7yE/hvc8HidWBsv//iNG3lLIJ+4z4JT4nOijIwLxmKx9XmhrTb8reKcp1vzhkFC8LIv0sDnsvTrXhMz82PJWHqZCgT0uPVOk0bf1I1ehV63mnL0XDbqrRzKOqucjtbxySppvg6LIJ1YjpqI7Or2JJd37XzBMmca5lQ7ql7Qjy+Mx/tyHDZ4m2LftEqXA7xRTsrFfOw8RCApppPXQwODhq84JSiPTQgb78zv70jrWKWkhLG2HXnwkwu2+7IjobI2SDhEMNt5Xg7KmzEvrOageXM3Ob8HDJep1sCcw+Z1WLeLH/wzxQ2bADl0Kf7QieVlWfW1TZOb/Q4ZsRs/Zq4bV+a8CUHGulAR1iUl7w1TZxviS6WiGcA9FwJm8cmQY4toj3Eq1+Jd1ylCb/kqXP7oh7siVQPYiYXIX2h0zO55q5d7Qq7/clGNnDVeYyGp2not1bHgygZL3SPUrty5c8EQF9VyPvD2fq9mNpHLTKJ8FZDujHnfH+rtVAO7M24SDDQjHK8/6n6uEi37e45GbaIXzEGnTPsDnrk9GAQNOZPcO3Vd1JNTEkWaqFKtHGwGmpbcRMsQFhx8iOvkTw/AOCP2zUJtI+s2bSoIUuOHAeE9K9CIP5g8odwjDETHLqrZfX7vhcxda+3mys6lg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 61076dd9-f90f-4514-b61c-08d9c4fab222 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:26.1154 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 05/14] avcodec/mjpegenc: Add wrapper for ff_mjpeg_encode_picture_header() 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: Y9t1NezgaDFC This factors the translation from MpegEncContext out and will enable further optimizations in the next commits. Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 16 ++++++++++++++-- libavcodec/mjpegenc.h | 1 + libavcodec/mpegvideo_enc.c | 5 +---- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 8b51058f5d..b682036f87 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -74,6 +74,19 @@ static av_cold void init_uni_ac_vlc(const uint8_t huff_size_ac[256], } } +static void mjpeg_encode_picture_header(MpegEncContext *s) +{ + ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable, + s->pred, s->intra_matrix, s->chroma_intra_matrix); +} + +void ff_mjpeg_amv_encode_picture_header(MpegEncContext *s) +{ + /* s->huffman == HUFFMAN_TABLE_OPTIMAL can only be true for MJPEG. */ + if (!CONFIG_MJPEG_ENCODER || s->huffman != HUFFMAN_TABLE_OPTIMAL) + mjpeg_encode_picture_header(s); +} + #if CONFIG_MJPEG_ENCODER /** * Encodes and outputs the entire frame in the JPEG format. @@ -213,8 +226,7 @@ int ff_mjpeg_encode_stuffing(MpegEncContext *s) s->intra_chroma_ac_vlc_length = s->intra_chroma_ac_vlc_last_length = m->uni_chroma_ac_vlc_len; - ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable, - s->pred, s->intra_matrix, s->chroma_intra_matrix); + mjpeg_encode_picture_header(s); mjpeg_encode_picture_frame(s); } #endif diff --git a/libavcodec/mjpegenc.h b/libavcodec/mjpegenc.h index bc9b017e7a..555677e69a 100644 --- a/libavcodec/mjpegenc.h +++ b/libavcodec/mjpegenc.h @@ -105,6 +105,7 @@ static inline void put_marker(PutBitContext *p, enum JpegMarker code) } int ff_mjpeg_encode_init(MpegEncContext *s); +void ff_mjpeg_amv_encode_picture_header(MpegEncContext *s); void ff_mjpeg_encode_mb(MpegEncContext *s, int16_t block[12][64]); int ff_mjpeg_encode_stuffing(MpegEncContext *s); diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 23e8a41a86..9807e491e5 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -3702,10 +3702,7 @@ static int encode_picture(MpegEncContext *s, int picture_number) switch(s->out_format) { #if CONFIG_MJPEG_ENCODER || CONFIG_AMV_ENCODER case FMT_MJPEG: - /* s->huffman == HUFFMAN_TABLE_OPTIMAL can only be true for MJPEG. */ - if (!CONFIG_MJPEG_ENCODER || s->huffman != HUFFMAN_TABLE_OPTIMAL) - ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable, - s->pred, s->intra_matrix, s->chroma_intra_matrix); + ff_mjpeg_amv_encode_picture_header(s); break; #endif case FMT_SPEEDHQ: From patchwork Wed Dec 22 03:25:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32823 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022517iog; Tue, 21 Dec 2021 19:26:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJzgga6BrYiAYll/rUeOWcXie1R/fOzC6NzrKCbCoAKVk5sRiiDQMa/U/ceuqKI/t9abVXCk X-Received: by 2002:a17:907:7f0a:: with SMTP id qf10mr947902ejc.372.1640143575989; Tue, 21 Dec 2021 19:26:15 -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 z6si478732edd.554.2021.12.21.19.26.15; Tue, 21 Dec 2021 19:26:15 -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=QYRMYRh7; 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 7834768AFFD; Wed, 22 Dec 2021 05:25:46 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F418268AF8F for ; Wed, 22 Dec 2021 05:25:39 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VCtztogrCXUtsAGb+GaFfbKpSCVwkYP2Y/ntuvBQex+5yr0gggGRCjTFtYQlGbRblWr57RwqtJJssT9xnwmzmDs7ONp+WAlYMoCPO1vNcTS7GE2lw3DsaBZEXRRTwUrumM/ONj/ps8LSwxLYRIupeyVyClK+zu/QJBs3FjzeZw1AXb/LFDsXa/RzSdgvgFjKZFDb3VvQaOqDG0yJZZkG3idhD0nbFq8DlAoAPbd4NRO699e4FTiDBp9xdwJsLgesGvWlGh1cH4yiYrEEsiVSpWy95huP/9/q8ueoo/Quov+M5wflati6hNJ2twTC4HToPEzwOxvh9FqBQVH0Pd0a0w== 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=TqAiBDQEhibqbrprylJgW2Qq8gdgHyVjPCIp0VZlKl0=; b=erpnWHGEQuvzqL5a+6XpGX6st1KWmq4LA3sh/d/IM1HZ/IL71HJ/HsMklQjL2UEzQ6AXmtPAISJD1dl12v9iWdI8j2ePYdJeVVWyKVqsHJ8XP+FC55hTI89QW25b1BS8cw5SoX84Q/Xah6ATDNhf1Llda5WTb3mciLGHnIcEtALRNaaF5X4kXcOnEelaZVifl+saKahucq//kITmogDUdEJtLNR4WjIps7FysS3Rn/uPJo3DZK4u+qRg14eao6sMJKowbb97ige/dQBT0Vc9934XM8giNGh2TyYBfHejjazNWSRZaCmPyDxRLQ8LQtBpG8RWM+k8ipuFDixx84xWUA== 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=TqAiBDQEhibqbrprylJgW2Qq8gdgHyVjPCIp0VZlKl0=; b=QYRMYRh7ySoASdBF152v/P2UePDkTl6cEeV5jL4ORK9ppTKWAFQyrm4EQxjeJ2qwR0YezuYTAmH6veMBs6uAyOOGURqDw7OBT1iZOnQd082ueXzoyNY8loCgG02sqG2iLxSXjojrK7aagHR6rwUqLrf05I3SeD08YAnsoolGyJy+naSBm+OH9OO05UWxL6/vgS/10ttUAA1xtjEkf/S4cXh41fR0uOgw6QN/K95v4lu4dd82UTGR8LvsPCi3d+mzcFEWJzWv245Wm/+YF3lh2ym/adUXQuq5RtkoC041QP4hK2nPxYMTlnu6mToY0GY54ihUI8QnlyQwqXUD3hBOUQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:28 +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.4801.022; Wed, 22 Dec 2021 03:25:28 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:06 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [r58DiLIbCEj0LrFZrvS3rEXIDfxtLmiC] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dd52c232-cfbf-4677-2f94-08d9c4fab34a X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuBoyQUf2rHPVuupI3Je4yb2cybJNudDfGQ0qijppvo3vUkeYervHrfPVo02Pi2XPZjE2cgJOrrLyCeRjCvsgplUZMNjve6z9y9ck6uAHj1TQ9GYFtZoE00xsd37VK5jRWe84HBU3ae+5A01mJ6izyuSx0/NiNKxcFVbw7YxkAIMvVI2WolG/0FQH5j0LMSJiGODcbTxibHtK2iDpfziyQIMzrkkG1A5kb5CtG3TQzm8BDvXUyJx+SA2IHi89RDq3v0VqPsOA+spGIE+RpwCrTMUJkyTbQlj4koTv0Y1vgUfOUuDvF6gEdSJFzLFZOmz446F6T3rQNzlbkIipQih1VecEJ0SyCjhaZh9v0gcAIDSIUwmOWOxghQspFLzHDr5Nix52hotOpkSI3yEAVlVMuZ/7n0pU55aBcrcTGW/4zvbadU+fWnhIZJJxc3rPxUjjbBrX80U2I5vDjqq6UFcyuJVQ7+8tYt8QuyfdGs3ujS4xPSkLp/aQvGj1lRAXwh0AlIWzVrGVYzRpUXkt+dgKipqPyn9qkD6pfcePK2pYecp7PO+jH3M5O1Sb6qJj9WwFdmpRBVQvzf7ndJH0b7LkxVGWFKFw5wgBaSPCYkIHE7Oayga5bzs7D16D3JxfrtkzbkNbr+j2Yo1lfFbtWZRo1sY5W40D8TDG6q7kKuakpDcZCrqAqi92M5lKzeRWnjas6kvYQmYKjfPILC7N8ANr8J+fdhjjfl8OXipfKsxZ1Xwu5aIb+WISOgq+YJVfGnpMU4b2zhJXC6e5imJKoRVvt6 X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2k/GhiKc4ahp7seu37mj5rXwn9bYNGpb79RYKzt7AYaB5CwA814QeIBzGEsQROY+9iIBdVOt92OW7pKZE/IEIl/1ql9Sv6CuTb/kGYHCU1P96GwGcvpzGlUxuvtPXzYU/pskwOCwq07eaKu77m+I//aB6sP44kcj9wkM3VSMtJVQp7PS4bLUsPQ6dViwV6uRiws1RE+X8uHVreFl0qn638Whijrb3nzasc3Y6foBuOl0uqxvChRPIAT9VzOFky7Hv3CSqRFQ0RTdps7v+pEuS3jpdkea5M66lknX0427udW97J5I21sDbzXs01MZ7RKNCZRJzi8zA1tkA5yM1F/llR+cQjc/OVlpHTuPvgy8SXksOLpR4FvC5w5PAbFlspSKKFqSvC8MlEMz18oeFZJRV92I8mnq1U9WfWzX4brRPmiQYPiFvVi6feajU6GaVB7oBmuYiH+ytOc/5xCYwRDWuw/+oYa/8zzopF3RnC74o5fp4pV7hjdfDeIsgMOhsob1dVNgAv26KBWnxVnDl3bXXQ2k81PeRDo/6ekK+WcrWcv1krtmpRABRTslePwzT3JsPrLVsYEZil7CQIbQ8P5kcw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4SqA3Jq/Du+8MS77/8Yy9lZkcb7eTyBhX6hNBq9zuT+bCwfrp/yr5O5ahKAZi4uOZBpZn40mxvZXpOiWxIl2O5qbNC+3YhjraUll0QYqv3zfaqF3CxfaFWItg5tXMerp40Dpr+QRIUGyhGDGwlRMq3BntT/vAdtXiAuEwt16JP8IqQFMuSSjuxjW5MqyQCI1cWNtkeBB0076G+jCNjmz52fq4YD8YB6EWMGqVoJfebnCuOXj8USPFU968wtxDluzcw/BeVNz0F1EXJuUlihiS0ElvZsm0O1x3+CrU8WVXjTfQoSWF9/aZlci07xhgr2ezHsEwlxpI5chbgP5Rd5TgcCZ36TTn8TQbeWqFURd9NNdU8wfEQtdaKhhZrrPL93Ugo5A1uzQYiCZ1GW1oVoyCbjMBT0NQVcZvTajMIH2Wu4VQcvCnSy4cc6yWCdTrn0xU4QuEUhygWqiESXyjY/rDAlgh93sKAkALUvHj03sFIIZxd29ApQLOEGZGhLRC0sWklSFLsRN46l2MhAjuesw16POaTssPzWujjNL2rmiqt8zEcffmN8MjHbSD+0KIebJL4gbqWVkyaydKGpVUMfuAhjxUEAPIfqO5jsDc+3pkjWEgZyhjOh3Hxd1Rkvn9xkNgc9C0SInhVTxz9KnnM01Wz5bXLtulqNKnF6Zx9IG6Zrj77VtBFhQX9gcU9dxwkqdK1C7xrg6eq9PL0e6ex26G6udNDBfM929GYFr2G4tVtTF9YjnlSkcbY5wdYrIRBx7bdnmzjREEWOaEzIsPVmUGcwbDiTbqv1PkwiBWd+nGO3Vs8a8eEtedL9Js7VsC+6ETu/K5WhaoBGpJePB9lJWayrtqb1e1MaOS3VEP7g3SxnhgLApsrvF0S6huPmTMIWVUeqyqe8MH9mhd3j//mDXZ3l10LpMPL+5GHxb2l17cqCVGqzlIvcr2aRuQ/QmUzbI6pqkAmPnIDYR4Eq4xPEONA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd52c232-cfbf-4677-2f94-08d9c4fab34a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:28.1299 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 06/14] avcodec/mjpegenc_common: Move code for MJPEG/AMV to mjpegenc 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: QXk6HzkAJEpW Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 4 ++++ libavcodec/mjpegenc_common.c | 14 ++------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index b682036f87..c1b759f7a8 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -78,6 +78,10 @@ static void mjpeg_encode_picture_header(MpegEncContext *s) { ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable, s->pred, s->intra_matrix, s->chroma_intra_matrix); + + s->esc_pos = put_bytes_count(&s->pb, 0); + for (int i = 1; i < s->slice_context_count; i++) + s->thread_context[i]->esc_pos = 0; } void ff_mjpeg_amv_encode_picture_header(MpegEncContext *s) diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 0c6a98c394..8046e4b8f7 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -224,7 +224,6 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, { const int lossless = avctx->codec_id != AV_CODEC_ID_MJPEG && avctx->codec_id != AV_CODEC_ID_AMV; int hsample[4], vsample[4]; - int i; int components = 3 + (avctx->pix_fmt == AV_PIX_FMT_BGRA); int chroma_matrix = !!memcmp(luma_intra_matrix, chroma_intra_matrix, @@ -235,7 +234,8 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, put_marker(pb, SOI); // hack for AMV mjpeg format - if(avctx->codec_id == AV_CODEC_ID_AMV) goto end; + if (avctx->codec_id == AV_CODEC_ID_AMV) + return; jpeg_put_comments(avctx, pb); @@ -319,16 +319,6 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, } put_bits(pb, 8, 0); /* Ah/Al (not used) */ - -end: - if (!lossless) { - MpegEncContext *s = avctx->priv_data; - av_assert0(avctx->codec->priv_data_size > sizeof(MpegEncContext)); - - s->esc_pos = put_bytes_count(pb, 0); - for(i=1; islice_context_count; i++) - s->thread_context[i]->esc_pos = 0; - } } void ff_mjpeg_escape_FF(PutBitContext *pb, int start) From patchwork Wed Dec 22 03:25:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32826 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022759iog; Tue, 21 Dec 2021 19:26:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJwBl8CSJs9apCqSwSgAFv887OTAWnyz9THZ33CbhDmK8JUGenrsdnPyWA0epUOFb7fwii6Z X-Received: by 2002:a17:906:58c8:: with SMTP id e8mr925072ejs.380.1640143606412; Tue, 21 Dec 2021 19:26:46 -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 hc12si351129ejc.752.2021.12.21.19.26.45; Tue, 21 Dec 2021 19:26:46 -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=JCWhzYSi; 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 1AB4468AFEB; Wed, 22 Dec 2021 05:25:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073083.outbound.protection.outlook.com [40.92.73.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7AC2468AF8F for ; Wed, 22 Dec 2021 05:25:40 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WZb5EXd1+q7i2gww2KwHoqkutYd9eIaDFhpvwfWckfOnV5R2b4Pi1oKcJSjeyMVLEamV9ISqeR0DqgzOZLxZH1iKYb5XdLCbqAd5EkjSfjT5FY3yCUxGjCTv2bsCmDOGyUtC1MW9707wKrniuLaSETtkmhsoE+4cPF1BKcptyLF17L/DsWrqq/RiAowoM52V1XfBXa1lxc1qby5id6IgkPqi6yk9id1BdRZxGVPLd2OHUI5jtgjLPOcD7rF7rrREwEsXhigJMkMxUwybDadRtYf/VpN3l3c6PXHHoB96KrmQx1FJeTrWK0kJa0b9F9NmKmhjPo1xrzG7P7q+cEqhPw== 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=kThIXcxjc92w7OfEilHTo7Mu4kg0fEzGnc4rDhUBtqw=; b=ngZVCqq1tUvpZmPY5Jf2yTTU1cVgvXY7VqF/9nS4W4ZiO+Ss8samVdHIlO77XchPife/A9b5i2qo+QQYMg22rTA1e5aCA+fXw7il6vwzzxPNFmxaRLEWvLKTD8KarjKuGyRVuqGZMJ4+bmDT9wtgZYXFZJe67BpLhlmEDkejxm/X8Bauh1iOXQqktU9DC4HU1uRFrzehoChS98grhAdfKsNL7p3yYWSYCfvcoJNAHL2Y7RqYbCbLoC7UnheO7gxiG59I57vpUS3FSG7xDcpwhvL0oTcyjp9G0wh+7avSJq4IRHKiHo0VIXhm4k+SnO2ODANWtZ68/3e6/AR9as2Nfg== 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=kThIXcxjc92w7OfEilHTo7Mu4kg0fEzGnc4rDhUBtqw=; b=JCWhzYSiHJR9S55qfBJFytRKo0Af5X1DeAkfI250N3DgXEOjFdztpb4L+Dx2u9KDEl0zktQ0we3cNiraDcShm8M2xrv+zAUQiM0brHnhYtuJr1/WFx+99GV/GXJxU5O7h2aYXBJ7TdJm6SRRRS1qsmRS49Ks4y1TcM5q8OXhXLAh7+hnXAJBQz06QiqkQkc56M4nTHvFq+oQ/DZB5ztnyirglB/ElyY2TZQ4NQ0+ABl8yZ0ILU/hINSYd8Y8DQ0yJKE8tQFvF17nw0wl8rKpXBvK//Hfu3TaQ9h0EXr01JvPlNZJBEsFCwZy4hkMX/47xISgwt9IC+jxnxtr08ROCw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:29 +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.4801.022; Wed, 22 Dec 2021 03:25:29 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:07 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [CdolwQH2dTw2Jvs8w7baaUSHQrs8s7zN] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fdbef2f9-06a5-4db2-9e81-08d9c4fab431 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlqSqCEOGjxYs2dv6cHo7oxvRk+X3ZPAvwzUw2Fombi01g/PpWTskFEg4VkycEwLpXQyJcgeBOEaA+oSBGnUHgBhMNj9hmzCz9TqK0jWSN2kBxsqW18p/0BxNYLE6+mxMYKeOBmCPVJeFMDSqF/Kn0lSKfyebqCNXUvkrJKby2spAQABeqxk0cd9PDV6S6l2PIUlU91NT1ycqdut/rULeIV5A1srnQ3616KEjV85XT90kmYbEnQXu10psnDswvqVb3hWxohTTJ4bN1e6YS+fHKI428CduLFHZ60LA846vad6ZnKH9NP630qo3jYqO115ToJLSQpNlb+O+J8COFzTKK9o4QWNsjMlPAu/9KWk+ZxpyvKonVivk8at/UDUlALwjZbXwktEZuMCxwzZ6ojjjfjZ3LB04W0e2quHKbiRHY+ARK1/XTWLpWtBC+RSsLUFSO1kExf62VOASA/WLIaWrIAHTQUJFQN52X6+AWCDOpDX1LFCxrsNh0uy+5kY62IJ3YugWKnRMcPQTzIbyGae0TIDn+2olHAFoHz9/A8A4A4Yffv7S/yW4bO9wxjfV0Fp0UYcxw2oTHKUKcHk9mcOP3SoHUMYL+kSRuBipY/ih6Zf2A5c25WRG2URU1IqgpK1ziRxjn7jWsltR+zLYHGucsSHArxao3JmdQvXrgBQMxFzOLLxvVMK4rJtu9o0u4AQhfTzSIUT37mFM= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UyEdEILIXL0D9C0GABu1Nxq6eE9swA6LRt3lsB7Tt8hlcj5U1WsV/G+0Dh7z2jgPN95H64eo3GkRh7lxq9zgi4EsladDTyT7Nrf79Emi+cMUdNHdaeBil7Y1x6aF0zSnQpGNtdZgJfIDCRTqXGvDoAdd+el2t48HekwuXpX8u56Fl6uys/wCMUpyVuLd9QEHfJ2k4PSC4djCcFWmj5TjQuJjHUsmrU81whVSUKaT6OUeP1SuCZYfwertzgfDWo6ojz4LHH0+Q/wLLa44Doc6/MwcSpuhigtHNLHQ9QSKHO0pEYWR9od9/vZe1buprqHNk5ZTjBhzbROBAipHzPEg05RXI1e2eay88iEd23XpLqZZqfSJ97obDBUommX0c7ICywkdANhqsY6iB97WhWuR+KHSLjJ9PCwhqLntzEy5gN04xzAmwryuRqD3XRd0nRHgDFT/d59SMhBgHRVTEZfJaXmOIPROSn7a812UsL7tKfva2QKWXSkO7IO8APrPyOKiQ4+0fle9ACnBj1nvhSF9ZZuLp0ZEqrSY3He9rdiF9HZYkeOxuG8wzuNv++FU9lek9G7w9efQUYTYC1EqwOWAwg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uTPy6hMTCO4rr/HEcFnFzc2bSYb6euLdUe1JA/YgeR0s3SlMEHvAdvL+AmcQYtzHZOE9071m/SyLOYDN3ipL2VZ31OqBRYJ3n6kMLCbtwUJ2udkpTo6SfayUgeXi8t5W7GQvE81HxPOFevSn/MMzkmkMgKq0xFVeAvwK5bDgQtWRXeuw5NN6cMEd7+wxFKCIaLrHgnb88Ep4RlkIaASiTdBKw6SCspTvjRMi5p4Bq/hvEDuyKOfjYdRyQjuSywpnEjXbfEOU7q58QRzageke53hQo9UsfWE3RT5/ea9g33Hzhv+MoHGFQ3nB3Yjr1xHhItwvjnXueAn6wUzOxBCoaJqHH8FVi07ql7hbQjVZfP/bbrpxDg7MIyo30knq9V8/cOCM2Acf6kkL764xDntTuBu/+Q1ao0u8LDLaBmD8h9vu9ydO3s7GYcXRMiJvkFUjouDJ07NhqfPaTkou/7p42sXqIQ2Pe68tPKWR8HVZNt4/ugnMXh0a9byfVgsG5reyIqh3jiESLcImfQHe1iBEcvU9tHad0BeKAwQGwbGztw2fU2MPGGEcm+ElyHdRqiPEeMlwW8GuK6hfaOf//MaQoJFbQYBA3kT3srFwRKaTk7RiYPe6nZ5RqfeUB7Rkx6pxsM4N73evka3PYYgMdRoZbrjTWy0zoyfcIEFCDW7lD3F/5N9T6CbwBE7DsI4i3+mvY+0pYnantf01kObmXkBsMKKXJvHJPg5EjvjIs+HgeljBCofCWoZzqxBJBniyhIBC/ss47fKGiD8HWVsAHwiSJVLkrUSiQiL2xz4qJjzapqwIOrHtcl5VZbgJSpyEiejWQPjkq4poLCvU0D3o9w93MFkWB194nF36q2fG9qpSLzz/923mgoTvzvnCVRLMiMq78Jtb9h9G387lIwwrIB/yxg+XK3dYMTml5zMPdkb1tAvj35cInp6NIxD+qKQHCfAXT5nILQ3mXtJA/Xeuf+BiYA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fdbef2f9-06a5-4db2-9e81-08d9c4fab431 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:29.5998 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 07/14] avcodec/mjpegenc_common: Fix intendation 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: Qxbaw2e8V6eP Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc_common.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 8046e4b8f7..b9df32ad15 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -73,17 +73,17 @@ static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, int matrix_count = 1 + !!memcmp(luma_intra_matrix, chroma_intra_matrix, sizeof(luma_intra_matrix[0]) * 64); - if (s && s->force_duplicated_matrix) - matrix_count = 2; - /* quant matrixes */ - put_marker(p, DQT); - put_bits(p, 16, 2 + matrix_count * (1 + 64)); - put_bits(p, 4, 0); /* 8 bit precision */ - put_bits(p, 4, 0); /* table 0 */ - for(i=0;i<64;i++) { - j = intra_scantable->permutated[i]; - put_bits(p, 8, luma_intra_matrix[j]); - } + if (s && s->force_duplicated_matrix) + matrix_count = 2; + /* quant matrixes */ + put_marker(p, DQT); + put_bits(p, 16, 2 + matrix_count * (1 + 64)); + put_bits(p, 4, 0); /* 8 bit precision */ + put_bits(p, 4, 0); /* table 0 */ + for (int i = 0; i < 64; i++) { + uint8_t j = intra_scantable->permutated[i]; + put_bits(p, 8, luma_intra_matrix[j]); + } if (matrix_count > 1) { put_bits(p, 4, 0); /* 8 bit precision */ From patchwork Wed Dec 22 03:25:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32824 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022606iog; Tue, 21 Dec 2021 19:26:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJxngGSUx/e1s5v/ZZdAIg0Ims8tYMAACSESqlhzvieEgeAPkKVMFxfmdq/kh5Q9YENdTkGl X-Received: by 2002:a17:906:517:: with SMTP id j23mr902182eja.453.1640143587258; Tue, 21 Dec 2021 19:26:27 -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 gt42si439077ejc.972.2021.12.21.19.26.26; Tue, 21 Dec 2021 19:26:27 -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=u6O+61qH; 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 5DF7C68B002; Wed, 22 Dec 2021 05:25:47 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 360BC68AF8F for ; Wed, 22 Dec 2021 05:25:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b2HHW8O7RBdrprHi8SliTAgcYs6Z52UaLOf0H4N4/p7tBVkwPzKVzQqhm5k9iSAgik80ffoLbUY6kQf7fMIgLqm6CjCV/gOXUFtByBwmzTxTIVOOze6NcdHwdl5F/lfwyuARWNaHu0fyfl6GrACDp6ny4+9rcnmlisGLtauUb5g/mMh41qUe/cG7YPV7WqIIVj1cCZdojd2oMjKiTT51ev4kZ6xQ5Nfho4gEuAy9219azbGuGyqZRXwPAbEJQVSfj8QFxVdDI7xJc+eHAkDxV1pMLl9VJpcTsB4YLayNp61eRLFvBLQ3uYFct7SiTx5kHJcx3UdSekv4iBUBoJmhIA== 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=nj679eXdhjRNi5ZJzIVk40DqItC8TcZQ63MXJCe+LEo=; b=X78Nq0PnlRHTw6GEy3DW7gQA1e6FC1gTMmSwNpR8ze0LeAAl9hIdLD0kfK+t5QTzh2MwIXmzKmp9Y/1S8VHxfKizJ+EwpZ4ktyXQUAPjwh2AD2Q+liYHpyxosNQUPN8NewE5xAiB779bDKaEy1kds6ndNP/vk6+/vrsio3c+B0w+g+dcf4BVZBm3UY+PEJt9P47OxyrdaOphxtmSejLSUG2MnlCNvteaUHCJIWbVhEFsUG+Jv+P/3WVxF27ebmBYCUU/6zd8wPpXVyhGb95ZiV3bFhEWQqGXW0EvEdWCWxbN5h43EliYeuYCGrL7MLy6qvXul634qnjUShxGOvUGGQ== 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=nj679eXdhjRNi5ZJzIVk40DqItC8TcZQ63MXJCe+LEo=; b=u6O+61qHjuQJtDdZ3dHoQ+vYfJDOUNj76pwq4jFp6AzWOhJ79McSrmNTobjLvVFpDfFVxq9WCT6uin2KD90fZlZrJ+RbQHhFMpVJFX2rwga/hQ8d84NeBHpc2QmnHpb1W5ybcduCGDhEGj/lAP3bWsBKSNkQ0Y/b91ZCbByhoFsmdeirmymEEifheYHfW/PEP/Ly09mM+cN6+sosfqYCaQFQznMizlWjzZIKvpXNbw4dBJM6FHDgdtvC7h7NUojToJkRQq9FohQBBO6OUnNJU6CdDWyZq1AIEfk4myAZmPwdzfdnE/z1cH67byX9tWY/rldWiGz3RCsOUYLxxeuIUg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:30 +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.4801.022; Wed, 22 Dec 2021 03:25:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:08 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [+xvBIhe6Y1VNKdz/BNHsAtJFhrrkfpeX] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf1a2cc7-81c3-40b8-c818-08d9c4fab4e4 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JrhTNjhTvh5YpSe0loWcbPKZyQd/jbbZFEW8EXq+pmhDmzHNJM7oBXQl0hUC+k+MO1OJtVd3ZLT22HvRP9MpUoYWD4zsg+z4gfiugcvosJSV97sacEQE2QqoZVvkV/d6Nw8WOZnBa1xChluyuXlPnKygLiRs2e25WoAgaVe7SJsfcuYsJt4HsFiQ3lJflVEtk/pkwgn852sh+jkCtVlsXgRCnZPGOtg1HwoR7eBkLUFXRvB3sjwpC7JddqyDbgc2vmcosGWOPLcEQCBLJarq2TNKGSv8q1Jsg4idQBwN0jLKomhARtDPGVMrw0D5E+iQZ5RNbTkW7tasEgOPNMu3k/Fapxs75L9+3L+coUPdF5RUaJ0DucRka6onh55LZc1zfWeQsL3d4BkiJUUZvn8OSNOCZ+9BKGQp85FaGztxKQVLsFfMQTGHoB9ImNfWDEtdvbKtuYKceFTKgb5JyZQJpU+XNYyM5GMSc+23BG9VYQ4JELVshO2HlFzDHMnpFo4fBzKJNZMg/9Tx9WdiXPojqrVOA5sZvPcvSJrlHiTCkXgqHMdGPGELttysokBn4KuBC4ImCMNeMB2OxB2YrJtdKOpUStpPxtB/t8KT8fYGhHAlZEpeF6xoWpZ6d5ADNngxDzIkSGaEmQIojDJpnKpJQ21X0o7LJPamCKZTvRCVIgB2N7J1a66ZlK+8rfZgtGCmJHAOUmgSq/aTea5frLagyjxDZDOuTREhUpI1Y3bv5Gbc= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TpsG3zkcVFBZXSiGI0gj7Z+mdUw7rQabIvfchqV3QT5Ct21NOVgTrTNHxi45sDOTrq+Bkvniuj8ZCspqPGs3vXfAc9K0XWPyRyqawPc4p59qhUDpNf/lNBuEvzQt301dZBYzI5ep0tzVlBmpkyxGsLF93UcIstX4tdbqp/emIsao1ZUXAiAKTl5XdGSYOzyrA7nmFelbACpgvipHAK587/N/gq4QoYuvbCdXBtF3u1w9vMQ95W5RTF96vGWxV/MGMi/gYpqP8iaimJa848w3k84/1fQTWpTlyJrFOOKTrpA3/OQD33TT+0Qerf+pdDnWTNDkJ+aWkGtScnDkOthpTbDeMLeNV8dJPyyQQwZ3dfGxLgt8qW7sOsIFtgoNoP4QIcnyDt0BhaQ/IjWPt9i5eDtLET/SADSZXFV+C02uRe4S4WRLAuiLDyk5UwzN//eT+ftRWd15oOydzLo86kT86bPnBu5AtZVIArGXqBhPs+s8sjcXXD/jlyWBUWl2KXmHI4+WSILn+d6yrQbzy1WFouAvF6JWPzdTh62/gcCvKxPm44KovSFt+g+JCb80iSNOywxrI2WOJ4M7GR3ANqfohQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uLbmdzQLtiT4STNxOi7jh8R6tcUOGJ40dgpXifXdzm/2tzcGC/NGT3JypqpuKj7am8lWYIsWC21m8ERHld1XP+8EEIIvBLqAVyD/OWrW9vJftBvL82YvML+0sVOMMDOaRYQ61Y+6ezzKecsOYyJcjGOd4fHKiAKM/tegGNrxV8Ps65516guiCGI0e1IFHwR7rxnZDna1DQo/VB88rCZwUULaSF6Eh2Xgy3hyf/aFKaGP7AEmH0YjrvBXfKDjWBhd76YeDfZwAFSaVBN6GS5F68a5UaqrcOi+nbgj9/d8oMFKEAkOMoEMPdyiZNmX37wwC2i4MeVhCcbpgT0ceTJ4DTdCNdW7fXHxZa8iFxQPjMrgbKRUbM+WTTbInoPuWjSLKk63KCgM/8CdxAEKMxqaXLOfK3cP2o59NrJRrOIo5AC8lRPcHunsQudqd0ZPDqXHQaEIk/BJ7xS7RRaSDfasnd6Rf+V9iugcM8IVkYtIgmlxouw6JfwIy+T9Ljr4RKN0QHWxPDEuleP/R4NiRs0Gx7Xa110z6CVgPGsNuapG/6eJs1C/uu4xddqHgFE8NTFEFQx5ttQVygg1trum80Kz3JQXzG/Z5vdKDaclcDBaTLHhhhmbmTd5iiCnGgbZEJWF7ZTsWXy+2PPdJmL2OngZg/X1blpaqwJnIAoO0ewlIosH4UGEFT1NIUiA7DlBfhEx3YwDgE8PUVLJ6nul2B6gUeapsdG7Fr1li4Ig2WQJZJmNbkphCobgCdPUlZs7MF73mSIzSAdxpZjH0+THjEmgTqxpzQkr55wKAj9MnNz5g2jF4bbbaVM3IrM5yBGYseeuF3QfhQ/WH3zL4u1ByXcATpJZCeJjDABXVXRze5ofAucixPJjbmLPiImbh9LhN7bEYU7xSvYgpsk/MF6UTvi18mGplXAh3DGvnD2egjYMgyBh+LZ6PWmvQm6fli3xhLlcPLExDZbXN6kAh3ZvGzgH2Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf1a2cc7-81c3-40b8-c818-08d9c4fab4e4 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:30.7895 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 08/14] avcodec/mpegvideo: Move MJPEG/AMV-only fields to MJpegContext 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: HBFGdZsLWDv5 This is possible now that MJpegContext is allocated jointly with MpegEncContext as part of the AVCodecContext's private data. Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 18 ++++++++++-------- libavcodec/mjpegenc.h | 3 +++ libavcodec/mjpegenc_common.c | 4 ++-- libavcodec/mpegvideo.h | 8 +++++--- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index c1b759f7a8..9b5acde58d 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -86,8 +86,10 @@ static void mjpeg_encode_picture_header(MpegEncContext *s) void ff_mjpeg_amv_encode_picture_header(MpegEncContext *s) { + MJPEGEncContext *const m = (MJPEGEncContext*)s; + av_assert2(s->mjpeg_ctx == &m->mjpeg); /* s->huffman == HUFFMAN_TABLE_OPTIMAL can only be true for MJPEG. */ - if (!CONFIG_MJPEG_ENCODER || s->huffman != HUFFMAN_TABLE_OPTIMAL) + if (!CONFIG_MJPEG_ENCODER || m->mjpeg.huffman != HUFFMAN_TABLE_OPTIMAL) mjpeg_encode_picture_header(s); } @@ -211,13 +213,13 @@ static void mjpeg_build_optimal_huffman(MJpegContext *m) */ int ff_mjpeg_encode_stuffing(MpegEncContext *s) { + MJpegContext *const m = s->mjpeg_ctx; PutBitContext *pbc = &s->pb; int mb_y = s->mb_y - !s->mb_x; int ret; #if CONFIG_MJPEG_ENCODER - if (s->huffman == HUFFMAN_TABLE_OPTIMAL) { - MJpegContext *m = s->mjpeg_ctx; + if (m->huffman == HUFFMAN_TABLE_OPTIMAL) { mjpeg_build_optimal_huffman(m); @@ -293,7 +295,7 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) av_assert0(s->slice_context_count == 1); if (s->codec_id == AV_CODEC_ID_AMV || (s->avctx->active_thread_type & FF_THREAD_SLICE)) - s->huffman = 0; + m->huffman = HUFFMAN_TABLE_DEFAULT; if (s->mpv_flags & FF_MPV_FLAG_QP_RD) { // Used to produce garbage with MJPEG. @@ -346,7 +348,7 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) // Buffers start out empty. m->huff_ncode = 0; - if(s->huffman == HUFFMAN_TABLE_OPTIMAL) + if (m->huffman == HUFFMAN_TABLE_OPTIMAL) return alloc_huffman(s); return 0; @@ -514,7 +516,7 @@ static void encode_block(MpegEncContext *s, int16_t *block, int n) void ff_mjpeg_encode_mb(MpegEncContext *s, int16_t block[12][64]) { int i; - if (s->huffman == HUFFMAN_TABLE_OPTIMAL) { + if (s->mjpeg_ctx->huffman == HUFFMAN_TABLE_OPTIMAL) { if (s->chroma_format == CHROMA_444) { record_block(s, block[0], 0); record_block(s, block[2], 2); @@ -614,11 +616,11 @@ static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt, } #endif -#define OFFSET(x) offsetof(MpegEncContext, x) +#define OFFSET(x) offsetof(MJPEGEncContext, mjpeg.x) #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { FF_MPV_COMMON_OPTS -{ "pred", "Prediction method", OFFSET(pred), AV_OPT_TYPE_INT, { .i64 = 1 }, 1, 3, VE, "pred" }, +{ "pred", "Prediction method", FF_MPV_OFFSET(pred), AV_OPT_TYPE_INT, { .i64 = 1 }, 1, 3, VE, "pred" }, { "left", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "pred" }, { "plane", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, INT_MIN, INT_MAX, VE, "pred" }, { "median", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 3 }, INT_MIN, INT_MAX, VE, "pred" }, diff --git a/libavcodec/mjpegenc.h b/libavcodec/mjpegenc.h index 555677e69a..a593b67e96 100644 --- a/libavcodec/mjpegenc.h +++ b/libavcodec/mjpegenc.h @@ -57,6 +57,9 @@ typedef struct MJpegHuffmanCode { * Holds JPEG frame data and Huffman table data. */ typedef struct MJpegContext { + int huffman; + /* Force duplication of mjpeg matrices, useful for rtp streaming */ + int force_duplicated_matrix; //FIXME use array [3] instead of lumi / chroma, for easier addressing uint8_t huff_size_dc_luminance[12]; ///< DC luminance Huffman table size. uint16_t huff_code_dc_luminance[12]; ///< DC luminance Huffman table codes. diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index b9df32ad15..0303e65790 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -73,7 +73,7 @@ static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, int matrix_count = 1 + !!memcmp(luma_intra_matrix, chroma_intra_matrix, sizeof(luma_intra_matrix[0]) * 64); - if (s && s->force_duplicated_matrix) + if (s && s->mjpeg_ctx->force_duplicated_matrix) matrix_count = 2; /* quant matrixes */ put_marker(p, DQT); @@ -110,7 +110,7 @@ static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, // Only MJPEG can have a variable Huffman variable. All other // formats use the default Huffman table. - if (s && s->huffman == HUFFMAN_TABLE_OPTIMAL) { + if (s && s->mjpeg_ctx->huffman == HUFFMAN_TABLE_OPTIMAL) { size += put_huffman_table(p, 0, 0, s->mjpeg_ctx->bits_dc_luminance, s->mjpeg_ctx->val_dc_luminance); size += put_huffman_table(p, 0, 1, s->mjpeg_ctx->bits_dc_chrominance, diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 879b019ffc..5a3486d74c 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -290,7 +290,6 @@ typedef struct MpegEncContext { uint16_t chroma_intra_matrix[64]; uint16_t inter_matrix[64]; uint16_t chroma_inter_matrix[64]; - int force_duplicated_matrix; ///< Force duplication of mjpeg matrices, useful for rtp streaming int intra_quant_bias; ///< bias for the quantizer int inter_quant_bias; ///< bias for the quantizer @@ -414,7 +413,6 @@ typedef struct MpegEncContext { struct MJpegContext *mjpeg_ctx; int esc_pos; int pred; - int huffman; /* MSMPEG4 specific */ int mv_table_index; @@ -575,6 +573,10 @@ typedef struct MpegEncContext { int noise_reduction; int intra_penalty; + +#if FF_API_MPEGVIDEO_OPTS + int dummy; ///< used as target for deprecated options +#endif } MpegEncContext; /* mpegvideo_enc common options */ @@ -664,7 +666,7 @@ FF_MPV_OPT_CMP_FUNC, \ #define FF_MPV_DEPRECATED_A53_CC_OPT \ { "a53cc", "Deprecated, does nothing", FF_MPV_OFFSET(a53_cc), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, #define FF_MPV_DEPRECATED_MATRIX_OPT \ - { "force_duplicated_matrix", "Deprecated, does nothing", FF_MPV_OFFSET(force_duplicated_matrix), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, + { "force_duplicated_matrix", "Deprecated, does nothing", FF_MPV_OFFSET(dummy), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, #define FF_MPV_DEPRECATED_BFRAME_OPTS \ { "b_strategy", "Deprecated, does nothing", FF_MPV_OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 2, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, \ { "b_sensitivity", "Deprecated, does nothing", FF_MPV_OFFSET(b_sensitivity), AV_OPT_TYPE_INT, { .i64 = 40 }, 1, INT_MAX, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, \ From patchwork Wed Dec 22 03:25:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32825 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022672iog; Tue, 21 Dec 2021 19:26:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJw3odc24k31ZJs2hgoKWzVTgyLViTKDB2Cp3bq6XYzsZxslTZZugJxRDyfCP71fAme8tLz+ X-Received: by 2002:a17:906:58c7:: with SMTP id e7mr160920ejs.96.1640143596919; Tue, 21 Dec 2021 19:26:36 -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 z21si559913edd.365.2021.12.21.19.26.36; Tue, 21 Dec 2021 19:26:36 -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=ZwmKOMU1; 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 439A968B007; Wed, 22 Dec 2021 05:25:48 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5AD1268AFCD for ; Wed, 22 Dec 2021 05:25:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VQ/6A4yjY0LRlXafKumzHchuAtwqHSWy7AqR2VSWa+a/E48Zl+7eg/mMAXIxLOG6R2O/tyfu/vh26ZxQ70JVvas/so6Vt2ZIm/WClncYD9aSIXnDZ8OC0At67iVzbZJz5p5lbf34YQbiHuLpyBEbwMXpBI0vnYbIV1TWKQh9ZDq6br0UMjP6JuzbxmGZsSFtUslNhIrpmJooq+etecUZy7kPIZh1OdOFuQWU0I+1UYd2KJ/cp4W7YIbnpUOlw0zQ4Vgt9P7Kw4ywkgc9D3LOEFJzumBo+DInCY0/We7m6eC6mbriNC/s1kloGhxoqN+uJFmjRl6VM7MvMgDciF49zw== 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=85qcASFZT93/SWi8BGvQJNaTIC55pTmQn/+vsi9y/YA=; b=mlI5WHDoPSkrm1/OFEkqdGyIYATvagKzFE1um5u+YKc/r8eDBtvgpaLRUEkQbdTTBlwlHh8WMgrb8MuMe+pkxO39waDREgzN9EMC7EwXzYBw21PqAP0tmtUQPC8l3jb9DaaM0yYA1YJkfa1yJzphOg5J22vPNarwP7/GIUbVGdRitkE5WbpzwNwEqFGRufvwdacP93i/7+IgcGwQeiBuMjUSVMb5u8vev5bHMXnuK0eSm7LV5PDTlFqeDvZVcB2LwynRl2VuZL/8EqG+bGAy7qItNK4tFw/LjkUY1wlU63VtpziU/hiQ30wjuT2nqrWywmpxhRhmzKNjDFhQE6yWdQ== 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=85qcASFZT93/SWi8BGvQJNaTIC55pTmQn/+vsi9y/YA=; b=ZwmKOMU1RzZ18pQZBHSeGyK+Tp+jSVCqoWIKVBuY7uXhOWknp0FhZ80T/QGAagb22bP9BuPhP4aG685Jhnf1WZAYq5iHEmeXe48OSTJZlWPVRraZoe3s8KX8LdMPQwvna3qPK9DXYcwl32up9T8hwf4S/DrHnyVCFE0UrBmx4Gkj2Md2CDbZ+bl4Gllj503imczvYspazyR6+TIRfGy0JWl7bjbzTSgIG2XyhRgs13irzIty2t7tWzQCcG2tZQYL/H9JUPPI6wlUtZnBjSy+BKvolchzUXDnq8G1zsSawdUXR5FZKSdqxARzLARYby/+JdxWTfcul5AhM8FlgQHx1A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:32 +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.4801.022; Wed, 22 Dec 2021 03:25:32 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:09 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [y5wiqaPOrQv8BZ7teaWgH9HGLdV5AJws] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 72eb5f6d-f353-4afa-1083-08d9c4fab5e6 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlQ9BznaUGasmdb3HEGfDd2GheGNYF3L9ktVNA0s7Mfl820mYMl3HHM4eh59TZAx+yeUly4LApRh96hO4AYqpgfbCR21wp/iT+ciB58VW83SkbQSTCWa+/+59DRNoDtWfVlqPkFAPLEGAbNqiuB5u6Mo+nk8gIfSVReHwautGifTNNsEZMjWxUXpBNEHDQrX2wK9SdkrK/dWgLhEy12XcNh8zGQj9aEewYRiMMyGMUcVLjvOCg9GSiBojcz63IY1Wgbu+uAgvuuJXQS08ETG09TTjwvhtEESMpkE+m9WyhZ7uwc9Kiz/4vr8/51a5kFl6a5UYO549MxcbabXmEIGNdFTZNDHBak7KMnnyNT8vGCNi36OMQ+1ZpEpJmPxOY2vjt1+TjzxytxBnaNIAhiEjjQJ9vTpn/MZSNU8bSmWZTV8jp/iGZl8trZUV7v7YGII+WnrAtTtope8iVjWWSjCO9498g3BhA96vWTj5sxj87b9PuTexGd4FagNTakPetHtTilxR/KEq2sU/ISox3AnNOin6qIUiSYKPpwonruWDhgj8HObItusyEPfu/IVMGdoiTmNKsPNlZXqlYPP9FzN8jXTAoTQgwPn2QVc1RQLANreZ79ivTcDHKOIV8VuzQYnKh/ku4HO+Fsjl5L0iE9C9FsWP81eKFoQhsj2zHE1TGyiOsO78JuOH5M/h8abdHD/wKX1KtmCfA1Do= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RLqZJcpTR6TJegpuS8f4l6YjsfCY0VhgklTLfP1oHhm0eCXPXFiU6le0zjtyWOHy6+KgNx7TqYa7+rzHnFnyLAprpbURdWsuG+FUuDp2Qf5B+BMsRDrfs6O+4omsjcJKXCE937xn/Us2mzmlRuVXskepGd5jNpYi+9WCLZrugxIRZe1TWqgtPhkIIO/x/anj/xTLIgsp7IdpkWjVFlzt70kSeHsb8aGmvuJkdBBmw611fIsy/CnDdC/2UadKLks/JFL9FXsDlN56qG6YDhLBB2LAKoUN39uupyQIap4k6k1AeQXl9x3xsKYYoYYp6BuxET7qLXYOQm4tJ/K/ETSb4qDI6MLupAo+8vnTza7PC0Za7jDrrrPMpek5Av6CPx49Wqv9IEKPKNUDRk/jUTaNlLib5fKTkHfguY7B+p9xJTqAsdsWxCeM9HNEXgezzj+1IE9+3nMiiarlSxERhCbrHLstXh1/G5F+lLNhyjXghWTTkOhv6QRAfZ2dtGMrSRF5eZcmNgDHd8wJdj2dsYgB6qshyAuhXQkgvDZv/7ladDgaIHnp8woOWyhchw5Ds6I3DFIpsYUpUiKa8TfUpTHTCA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WpKen4LG7RGj9AVsuY+7weknrCeOdTrocIB3oRFj8g+G+M8G9DKUab46gKVmkENvE1/Fd/iW2FiCfBxFjqvHIL/SjbEQvXp96PFFl/Q6luI88QaTN6bEupira53DDGyFlymj7WGOza/jPrJxA2HcmXSg/TTMGGcFTGR95bVu7nIlCHs6wagmLe7qsuN8s3MmpIP4+LDOMXVcrItwjGysQMREvPQtJDwNP4hEbfoBuBhxVYilgdNp3TOS6YA59FAodw+zBnHmNqEjNZT8cx49/Dlfu9oyD9gxxPHobuZaUGFene2dCo4wE0qdic6IZP536MGIwkcqTtbyGAKXwyR3rmsf1yNYbYgyXXpds5Yu+tntRIUjKufeLNMZasTF4q2AN0PWNW7npFV7DrdQCtyzibaCbaN+QaUS9H/YJug6chRAzTODsG16S1GIV5x7v0Tar0lElileEsBwgmd1BJimmFGOUmK3UTGsMiGVQFIN1OgMatHehIiouuCytmuc62jiliyXBHNn1axQ8i/jFV0jc6rwgnMJkd7xj8kf1Jcsfvjg4uNYNq5s8M01n6AveaVft7EPvtvkehk5LW5IpGUus8ZH5nE26UZbYvaSvBt2YZLBZt4DaTPpVMaVwlJZ6DubKvm7AKt2VEH1WiS+vpkNefI+nCZRa3xIs/Gwmj6b/lpd1yNQzUpgys1wJ31dUQgN6sdeXfVtP8I3SWsk3JeHeg5xaQprVnWd5gbX/jbGXO5RKGsjMDaIeW/l4FL8KJuSKCoVYWjVuidg+Z7ArGP4L0pPkWqb2JoU5T3Bqke+Qe6ShDY6QBuHDAJQKEQKUFLpvntS4zk3LKOAcXDo7nM2sXyqo2A/Srd2ff+l35TYr0JgSPx6dd829nOEfzFr+4zmlNiqh2AjHimifqRUfNfwzAy8APZeotRQbx36hIDFFQ4922IMkB9nQGEjRffG9IWZJ04m9y38qkLpF/8tyFoDCw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72eb5f6d-f353-4afa-1083-08d9c4fab5e6 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:32.4132 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 09/14] avcodec/mjpegenc: Deprecate unused prediction type 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: h0wH2AoWylQU Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 6 ++++-- libavcodec/mjpegenc_common.c | 2 +- libavcodec/mpegvideo.h | 3 +-- libavcodec/version.h | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 9b5acde58d..cafa0487c5 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -77,7 +77,7 @@ static av_cold void init_uni_ac_vlc(const uint8_t huff_size_ac[256], static void mjpeg_encode_picture_header(MpegEncContext *s) { ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable, - s->pred, s->intra_matrix, s->chroma_intra_matrix); + 0, s->intra_matrix, s->chroma_intra_matrix); s->esc_pos = put_bytes_count(&s->pb, 0); for (int i = 1; i < s->slice_context_count; i++) @@ -620,10 +620,12 @@ static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt, #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { FF_MPV_COMMON_OPTS -{ "pred", "Prediction method", FF_MPV_OFFSET(pred), AV_OPT_TYPE_INT, { .i64 = 1 }, 1, 3, VE, "pred" }, +#if FF_API_MJPEG_PRED +{ "pred", "Deprecated, does nothing", FF_MPV_OFFSET(dummy), AV_OPT_TYPE_INT, { .i64 = 1 }, 1, 3, VE, "pred" }, { "left", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "pred" }, { "plane", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, INT_MIN, INT_MAX, VE, "pred" }, { "median", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 3 }, INT_MIN, INT_MAX, VE, "pred" }, +#endif { "huffman", "Huffman table strategy", OFFSET(huffman), AV_OPT_TYPE_INT, { .i64 = HUFFMAN_TABLE_OPTIMAL }, 0, NB_HUFFMAN_TABLE_OPTION - 1, VE, "huffman" }, { "default", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = HUFFMAN_TABLE_DEFAULT }, INT_MIN, INT_MAX, VE, "huffman" }, { "optimal", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = HUFFMAN_TABLE_OPTIMAL }, INT_MIN, INT_MAX, VE, "huffman" }, diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 0303e65790..ed0e8c234d 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -310,7 +310,7 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, put_bits(pb, 4, 0); /* AC huffman table index */ } - put_bits(pb, 8, lossless ? pred : 0); /* Ss (not used) */ + put_bits(pb, 8, pred); /* Ss (not used); pred only nonzero for LJPEG */ switch (avctx->codec_id) { case AV_CODEC_ID_MJPEG: put_bits(pb, 8, 63); break; /* Se (not used) */ diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 5a3486d74c..942b05ba37 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -412,7 +412,6 @@ typedef struct MpegEncContext { /* MJPEG specific */ struct MJpegContext *mjpeg_ctx; int esc_pos; - int pred; /* MSMPEG4 specific */ int mv_table_index; @@ -574,7 +573,7 @@ typedef struct MpegEncContext { int intra_penalty; -#if FF_API_MPEGVIDEO_OPTS +#if FF_API_MPEGVIDEO_OPTS || FF_API_MJPEG_PRED int dummy; ///< used as target for deprecated options #endif } MpegEncContext; diff --git a/libavcodec/version.h b/libavcodec/version.h index 8a0b94f5aa..8581d891e1 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,7 +28,7 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 59 -#define LIBAVCODEC_VERSION_MINOR 14 +#define LIBAVCODEC_VERSION_MINOR 15 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ @@ -63,5 +63,6 @@ #define FF_API_MPEGVIDEO_OPTS (LIBAVCODEC_VERSION_MAJOR < 60) #define FF_API_FLAG_TRUNCATED (LIBAVCODEC_VERSION_MAJOR < 60) #define FF_API_SUB_TEXT_FORMAT (LIBAVCODEC_VERSION_MAJOR < 60) +#define FF_API_MJPEG_PRED (LIBAVCODEC_VERSION_MAJOR < 60) #endif /* AVCODEC_VERSION_H */ From patchwork Wed Dec 22 03:25:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32827 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022870iog; Tue, 21 Dec 2021 19:26:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJyBDuivrF9vV24A3o57Qordiov65nOGGLpdiTW2I1jdm8xz6PqWKkWDoxYg6DCBLc0r6+Cf X-Received: by 2002:a05:6402:34c6:: with SMTP id w6mr1148867edc.284.1640143614698; Tue, 21 Dec 2021 19:26:54 -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 oz35si402836ejc.527.2021.12.21.19.26.54; Tue, 21 Dec 2021 19:26:54 -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=Wx3dZ9Y3; 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 E0E5368B009; Wed, 22 Dec 2021 05:25:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7D44E68AFE9 for ; Wed, 22 Dec 2021 05:25:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i951RAtu1+tMNb1W9aCZ/lthmwNILaXDXihC/sQTquB0Vv8KieDYIdFYlpnOSsgkpDdIGnIHa1BZOzv6MDdZOvaXCCAL+WYT8dSoOX6LZ6qecrOUpZrlhfb7dnkbii0qCtfCVWD+5xL/3NrTKFC8a3GQmRtCbVQG0szuDjArCy45oVlZqZYsn5mdIRNi4hCBjcHXg6cl0NCGOySiUdIE71TQNnJG4v0K4+FXvlnTkPBfg4HN/0pyc4NcrKdWEAt3Oxdp1LUmE0kXVCUgKfVlJrkoSJtIQDTuUZjpw41VK4vkU+JbWs165++oMjC9lKANjVSKe4Xzx0rqe7unnsOOFg== 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=oDMh2zor5Fcu9XRd60hNmBs/MX6YVFGl/U8rksyzHPk=; b=a0926j0t7ARtfs82/tG2/AXjFfFyyEwTjGSf2AkeX4mpd11kkdVS9anHVOKKXBqWFXDiL86joaSl7zN+1EbpcpVW6e6N8tG7QQY2Vo4/spdVg+IjPddGs4W4PvQ5nYvPm57iUKvFNnPHQ4HEZws0ZidOHJyhR2FEE6rU0VI+sUeB8GUq/uQ78Cr+RSrxwcBsMQBP3rqNFBmKc86wWTXevVDcyzWTSB8weipInHd+uDJYBAte7EmV5jb8aUbonlJxTQC/S/dxT9yHttlLgzwQ/YpicGBs7y0OK/8wuR6qdpxT8+L3EbC/SMrlsZxzM2tYLnrTr+KYeA7PSNaqIoqssA== 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=oDMh2zor5Fcu9XRd60hNmBs/MX6YVFGl/U8rksyzHPk=; b=Wx3dZ9Y3gGBSLu6gZG5q9KnnoLd/p3NCzMHKGmLDC+h7t/yHKZDcGZCDGgiwOpZPsogf0x4ctvOdMzE7GF54SWCPDoKqryg3SbZTyrgvwWP8rWcauFhblJGxwlag62EyDoE2s6jVa4Qayrr3b/zxuPCkJ7vAgVWiT8ulyRiem2Epr2zAydIivjbcNKVYfLkVn94uescTfdY6SH8jIg7kJzVqhp6fSS8aOUAvD4DesRkjyTSU1QEjyNxpsmH83UzaK8ie+7ekCbIwTHXk1KYpDeFYWZt6Ej8OZHNKC2lsFRQroErojX2FsYyiR2CbagnZEBo0RGrhtl3rqr6gk6AGnA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:34 +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.4801.022; Wed, 22 Dec 2021 03:25:34 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:10 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [5bdKWj0y78UeSPt6O671QzxDmWrGZ+Tj] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8e73b9ca-c91a-4995-2d0b-08d9c4fab6de X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JxNKlBGj85Tj6cqq0/J5m6dbGxhQEZbeT6r+uMWpbn9C4q91US1oxN26bURdmTflFWPqVjQAg5cYhdoIokD4Ntqt/MKS/tNtRfi6WVmXdiDbUm37er7R+41kJzcT6taP00q8ZHk5TdWc+lMaR5M3Pivd01t7WchQnn40gUsRUId2754FbDLsHnzCHZuvH6ywgr1jW6WnI912okTl3VbfiyciRwlfhzHdEuwqySPSdhRBpAa1H1QxPEDw5z8048oM7B5rQl3O00XW8XTXQCKcPHqVBcsrO87Yipdz+6xNhk1hqNG6vnBPRNX5R57fo6C5/iNh9pjeS7+ESHs53Bhwcz5chv/SL8oMuYcuDPi1oJcIuN5YysUuUdIkEITHuP0B47pGl18aFHQxMij6Qz9fG9diBtTiXonshbgsKjXvtQ+7O4t85dy+gdLxNh4z2Lo9TAl5+Yv79xZKqBa2VjsrZpWJ5dJi3vBFIIgKbVAs3f+NLwmK7Bi+r7XYvMqoHQHe0hRjY6zC1hFAJeu0unFXyt/CuCyyrR0OSzUQdzPF4QM+2gDSgpOp9El409cbM0nA+NjeCK7eVmivm2PK5TruZF10iaVwGP3BD9OKm1cT8KY0kM2GLMP2XEZC4BGdpJxKDYSbQxVgZ0E7ZaA1hL+uJKn4Vdh4igRpXUkvyt8gfVEn5lJ0+OPrBSbjawtZnW7dgDUtdMz7S5xQrK8FHkp+H3R1loMdBKRv8oAXTbsOygBk= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: llJp190liuMee0+G+ACnsvKOXcWyL4caNR27EMTf4IKe3GFmYLooyVRzHcNVCikkvxPg7/VXSrrEIBClbf9kzUvA2shJUZ5bL6ezy4QWuk/dKcR0xXtUGfm44IW7CdopiFjhBt3ChFFTHYWrW+wPzZYCvlZJs0M4kSeV6kmd47O+yupll+4tckJn37oFtRYglrPWRd694cNze1HntY63gwVg6gdipghQ8VuxFkS2iZLJLYaQTTFzk6GxgvcmJF1FFF7jOy3qOxQmbYSM5zfAVumrJ6Tg85ByhY35iXpZ96Cwn8NljIK/yCGEJhMCoUXOfppycG1vg5BRQ1Jx9bcIZYTCnXyB83E74kn8QjSUJd4MZ+e+m92GcuLYvPPGF/a0T6yqB6tGBL1Z4IIB6ESxKWoZWAmTy4eW3CYnhg42wpRtz/CGSIoP/djG2g6CP5ZVmbR/N4IjbtsrRMn2Q0zbWRpdq3yAAU6a8m7k6YGeIu6weJw50WQUQ1fVUM1ldOSC106j2IsCBib9A8tZGXIcFOtfoixixPwTJ550ayaELXC06N3Br+PxZCA+UZzv4Eg1ePXsYMVik9wvasirX7gA8A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R80kMi6+D6OMLGdcNXgMDKtx7Cq/IVLk3aCpI7XoNQuM/Tk4pulULj8+Glr0AZQXwvf5ljyXcDB0inPVhdv+HpDIM9/P4+v+f260VSkOHmHuSxCLmayWPPIGL0H92uNCzzuAilx7FoxKzPgpfozgLWlBhH6QTY1MmqpqaVM5igBiIv4aQdTGqCkzo2MbJ5/XZsMekbCLaGKnkVkeHoxBvT3D/Voq5xST2g2HGK/NaLWVEQFdBDXQijmVw/4VY0Ig1iRNtn0/I+Lnrxuzpn7otVT0DEY0rRFtkOkjmbH9bSZtqKD1no01YSL9vseZAs1E+q+gXS44i5Un77W9vnJV2gRjy8jt6rhjJTbOJqY8BCFz9e+ZKr06bBN3SwFSifi2sozHN4RFVgkywDa72BXZuS/GHyNhFoBVascGbNBtlrh6xPcV7dvwGeuklC2r/VKfD2HCHKcIYywUjybzw82AdjzSE3drtM2Kl0q7eh1/n4MyKGcsCscQOZ16NqKe9if9lMSRsjNV67magF59sCfNCKHp1Ap05BTW+C41Ju7WHiaa2/aq1IspfVQCB2Fl9VBkJzcQvRY3VoVQpjRQhDlBnNa9yeR1qQ+T/AjEMY/3ZsY4YgJeQScT46TfbiPV3o1ZJ/Hc2sLhhz0iks8g+ZjjD3NvTjwiTYxn5ZCV4yYYxHyir2J7yLotjoOWRwFZd77z+UDOhVfIjRO8jKAMgETsjHK91T1GCftKuutyJ8qcsD3bVC5gsJQo6Wz4joPL876F091PTQTWEUQ4EGardUEOwfzjx/syqv96SY89wpius8w2iqgntp3B69/7X+pLshhDxjq2KLuVyDkPwiAwtpl/FhBYXLofP005dCSd8IDjrTX4daIU8onzk1G3hAyOZoC5tzHuRc5zov23sqok2Kws63fiJKfNUPXQU/O4j1OT4WG6qO3fQ4z85VuHojNFRX/DGbU+gZVC3b0mJtgTPyk0nQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e73b9ca-c91a-4995-2d0b-08d9c4fab6de X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:34.0392 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 10/14] avcodec/mjpegenc_common: Pass MJpegContext for writing picture header 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: FxHjpSULtwuP It is the structure that is actually used. Signed-off-by: Andreas Rheinhardt --- libavcodec/ljpegenc.c | 2 +- libavcodec/mjpegenc.c | 5 +++-- libavcodec/mjpegenc_common.c | 36 +++++++++++++++++------------------- libavcodec/mjpegenc_common.h | 3 +++ 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c index 968ba1fb60..ea00d5cf3c 100644 --- a/libavcodec/ljpegenc.c +++ b/libavcodec/ljpegenc.c @@ -238,7 +238,7 @@ static int ljpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt, init_put_bits(&pb, pkt->data, pkt->size); - ff_mjpeg_encode_picture_header(avctx, &pb, &s->scantable, + ff_mjpeg_encode_picture_header(avctx, &pb, NULL, &s->scantable, s->pred, s->matrix, s->matrix); header_bits = put_bits_count(&pb); diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index cafa0487c5..e74720dbab 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -76,8 +76,9 @@ static av_cold void init_uni_ac_vlc(const uint8_t huff_size_ac[256], static void mjpeg_encode_picture_header(MpegEncContext *s) { - ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable, - 0, s->intra_matrix, s->chroma_intra_matrix); + ff_mjpeg_encode_picture_header(s->avctx, &s->pb, s->mjpeg_ctx, + &s->intra_scantable, 0, + s->intra_matrix, s->chroma_intra_matrix); s->esc_pos = put_bytes_count(&s->pb, 0); for (int i = 1; i < s->slice_context_count; i++) diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index ed0e8c234d..70d5fddfd5 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -56,6 +56,7 @@ static int put_huffman_table(PutBitContext *p, int table_class, int table_id, } static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, + MJpegContext *m, ScanTable *intra_scantable, uint16_t luma_intra_matrix[64], uint16_t chroma_intra_matrix[64], @@ -63,17 +64,12 @@ static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, { int i, j, size; uint8_t *ptr; - MpegEncContext *s = NULL; - /* Since avctx->priv_data will point to LJpegEncContext in this case */ - if (avctx->codec_id != AV_CODEC_ID_LJPEG) - s = avctx->priv_data; - - if (avctx->codec_id != AV_CODEC_ID_LJPEG) { + if (m) { int matrix_count = 1 + !!memcmp(luma_intra_matrix, chroma_intra_matrix, sizeof(luma_intra_matrix[0]) * 64); - if (s && s->mjpeg_ctx->force_duplicated_matrix) + if (m->force_duplicated_matrix) matrix_count = 2; /* quant matrixes */ put_marker(p, DQT); @@ -110,16 +106,16 @@ static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, // Only MJPEG can have a variable Huffman variable. All other // formats use the default Huffman table. - if (s && s->mjpeg_ctx->huffman == HUFFMAN_TABLE_OPTIMAL) { - size += put_huffman_table(p, 0, 0, s->mjpeg_ctx->bits_dc_luminance, - s->mjpeg_ctx->val_dc_luminance); - size += put_huffman_table(p, 0, 1, s->mjpeg_ctx->bits_dc_chrominance, - s->mjpeg_ctx->val_dc_chrominance); - - size += put_huffman_table(p, 1, 0, s->mjpeg_ctx->bits_ac_luminance, - s->mjpeg_ctx->val_ac_luminance); - size += put_huffman_table(p, 1, 1, s->mjpeg_ctx->bits_ac_chrominance, - s->mjpeg_ctx->val_ac_chrominance); + if (m && m->huffman == HUFFMAN_TABLE_OPTIMAL) { + size += put_huffman_table(p, 0, 0, m->bits_dc_luminance, + m->val_dc_luminance); + size += put_huffman_table(p, 0, 1, m->bits_dc_chrominance, + m->val_dc_chrominance); + + size += put_huffman_table(p, 1, 0, m->bits_ac_luminance, + m->val_ac_luminance); + size += put_huffman_table(p, 1, 1, m->bits_ac_chrominance, + m->val_ac_chrominance); } else { size += put_huffman_table(p, 0, 0, avpriv_mjpeg_bits_dc_luminance, avpriv_mjpeg_val_dc); @@ -218,11 +214,12 @@ void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4 } void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, + MJpegContext *m, ScanTable *intra_scantable, int pred, uint16_t luma_intra_matrix[64], uint16_t chroma_intra_matrix[64]) { - const int lossless = avctx->codec_id != AV_CODEC_ID_MJPEG && avctx->codec_id != AV_CODEC_ID_AMV; + const int lossless = !m; int hsample[4], vsample[4]; int components = 3 + (avctx->pix_fmt == AV_PIX_FMT_BGRA); int chroma_matrix = !!memcmp(luma_intra_matrix, @@ -239,7 +236,8 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, jpeg_put_comments(avctx, pb); - jpeg_table_header(avctx, pb, intra_scantable, luma_intra_matrix, chroma_intra_matrix, hsample); + jpeg_table_header(avctx, pb, m, intra_scantable, + luma_intra_matrix, chroma_intra_matrix, hsample); switch (avctx->codec_id) { case AV_CODEC_ID_MJPEG: put_marker(pb, SOF0 ); break; diff --git a/libavcodec/mjpegenc_common.h b/libavcodec/mjpegenc_common.h index 76c236d835..ac753bf153 100644 --- a/libavcodec/mjpegenc_common.h +++ b/libavcodec/mjpegenc_common.h @@ -27,7 +27,10 @@ #include "idctdsp.h" #include "put_bits.h" +struct MJpegContext; + void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, + struct MJpegContext *m, ScanTable *intra_scantable, int pred, uint16_t luma_intra_matrix[64], uint16_t chroma_intra_matrix[64]); From patchwork Wed Dec 22 03:25:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32828 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6022989iog; Tue, 21 Dec 2021 19:27:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJxb/AudonZ9aICE4BJHrVHINeBbAgYrKPhoIA28Ym3ImDoKhd19KL91RMDy4ggXVjE89Tip X-Received: by 2002:a17:906:7c7:: with SMTP id m7mr955577ejc.49.1640143624165; Tue, 21 Dec 2021 19:27:04 -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 f5si407114edr.342.2021.12.21.19.27.03; Tue, 21 Dec 2021 19:27:04 -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=qCzyni6H; 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 A551668AF8F; Wed, 22 Dec 2021 05:25:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9FDFE68AFCD for ; Wed, 22 Dec 2021 05:25:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fIrK0SFGhgoBhrN0nEnXUuoq4LZi0nZJbNkdsDwEFEZfBZV+g/AAEYJLJ6hU1mRhgTxhPY+MLbLxVueQT9grotcoepRi4qmv5/jwzAK5QWUCJBJ2VfhP1g7aGDIYsTz/xdPn35s9lgiCLTzo3531yi3vK37WmLKeh7uMJoPQS5vE0YAmOgHr9Q0hBOUKdYWhBM0+qS2gL450oXvIJHFVXuYgAMxAVZmuX8bg8NF8mmhxgUJm2SOigSl3JbVxJMcOlerQp3+rLlQ5M/MQfmFK3agclSCcIy1F9Q78dtbMsStLMDq2hhkXzYpNA6lW8v70Ia8tT1WjlUzIdFBVGCIVYg== 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=w+/csP1XjncVDmmFyGdCJU4LIUriWsqlXLUhxGXpOSk=; b=d87z9C6a1z+zzhpkF08kcxTCArSyM6J6LonatHkyU7GzZt97Tq1Z+qDx6HMJbLrMqhL6sj570O5POhmYW7mWA4LJHX1BbmG39tJoNfqL23poaFKOaYBhRESsGovd5Rl9mENv/2gvSkY87rNXaaNkE5wrYfgNa2HfEisSuoULqs4Va/GXZsZ9reNP9tFBNsF+OqD1PkND9JVsYfHL/7ZVMPdriimLuGpTTgNeAHaqYa4uaUPipEB197cDZPRcbKRDGKOU6hPtXsQwsNQm47CPEe39fapdDuEENKN6xheErevXuwYosAHN5m2l/iWCzOHRrlQUJUHI7S+qyVSy2rf6PQ== 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=w+/csP1XjncVDmmFyGdCJU4LIUriWsqlXLUhxGXpOSk=; b=qCzyni6H3gUJFmaA5I4GJAPD6KoouBruwLfeQwssvfH7Jh+xbUIT7yPx2pP7rrA81qGPw7YpV6df+5ucxZiumoKylIxJyljFGG1Cbgf09AxWl2G4Rn1zpFo/JhCMp1ZRJa8S7CMevpg0HLH/iy2wiqE7jin/gx7f1CeZ7EadgXJqcL7anYhH+ZnFrI6mOHFJMqo5GuS6N4bppHPaRNZAa6ctKyBpV01xhFY2xrwlD8DtShUnQZ4Bewyqes7r6H0QfQfq5hzxJ9cp4qilYPHcdLL/AhJwcx3JKUqoZTMQpZQDRfop7cCwl+k2Kzr+UntFbwS+S4Yu5FKk7tgUqIY5DQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25: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.4801.022; Wed, 22 Dec 2021 03:25:36 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:11 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [tcQmQk0yBFrGe7hweC9Fn6BzJa/xKOAY] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 45c4a715-b653-4f0e-7c6f-08d9c4fab80f X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1Jea4qMszDx74JnbCh1uU+1kmdpeAX3SKUm8SSJ49XeqxBi1exujPYwyOSD6xe0GPB35xWhY9oH/W3cRjqZg2iQuTtotiw6lE/2CEd+nSYgKRGXSdFCn1csFz1EmFEzNZdRcQqEWwIZjMrj7rmXUGY2TAAtSVu7fmlnhsYMoJbZ5ruHgElei9C/bzCX+dY2qP679S89qxn9k1WQcbzUPmvXYrZ/O29ELqF57J+miOFE0BtobDePb7aKLzYndSbfCiodDjFb6yyXTI2RajeabZbSp4ExhsWuNj6P/BJhymvdA0TrtQSEHfG6WQUNo8gXx0KlKF2ynN8ZC8cBQ/OG6NZJam/xQsSq2cNyvSJ3k6Xiwy9BncbRyz+c7b9GLx8Chl7Mq3kcinjwM0rQiSbWvF8VyhButenEkj8K7kf+R3rlYzZpPO5Sb852TLbNPVkX6rhd9Wi+h6Tb9wwCOIY4bUFFXYcvlin23oE1G5+2qLhWZDHAeUtVtytamuqdB9XHu08OvIWcTcURRQPOOXT/YK9NM2R5bmMOurnsyU5rdGGBk8XxkP6OP0gEyFOXrvbeHIOL7rTXZx5vF2CcNSUbvql/HtqCIvOgkyg+os63YMqnmWbImPSc2p8ebkS+p6YPQfsi9RHCbCCTu6HLJw/23uQYLKvRJrJODu4BVmq4mqV33ilZyI7aUGIF4/eYjyuM/9pGInEWh+nmDSfooXX7Fisj2bcG24mVo5/a4bK/Mrv87U= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8ks186ZTeFst3fXFkMhRsNsnigiL2Y2OXvtbo7E5iBOzLGhyFCd5y7Z4BMzpMUx44o7PxBB9tQaQdpyM90R0bpTCHDL9eAOvL4ozjTWKmYp8pUsbclcvp3Ib2l0TW3vvNc+/im7Pfj+gX5DwAPx1TIO3oIqbAZuZZlnh3RdHl5KqkByffNLR1knMuLR2asEg7k52+BQbwUrzHVyQI91OorkV+aiUZLw95KCPocm/oqqoh/RQZjBAeqKzHOmY8AeWXUEaLBh9AfXcPrKxTVcxKGohaYHKSJJ2fmNb1PkbhHOwoOpA2maKNTVDo0ofATE9E588ts4UuEUnOAO9NHcsowelhPydugnLffNSu6OKXJpjSZmxaxQwVFQPg0BaoCXXa9IkgzH5scselIln4i9ae1MhzVww3TjNeasWIb9oBj/gbLlb4RZn8OqjrGbC5G/uUQMxsbDJ0ABBTTmvDrLD3pc0YXtrp+qGY1T1rziwF/Ef2xQmMH4JqwhJ+7mgnotIpICR4K2JanXf/IL9zwsq9w3rzD2TUWzpIzggLp/jhy73wZjRceoG+fM7n56/RQ/2gMGgVtY6Mca9LQTkFBl/Qg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: b7P6cWhUwTWdPxfkDcz++O1ADvcSusEQ00Ulo/eve+ecrWrl2HfS3bbE2YUiFsS/erYtDgUOQIUam8MOc5kL2ZHs3Sxb602SVvNiMfQzyNssB1MfyYUmkMVrdkIXMp2DzRswfeojGxWclPRxHvwYGHvpszpA/6almH9DIg3dHYJAN7/cNTh/Zt+dvQjEuP9yVLmsyEygFJe5kDU247qYJPWDQAs29NveAntdsvoui4D3VqM75rrYOuX2v6xKrN53QXdBulRwui88TuaG3a1LOZOJuyHGsIfAHQtO9ihr/KxOD1b+9WZG9tawYZAUiqRz8qAZDfJq67M9T/VwpYHfnq+kLRCdIO+aiUpLAw9QIq42DQfF9LG8QVZE0m3cfxCefIZkK2A66nckuhbqihO126ofvGbNuGQQ+NOFuHIsKmqA/YisVjfwbb9khUqNXDPNlyJ00K4BYZe6QzLNyJbK/4HUuYres+mv92SjEvdI8vgDvF0b6MllV4gtwWgjwhFSFHDa56/Rkl+E6Jdh/j53HvswC3CYsCqAtMZ+yspbQ22drypemQfVYeSBT/JoFEgs07kUSMuF3WjdD+4vI0z8OUBYn1LfwdZKiWxiIWP9orC31w93zg3M1uq2c4mpeGLw9/U7nxIBodfwzNipChtLPqcYE+j7FLsavhk8kdyBt412RUmMEUJQekvAOxZ/EL/G6BvBcFhCVlrw2pzMSEAzXMDY8cQlK+q7ld8jKc/wj70ZwG76Q2O92mnGi6Ahg5DXSUW1dXAmMfWNZEl3U4UQRcXTWt2av9WcKZRtYS7PnrAO0NK08I/XlonX8LD8N6XCqQzHX/dfWkN8cf3ZBA4mPNW5yU9vzdyIk9RhKpK2Pc4VpADE+IYvW6dy/UltDb9/yWU8F8X8U3rQlGIhOeeWEzzL0GCbd0UNbHC9SIZl/cr58ALXGv1AaJpXWbCPZ+CFvZMymWKFsA2VB/v7Ts4FoA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45c4a715-b653-4f0e-7c6f-08d9c4fab80f X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:36.0557 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 11/14] avcodec/mjpegenc_common: Don't call function unnecessarily 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: 5HLBsri2dKDP Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc_common.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 70d5fddfd5..ecc21da1b8 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -188,10 +188,6 @@ static void jpeg_put_comments(AVCodecContext *avctx, PutBitContext *p) void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4]) { - int chroma_h_shift, chroma_v_shift; - - av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &chroma_h_shift, - &chroma_v_shift); if (avctx->codec->id == AV_CODEC_ID_LJPEG && ( avctx->pix_fmt == AV_PIX_FMT_BGR0 || avctx->pix_fmt == AV_PIX_FMT_BGRA @@ -204,6 +200,9 @@ void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4 vsample[0] = vsample[1] = vsample[2] = 2; hsample[0] = hsample[1] = hsample[2] = 1; } else { + int chroma_h_shift, chroma_v_shift; + av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &chroma_h_shift, + &chroma_v_shift); vsample[0] = 2; vsample[1] = 2 >> chroma_v_shift; vsample[2] = 2 >> chroma_v_shift; From patchwork Wed Dec 22 03:25:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32829 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6023090iog; Tue, 21 Dec 2021 19:27:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJx7JZN4/o6cdsoPsgjDkOmEPClsotS5mGtAn2oe1xqCGU9QHqs5YHgCKPZ3fEqp2veL3YT2 X-Received: by 2002:a05:6402:4405:: with SMTP id y5mr1100556eda.179.1640143632980; Tue, 21 Dec 2021 19:27:12 -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 hb19si393955ejc.411.2021.12.21.19.27.12; Tue, 21 Dec 2021 19:27:12 -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=meZsU8+F; 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 6EB7768B00E; Wed, 22 Dec 2021 05:25:51 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073083.outbound.protection.outlook.com [40.92.73.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B227B68AF8F for ; Wed, 22 Dec 2021 05:25:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j6X5l05QyNwZHNR4Md4m1/xEHOOUGpu+TVqKELu2aWYH1qzeiyXhCRgcUmTy8xIydSrQJcJbydU7ig2mMQzbLiiWiyIy90K2CeST0Y1wusVVDbjrqVm6hQeF+FUDJm6XlSreOIvb2/gc8X9D9/y2EdpUk2+p8su+iB4wuErQywE6i5awLfLgy6wghxPYc2vBgIBr8kjJueK3kYWJ+ZlIV63geVDrZofO7IpuNGuUU5F83RAmkPFPFc/Mz4iDYmKaCKMr1X1iqxMdyu2juPZ7dg9T42WX8RnYAs5EUUPn8p1yTeo/OG1xwjFDuFbuMyf3GD1a+6jF1F0YtOl3liZlKg== 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=2PySVkJgqk8Brg4QdAIzPGl0oNh9q114iw1Flivu8Tg=; b=ejHxM4zSunlKLI8ySEWK5ZHFXtueeAt1TQwS/pbS//dGYvuV/PYJqtC7eVqlk1CeUsEDBfwy7nRxVhcs0UYDdqzTpgA3QpRNhy6atC4QwI+fAUvY4UHVu4ctuMG3M6FGHzY+mm/ZaQNS/TgI91v21zU/nvwn72+LEc7zL5E0ij71fqf/VC/JY1bIGD87IxdeKGbP3CS5e1d0AGlPlo4ud7jOu63YIQ1RGlaIkAYMYMW4kd8zicAxwSvrJCPiy9L7P/w2/fVUDxX5VG5zVV7V2cFAoXAJK4ZEZnMqXEaRKz91HSnfYQ65lSlCpMDv+HVj0BkIhiI3+N0nmOQ7Br8Osg== 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=2PySVkJgqk8Brg4QdAIzPGl0oNh9q114iw1Flivu8Tg=; b=meZsU8+F/p0Wc20Z7g90yWSZ/EUKK7M9oG7PYXvLFqYaJVGsXqdqFzZhH4cxDp7EPnMlpjimhoDdIg/QHWgY2T7yWp+E+yUqfQuwt6stkwNBG4FGsfkXrdjAchmTftczm9jaQcDoMCYbIvo7Dt46710zb9477TU7ELldTZ77acRJoX7wXMI3x7kn3CLRdwOqtNJiwV6zJqFQvjT0ZsqgRD2VME8F+EusDGhCq5J615z6tMEq3TV7ZELCKENOT9OKt4HUFBL+GKwVEYKVZlehxdpXHpT+swUuyG40zUl21521WAEbHuNpWs2jfFGlMsNEt5poa6EWI+I6diaQwklL+g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4104.eurprd03.prod.outlook.com (2603:10a6:20b:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Wed, 22 Dec 2021 03:25:39 +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.4801.022; Wed, 22 Dec 2021 03:25:39 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:25:12 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [gNF2Llvr+kGYr/RL21a6O7jYvRRCGWNP] X-ClientProxiedBy: AS9PR06CA0323.eurprd06.prod.outlook.com (2603:10a6:20b:45b::19) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222032514.896794-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8cad8817-ff3c-4660-a757-08d9c4faba25 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JFaVFuP8rJvOAke0sMz3M72JxTkpcTImvWLP6wDNG5FmGTbioh3ED3skzgzwnr+P0tnzsLAg6/F3phNsqyCvdCF7QfbW92MQlk1dTqsEkp3fofJOoja6u0v3L/l+SOZ52gSD0iWkIZa1WLy1t2N/MLNX5b1EhPXhULfqj+Pir3OHMaG666dFhAWdkgOH8206TjQtBnkrlgD5UmquAUnmDVuHOvj+wjinEr6By4Tn6sMU5ygeMHORhigFNt8Odhjb1aYcHj5ULbI6KlASnhE/qjy4EdaWzcwCmro4gkvx4BWF7pbdQ3XSIvbmuUYPhw/7HjVVw9FQU2w/eGxQX+C80j+cO2KiaT1dXDwJygtomRlIejd12mAjgzHYgLGzY3tAqjLRYNIJrXTqrHXD/gvL+12qPPB1oMmzZ1SMeqU+03Pwo+TJDJO0i4e8U+TZH0Jg97vt0/JzuiNAddK9DqQW1xNMJd3ZhPn+AgJXmZ3a/Bj6Hub5QdQURhWQyEBR+QKkpLc0jserpLsGQ5spIUZdKjJVIJLeRagkMuv+2/T7IrRfxmmy8fFP+zK0DH7hhPfJ5P6eXEiEJYX1elYmxt0Xpf5Siu8FoxMFJDCwUTwr79THP+iDzyVOzDsaq1+lQt7RRiVECaT5aBYBLYQn8NLgyue+N3/tzK9A5Zipi3bm+cfpGxjCUWA9MgqhWLo+W5Cn9T5PGUAiHHfq3eu1P+d2CPwTrTl4Wk1O3y97VX5tb6CI= X-MS-TrafficTypeDiagnostic: AM6PR03MB4104:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E2XleXA5aAyrXOJJ+jFS7RzuZzP6Illtiwu8e0YGzxcRvgRQg29Izk9KnSDrpKMeoRy1XLKSTtfKHuN2r3BOQQ6MesnTl2zNiOuZKNx2NoT77YXnFt/7CYhIO3wnJ4POaKDckR0L8u9gakuafTDVoJFzmX7s9ReD72NlLR8HGuhVYcJpP+y8EjR8sWP9SE0FFcXDBj3t2j+k7NYz92CFjrtMJ3N2G0xV6qGC+JJQbM+aCLm63B5N0S3Vc6Q31ygGsYv5NCDHk90vgHonqbPPuEyi35f+8+9KPhQ67cMjJJ4LqX9ecXykZCIygAxC2FsUbFpbdC+0gq6sl0HRu4ZgKZXZtw+DzBvp43tphgDUsjP9zcQ20CsPAwHIMkgEMmiYVi0lmi6Y/orRh274aY9YgXZMDSFX5wpiMmQp9WCrN4W4VeLk1QYkfcCIyloINzq+vJGcJS9bjLAyZrYmZj7bamHSZ04I+hEuG6qK8GxolcbXcrYE09jZoI9aOXtpX32BHKehZrxIXBSC6GoIg51kc1NRtypQip87OqFoXX+kdsgOh9dUQxtj1HOZ7u0p/X08tWtMWiaKxp8Durp4Pac+lQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: T+2f9CUSdLqAiQhrxGPyyd3PtyAbc6uVt1ILGANRDddS1EOuh4AtBqJcGXEr65kJWkCL+nt63vUn5Qw7FEeifU9FToJQQ6myh7eLPz889VmzOjsY7iO+oUK0nqaiD9HE71vAYA+4UqdwBX/gM321+7BjmLvdtkHFmrPAvaesaW3OGJSxx9Gx3SE/+69+6Sgmjp1FJXi405gb6OXrLfEx+fRbygFots6zOsPmrVWLM1Tp+aBwsTGhCwEr1BPHAgfctfaeyX33uVKtDLhUnALK21IIVcYURaCib5GELMdjsnroyQRw8M0tHlOVlWVsTyUPnYaQcU4xZSp9bJQyvLIOotxYE1dkhPQTNw1xfoN6BFi6hRpqMixYlFRxNUoII0iy642qy6vKJLEgdtseaMARa37MBUspIo1Y4xIL+LqTqbBLtkSfwns9673oia7ayvuYlvqz7qemaVb+gjormUTCKCtWwyn5uFOqbRDa2RcN9HOCB3K+o7S1utlrj4SG4880ahHhfOWoliu3RMNajgPNR2DCOoMp84TH6OK9vdxmbfWUXe+jB69PFSEfwXo2lN9uegj8eSkaAQw5fk8/p1m/QXmAKgijzsYqN07iTP/nkLEPBn20Kl+GqFaMIOOm/HMj6+S7wQsO2WHS8q/DCppKXyehbXDEUIWi8+7DCbh7tPJBCs3jC+raUUL1NzOFhmfQ1KLcAnpnLydZn3F6sfVtZ0h4SeyT+youpYVFur+LwUnCP312Oz0Asw/NZAL9ogElrAYXZoI/W6vlV9q5r5ydmit+Z2IkbOcrO5rSKMHg0GOflDY4Sv31YTu64fpxF/VpT3hzv118+mmkMv7WL0tvj5pZ79UlUxNEbcpgAl0cjV3/sjv9wPfdwvCPazE6LD94Kde1+wNP6jQMMTkeb07yFWTmypLctNj3EhILSBSNmBFXAEhp8r80xlTPvFacffuXY3kOjPWkKEPTXsvexlYhdA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8cad8817-ff3c-4660-a757-08d9c4faba25 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:25:39.5408 (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: AM6PR03MB4104 Subject: [FFmpeg-devel] [PATCH 12/14] avcodec/mjpegenc_common: Use AVCodecContext.codec_id directly 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: dItEY4DUCdfu Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index ecc21da1b8..e385ea20ed 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -188,7 +188,7 @@ static void jpeg_put_comments(AVCodecContext *avctx, PutBitContext *p) void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4]) { - if (avctx->codec->id == AV_CODEC_ID_LJPEG && + if (avctx->codec_id == AV_CODEC_ID_LJPEG && ( avctx->pix_fmt == AV_PIX_FMT_BGR0 || avctx->pix_fmt == AV_PIX_FMT_BGRA || avctx->pix_fmt == AV_PIX_FMT_BGR24)) { From patchwork Wed Dec 22 03:30:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32830 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6024612iog; Tue, 21 Dec 2021 19:30:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJzMnuHBlXHaVLPPlfckKyqhupIzYN7gtYEdUHB1NBneFY7qls+WhVUqCexrH0xy6hW0s7tK X-Received: by 2002:a17:907:7b9e:: with SMTP id ne30mr1017785ejc.24.1640143823676; Tue, 21 Dec 2021 19:30:23 -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 n14si134988edx.394.2021.12.21.19.30.22; Tue, 21 Dec 2021 19:30:23 -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=p9b5gqlR; 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 AFAB068AFD9; Wed, 22 Dec 2021 05:30:19 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068044.outbound.protection.outlook.com [40.92.68.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DCF568A7A9 for ; Wed, 22 Dec 2021 05:30:12 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k7oFaWpjPBFhsfhsjHx1rY+24+NS2LhNm/GApbtqi6rN9LUTwUb7wekAK9EEMPdFuzAFCz3kTxjGXtcwfZbB/u/U0/3/CBUM22qF4G7MnImt2CqIxu4XzQ1Od5vrxv1EOySrpNkVj6ZOB1DpC51FhRqQkgPXrzbwV3iwCE4zVCCQHWw1ZAZKaO/WcEYe9hiMMJx5ab4eG1NMPK+FAqP0muklAabm98sZ8rpUsKwpB2ArwNViTHoHscKGtu1C/lT9Z2yQw7ESQbQD12wUHcn/DrBGQKiPa6vZfMYj1RQrye88/M+maWYiduoPu+me6S6tEx1NdWsTTHIatN97rMarnA== 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=xKu3IOKLLp0e38djmR8zuGdkQGH28f5mlokugwRLiQ8=; b=K/E+VDWEyasn/3LQq9g25QQpFFQoHwkJhlAheL1uiV6/Fbd0ysOUdsoYqNY/QgK1LrlcaFUcwojtAOPlueOBesuCg636MsUk5ISHdUdW75va2va9rhPDWXIKx99v9goVIH30TGQBP5PoBoaNqEXBGfNMh0fD3vVlb0dxuAKYvwCf5FuV2mcACMZlo08CuXibACUlNw8Es1sowDQ0A22OMbLYnym5IhT3zF7jUzvpl7Afb2odS8brZFyFZA3I0k6LVgC0Iw9Ku4ocb+IPTb7yCs3ks8oixS/GWDaDHUz1UzFGofZ38cGyj1rAmZCmJCZLjH9HkbCaQfyWBPsBzX+NaQ== 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=xKu3IOKLLp0e38djmR8zuGdkQGH28f5mlokugwRLiQ8=; b=p9b5gqlR7XqmsIh2K4Vo5CG/4oZ9yGMgWmiYTEo/GEYfP34eu7cDQXvyAqRhIPfz0QxIMIHFHJVxiHO2V2HrWCX4GliwaOJyU0jCegSswyjxNixpmZaoDldKcXHm4wZUfFzOpAecxDktumVIHAWappv431i/vupQySh34/yYRuGNm/HDAFJE1Nv3JNZyD251hU6B8ep4LrCXKLxyX2IiKpqAGgUnb+fzzcr/IyBcsNTewfuSEkWsDHEwkYSADjv11nxqYSW/LC1Q1H6S1yBSIRljI0xI39zPEaB+sT7CLwSY3eIR9j1YEpBpOer2idh8cbYMCX3g2Uw1IzbqLfQYpw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB7159.eurprd03.prod.outlook.com (2603:10a6:20b:2ea::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 22 Dec 2021 03:30:11 +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.4801.022; Wed, 22 Dec 2021 03:30:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:30:02 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [FrEkt3r8JYRd2XubgUs2V0xgbYYprMh2] X-ClientProxiedBy: AM0PR06CA0085.eurprd06.prod.outlook.com (2603:10a6:208:fa::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222033003.898353-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6fa39a3a-c7f3-4dd6-f963-08d9c4fb5c0c X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JLW3JzCk1VgEeinm/sEhvz0Qq0YolhuWPn3B5VNwQDx9dcRtd/gtSLNe2jPKNcW9lhE/uECqhJFwbs9wGDR5o03H1iL3Pjpmv0ttk7Uu6HhZx8Z+pV92EgQHTE7Q8HRAAihvmsToudt9LiP3JE0/gtJIxFjqhK0qVVmZ0qtQuK3bPwScWgOuhqrYROQAfmFbFfObhzxLl9zcODyxWl0MMB/JP++jJZ3NGcTS32rbwYT06iKRjZAMIpdWkO7/jy4M+1cT49bJJMDGsv7rmL4B/DNnIR9GsEnLjfn4jqdfKF29q/J4LQkLz+3zDWAfsKIiOUMrj1+HYy3ekJxaS4dNZxbRrI85U8E/sO+8boVPBtkqkHEH5pf2FexG1oYH3/kUg/4eqNWODgbAVBmrihwTeI5zVx1/fiUqphBWAlpnhQr38+ymQL9HgxMdStedJxDom6UG0O9i7v5taJdH2Qc2m14/3fQQhydrn3kwb8aaRF0RXjqYRQxiaHpu9KzwRd5Td9lE5wWIDg4/uSTx1w0pceuhlIx4gmrSPC6gX9xlyKswyHxruI9Ebww995LqRDZBBuvQarzd7BRB+7JhSQ6WA6EbS2BPJSyCtQ7QVHtnvBiSIoxv6C4ELZ1Sac7hZP/XknpfIZLXw/dnk8SUPMS2J1inLaamntxJ6gx9ZHf/kaW6FY44ip+9FQSbD+yqmQv8W6sdsCoWFK028jmgtmTClP3bDEdIEFE69gjxaRKbVLa0= X-MS-TrafficTypeDiagnostic: AS8PR03MB7159:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fRgQz30MQZDGUrPUCLWR7bEZMwi8tmx4I5yGyCanPTbgVoGBqSZvu4ZCVES5YzHq8GvzNDDJi1zQ0cPVm5GfbfWvh8QQTooBhDWCAVX3FiAJ4HBmqzofrEcI6pSs7z1ejByFVSeLSRsYCh5JeDe1UZc84aJ539uplWVx+SVa6K/GK5SuDlIXRWtrOC7ijvxTbce9o+/WJBbyHy/mZpnwsPwLDZVk4Eyh5ovHhUq4AI+wLHH4NIKjHtM2FLX/ekbcJycLZVjG4so3xiDHlVI5EbzBSVoVVJON5is/oA25igiWLyuinfW24i4I6JYy3151ISaONMnRYiyrIrO5r2EdJmHIx6JKvfhV/NVhuCuWu0F2weqqLanW5Nlgqu7MiOv+avIc57wmZw+446I9YUcMgYFP1Tuw0XNngqKxoFEWffgzE0KMLuxc/m5EwPSnTmXCR9AbjgfzgKUlv6PmUB5MAqp3AWa5WpK5IJdtNBPwnqgsKry7bKqSFcwu+GLYoVocqy4B09CtwWGjx6WP/bTQEPtR75IXuaMkg9woxEJhUgnHhOLew1y68zM+aBJJ5WZgyD5TMVV7vr6M+gZVNT00nA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: k+bddIYtm/Jh7Xk5uiSuVgGU2tfEw0wK3uXk2k95fcg788EpXDyFEzDHWrd587TFtCXI/qvpqfqH4bETZKmDK/0NjEtmces9F6J98CtGyQN99bropYaEj8Av+NNGgZgm8jCp5K7CsDxRrlEVeJmLxzrW93PtCMLtauDKwOQTTGhH9EChxxKXyi+klb9GnF+LNSbyEig67xlqhICiU/uxch3m23B/6F7Sym/3daT4KON8KkHn1zIoUKDMMMHiyv85c14rtd5QsQJQVF6333yl9uCv6vdb7GZ0MkUdTBuQKpfkFa2EPS0J9MZXIfB+LRefO7edFUBr0BNRvKvujSus+kBD4TthCfq52ftqgJ/9MQTkzMuK/W78823v+YaefRDBq/HwFTcVbLRLsPIlkj7BRRDCA4UJ49Us84nqEuN1K0nZl2hIAOBAwuorw093MBn8LtYZBnl82fsX5w+G4UN/GLnUbgEoeeCRfOXwjZ+bmh0dMctkTpASSX6J/ZDZUnHL30VmWh5Bln7YRuoLUPypNizjtt20ACvi20fZX70/H2ib4dYqsKKMJybbvLteQZt8DkoiF63DJrSwpGhZhXjaWY4Q2k9zwdGwxJc79uNh8W5MAA33rrNQIDWaqZppgAR2zA0NbJBFj0yX51giG/6d7jxzBo5n9LaREX0UauVpySU8cj5CBbdh0DI9+G7ADXQye+Oki2G1yHO6+LUc2Ux6CXP/8JIi7uOVwBWmYPESHbqQTZaiE9ndUyUYM7Xp7rHaRtiFdFxdTBHbt+T+zmnceUSizNKtx9oc0O7LOL92GVqCEXpaeFiQGKGYpnDFjKAIzsyqoG5680ni9ykuw7DA3yJrtHsU3yjxpFovpO6B+UC160pfDDb/Hs6qi4XgaToBkuPOKlqu0G1tdzDOAV9deaLZsaMZ/joUf2NEs+O45bZbewz4Ta4tM/1Ni9VAVRf1JrjCbbRI+d6gaFixTMXXcA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6fa39a3a-c7f3-4dd6-f963-08d9c4fb5c0c X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:30:11.2012 (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: AS8PR03MB7159 Subject: [FFmpeg-devel] [PATCH 13/14] avcodec/mpegvideo: Remove unnecessary headers 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: vLR0T8ydrqBc Signed-off-by: Andreas Rheinhardt --- libavcodec/eatqi.c | 1 + libavcodec/mdec.c | 1 + libavcodec/mpegvideo.c | 3 --- libavcodec/mpegvideo.h | 3 +-- libavcodec/mpegvideo_enc.c | 1 + libavcodec/mpegvideo_parser.c | 1 + libavcodec/speedhqenc.c | 1 + 7 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libavcodec/eatqi.c b/libavcodec/eatqi.c index 9beab58a83..8f502b3c56 100644 --- a/libavcodec/eatqi.c +++ b/libavcodec/eatqi.c @@ -37,6 +37,7 @@ #include "idctdsp.h" #include "internal.h" #include "mpeg12.h" +#include "mpeg12data.h" typedef struct TqiContext { AVCodecContext *avctx; diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c index 39efed69b1..007e7fada8 100644 --- a/libavcodec/mdec.c +++ b/libavcodec/mdec.c @@ -34,6 +34,7 @@ #include "bswapdsp.h" #include "idctdsp.h" #include "mpeg12.h" +#include "mpeg12data.h" #include "thread.h" typedef struct MDECContext { diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 46e56ca08e..43f27514b0 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -31,7 +31,6 @@ #include "libavutil/avassert.h" #include "libavutil/imgutils.h" #include "libavutil/internal.h" -#include "libavutil/motion_vector.h" #include "libavutil/video_enc_params.h" #include "avcodec.h" @@ -44,8 +43,6 @@ #include "mpegutils.h" #include "mpegvideo.h" #include "mpegvideodata.h" -#include "mjpegenc.h" -#include "msmpeg4.h" #include "qpeldsp.h" #include "thread.h" #include "wmv2.h" diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 942b05ba37..d810f900f2 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -53,9 +53,8 @@ #include "parser.h" #endif #include "mpegutils.h" -#include "mpeg12data.h" #include "qpeldsp.h" -#include "thread.h" +#include "rl.h" #include "videodsp.h" #include "libavutil/opt.h" diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 9807e491e5..4ee7666c78 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -45,6 +45,7 @@ #include "encode.h" #include "idctdsp.h" #include "mpeg12.h" +#include "mpeg12data.h" #include "mpegvideo.h" #include "mpegvideodata.h" #include "h261.h" diff --git a/libavcodec/mpegvideo_parser.c b/libavcodec/mpegvideo_parser.c index 39b9f2e43a..c5dc867d24 100644 --- a/libavcodec/mpegvideo_parser.c +++ b/libavcodec/mpegvideo_parser.c @@ -22,6 +22,7 @@ #include "parser.h" #include "mpeg12.h" +#include "mpeg12data.h" #include "internal.h" struct MpvParseContext { diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 4a2b422f13..8f8b791164 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -32,6 +32,7 @@ #include "avcodec.h" #include "mpeg12.h" +#include "mpeg12data.h" #include "mpegvideo.h" #include "speedhqenc.h" From patchwork Wed Dec 22 03:30:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32831 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp6024671iog; Tue, 21 Dec 2021 19:30:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJypwoEOfnxfbsmZ9Bf6yLDcQ64UpZGbq7ojPDR+iskGnYbg6S+mgvyOVo2eHzWV/1s5SvqF X-Received: by 2002:a17:907:7e9e:: with SMTP id qb30mr927865ejc.348.1640143830904; Tue, 21 Dec 2021 19:30:30 -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 u6si332124eje.277.2021.12.21.19.30.30; Tue, 21 Dec 2021 19:30:30 -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=UZJ0Rq45; 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 1198A68B000; Wed, 22 Dec 2021 05:30:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068044.outbound.protection.outlook.com [40.92.68.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C329768AFE2 for ; Wed, 22 Dec 2021 05:30:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OvVCM5OyA3AX6Z/1Azhdt0LQgHc1yt4HJrbD6X4/DxzK0J/lVBTB0ORDdzIVJVgBuOzqnm9c8YGAMN7gH7bGXBnaVAhMEmPuaV1DVoEIHcw5lkm5FgyUVuVrQ0lawGMKzr2AtcWh4uxwp8PpBXFbDXAuvE+df5uAL4zWZVVBQ1TWe53QRjPB41kN7wbBNQ8a8xJrwpsIFRAOsBbjLcMsRJUl7vxklZ7H2f1KqKk4cPawAinBAyR+2Mar4PsyoZxmeQ7FPSSi0Y9LyOY/0OWA2os8lZf/GJCtaOloSbv5/8CMwQEa/W63zDHZpMo97teHmu6ag2hVDmz+RKinuLYHlg== 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=pRZfFl51OYTmNc+HKAPMI6M8s6GDi1/7iXb5z7pmg34=; b=bHyf0/FS7xa++I8Mz2kga/saoMNS8sWRiAirbw/Btu2q4tllpyZrGLKrHWBabi15Mp8/OpQPVPcm4iN38YKD0WR2LZWKrlETwf0mCerwMsLzPkZWsOTrn1PJLWW2wisoqBomY6OkiYjtf+vK+yg6YdUcClm15QtIhcD7oU2S7HAa6oQOWJKP/UoMlqdSimpL4ezLB84T9a3NL7gmnMOzkFDPuQ0np2uPaKIuh38O/CotcA6v8tGsoBMWf2qcN1oZmFOSOIS3HbmK6vOLofwV6R9Xp3/kTA0w+/oCgrxaK5bH+00U25HdS/c467G7POXMYtsDvIJ4RwWzPPklSHLqlg== 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=pRZfFl51OYTmNc+HKAPMI6M8s6GDi1/7iXb5z7pmg34=; b=UZJ0Rq45sjhpqFgrtWmu3m3JP1HN6KTJP70R7nc/LYN8nkb6jeMSQmeycfr+wagKyNGIPLQB5KQnE4UIblj+fCkrhRtn+CvORvcrmAaOFThnVoPryyonI4XWCnEXYSvhciMLm9SLwXGKXv/yR/MZiNrfYhmpi8JMy3WKqWNdNjhmLaYoyP+eWizqLx/PVsFwwpvHRWYEzfOVSnSjytVwaUjPdfaGXlEXgzb58DKK5TR9kwG/BO7zG33odIyOOghs8ixdv4CiKmQG8AXOGCxWx0qWLDGNWXlY+Ad64qdcdPhmEeHehsx8nk8I1EA8CflvyaIqhrLnW6jTrDLUvW7nzw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB7159.eurprd03.prod.outlook.com (2603:10a6:20b:2ea::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 22 Dec 2021 03:30:12 +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.4801.022; Wed, 22 Dec 2021 03:30:12 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Dec 2021 04:30:03 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [bJbKiDF9Wb6ZLBaQ61c3jA6jceSy2lb4] X-ClientProxiedBy: AM0PR06CA0085.eurprd06.prod.outlook.com (2603:10a6:208:fa::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211222033003.898353-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7656b248-e865-489d-bc90-08d9c4fb5cfd X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhllSvyGA38X/FtZJVNczApH+zkR+g4S4+gCoQ9Gu/btvRMmqKiCKOsEwaa6Ku2thdRnGPIpgNSoFRF6cbM1lD/AxAVwri4/7OoAYoLvRHwTPzdP/0uDxoDNn0DnDYjICU68cDh+NThUEfLqI/wDrGKCA+SG0vPR1U5Ql8dRoaOUfrJcDN0UWyqVpLybfYEXO3CzPVHDEga/7I9P/rfIZCM33C9FIA7mFfgO3nubJv2LmL5/g2fBTUe533fEP8d5ib/FcSwz8ez1ylPMNQa5OOAO3x2wj7e1AQo5+NPQ/UGhjKGjRsm5auRQS3t3m0Gmm1h25mNhINULfBeMUR3fOoz+GIlf1HJcrPPTg5cYPeJwnpn0IayUA0j4f29TNjI90fv9UYY6/l4miNQ05oqqeI7F/t/dne4Lk3qIzrCvV1fz7uOBzwcTpjf5pCJzUEcoWB7yjFf7D6jyBGOf40rm+ylseRkTNSjYCJKlmMxrJRwd5NoioP9I3HXHN8gTaLgpFuuwchPsY8JZ5OsPUHubaFX4+C+uGA82yX9wU9bGvZMwYkqPPItqTVgG7QHbPff1oq2TiKWOFFspiwyGC3rBVPJuPiZcP4AdAl/vwPMxwkWGWGaP/aGX+rMcXQqLGR36rKHBEsw5qYsqFfgmqtOCLY2LFwgdh5eXi7B+LGdMOgCvXIF08bRLwDoUjmflVPCax0TxMUz4GMWwbY= X-MS-TrafficTypeDiagnostic: AS8PR03MB7159:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JnLBeXmd/HmEzzer3vSfS7gj9m/Ck3KwXW/5wF+ZvxjO0nGJbcujDCdpYXPgOChfpJeo5CRX1fjllOytWHFGyTSIJi6QW1h3ln3qY2fq52Brms4NPLIWvigQFpwIoPy+HeLRHJDgBluFW2rNySs25oNxLAPl1M9IvzIaaquLIhyQ1+YwOT2dezMbDyRR142zN8Evnp6PAIZd/kkpbgajp3GMCXOcr7rfzDjE0uaKZxs9yMmQV6v/f3EPI9LRfhfj2uMmVe6So+zUwyVepdo2mCTKMN/9BNNnylrSlMMLA7+gNevq1Jb2QSUuGwfjzd5uUTo1uOB3/N+hVzGum9rUB9gtbqdHOqiUZFP60gMtnA0QeQBPMxN4V5IIUj1BgtXljNnEP/tAut2vTjnPXGidOlA9WLGT1mI3ZDACPkC6+zGRJr3Efpnn4sGQTed76VQrdoRLve+xTm+nMO0ID3is5Ek1rS7XOsLGigLP2bukrE7xf9C8Ipp/8Tq6zH7VDjD6y/1P5LEXPsFtBDzsXv3gF8cBJPxgK147pyOpXjGRlyyk9Tp61RcQ75FtyvKOcEpuWDQ1myZjoQNWBatGe5qpWw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TK3WnKn+Ig16GeFLEWmXDROwCZxGErN9OQIWVQ0+eL/6gZT2y2TeGerA15RJcPzV7Zcp/l35fqjbPdHeXfGrwopOwanmhxgh9c5jTCqQCP6SeO+rbwhCll4lUwiJusQuY+A2+/kngNLXzQzAJeVfHPhUxg/X8ccMd4O8XDWji0mmUh5UT63ACuMjtSDv7vR22rpzxNFXV3mygAPHRpKVfOcsXeDi7InyxmBHOV+q0tUrLYjFlGc5C16EtcYxz9jdnqmJ3EOImQsH7fD3pKRc0vACp3f4Gu2D6QeP+TW+yBLtXtcN4j5VmI7Ygy8vwAVMqfmVZ867aLwitI8Sjw+J55VsOjw+v/8s/+voYcwwOQrydVFnSYRkWx0ZeyUf+gmL5XQcCI/QPT1LUsizUXCo4SgsjzZZCe+ZIYWY91f4mL8B82cO9Qc+ElKVhVYYgOLokb1IwQLQ6bsh5Jhj03AnMSnGh7T6E7gcIy+8ndiPA1Sy3OgUe/tcZ8XhtAAAKOvgSHx2Du3pSAlCzRXg7DoD12x9AmGYK+SQrbbYElC4Enw1hx/eWRa5YDwjzir0PBqoNf2w3qiDqz/IFmPFJnTHKt4RtXKA4tF4Z79fc3awduegH5QsrfqTmpj+SJZoJk/qfbTjHvLh4UxTSZbqKGW7AbhXE/BX6kBM5RaPJhI0jJMaILKftAZjtuw/22YpxLLKjOki8IlouGJsRCN6f76MT3HofutCxEcc1u0zklhLgu021oIFDd0Aj7z4ZfZhhz3SmhltkjoloTPx5mymRiMP9/QcmlmU6PrHQ/HXzXtJWtmqk6JqyJfnwdD6LrEgE6WpeVmHFa+cdoF7f/sPpjY+C3t3bJtKDyCj7pepsjZcFk+KIjWizqFmmfMjxDo5UK7/sDPFRwWDmIO3lf/o+O2v680MsutF85q4+Sxe5QdpcsGGCJvw9074FSWcFTy3GpjyZQpUjuYQQVA6bpvq9Uv12g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7656b248-e865-489d-bc90-08d9c4fb5cfd X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 03:30:12.7478 (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: AS8PR03MB7159 Subject: [FFmpeg-devel] [PATCH 14/14] avcodec/mpegvideo_enc: Remove impossible branch 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: ktHqOQjqzo1A Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 4ee7666c78..79f67ca01b 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -3596,9 +3596,7 @@ static int encode_picture(MpegEncContext *s, int picture_number) s->p_field_mv_table[i][j], s->f_code, CANDIDATE_MB_TYPE_INTER_I, !!s->intra_penalty); } } - } - - if(s->pict_type==AV_PICTURE_TYPE_B){ + } else if (s->pict_type == AV_PICTURE_TYPE_B) { int a, b; a = ff_get_best_fcode(s, s->b_forw_mv_table, CANDIDATE_MB_TYPE_FORWARD); From patchwork Thu Dec 23 09:13:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32854 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7105387iog; Thu, 23 Dec 2021 01:14:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJyIZK7VlQ4WZ/nL1CdsrFNwFfiOfHdOmg5VGUaJN8NKdhwfnO476TSpiteIwnNlfx6a0EfU X-Received: by 2002:a05:6402:d05:: with SMTP id eb5mr1311361edb.360.1640250841035; Thu, 23 Dec 2021 01:14:01 -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 dn1si1899311ejc.651.2021.12.23.01.14.00; Thu, 23 Dec 2021 01:14:01 -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=GGEpf7yg; 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 9D8AE68B153; Thu, 23 Dec 2021 11:13:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071067.outbound.protection.outlook.com [40.92.71.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1CDC568B0D7 for ; Thu, 23 Dec 2021 11:13:50 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xe6Jg+OTXjREJpoNxC1YIeAuoajUcaoaS8UUwx0HGHAEnipMc9K8Pbnm7z5IPMvx3RanfHW+n3NInFmJLIjgOhkCMgv1L4BrWu6Bu8kaRHZ88GnWeH0wntX79nDeHSxp1wgGSWhPzhcdW7rei2pHGNFyCFGLinqPxGjov12eLn961yB7jY4Zoeud6z+yYfSv3fRi4mfgRktyxao0ugGJzqK6LTJdsVNS5X/jc1ITU1UNS5aR+O7apbVDWafY4YDDaljD/zZrkGsC7IH6z0oqKlZ4ELZ+6my3safBqYhTTehAUoj3oEfb1R8h2kUpIH1GI6C4j5rUISVNd1OFjlXTNA== 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=5YhfnvcJQzkTco5d6B559bq2mp+MphB+eAxP9BRpP1w=; b=m9L1dokBgwgpG0O0798FCvu1zF1Zh+T5tKI5PAbedwo9irEE/Rnkg6WbDLeBy3r2UHItmtTuT1hZuVOfFFztiPCS67mDJjRx/g/Ke1Ns+1YLJjP2779eBxB1EBI8pq9lOPf6n1pPFevK0QyMHLyIh6xRgMveMhjYvStdqtDPn14JwPP4E/+Uv/P/+8wkR0X7TpYAbxO1lOb9zJL4q+bozeOT/9a1jDQsNgvrPapyMPy0tPWNEXr7ItR08PjWrlFU4B169Uw9ysg2ACNIpuEo9hk6OkVtO3yWJUKxspPaSsuLGL4G+IKwzW9sDrN/sK4x1WMzEfGLsy3lDjljGtc9iQ== 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=5YhfnvcJQzkTco5d6B559bq2mp+MphB+eAxP9BRpP1w=; b=GGEpf7ygjHOpj5jhgY4Ewp3D1TiF3fc6lZooUOkRUkcZSqHYzIqfgtQLGve+5X6PKTV+KBVI0JUEFvb9xpJ0Dz2avS5oMH3grkaOfBy6zQi4NbKUmObSwgbylG+MTCNcQF7XQ66W1w5WoBCUYRPMqmQswbcls647NP1K3lDgsffmurvl++Y+nuDy/veUEreypbCAyp+rMudmMDioU3KpWnwkYf6KdbWPzPA4v1IsaDAW+p2qOExkHz+dQwd+IjEIqI0y+zSaEYaFIOpexq02+JY4v6KsXpfvofMcTlpmz9q3RCERDLQWaT3DD8y1M1naBK0g9cBaX3X4aQzAP9AKRA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5701.eurprd03.prod.outlook.com (2603:10a6:20b:f6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.19; Thu, 23 Dec 2021 09:13:48 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:13:48 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:25 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [Jx1wxb08zqsEQ9Mdjdq7XhHbR1JCGAOv] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7163214d-6553-4592-e82b-08d9c5f48707 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1J5pW7JZ4oxCTTAlZT5AIFCIj1UXkKa4/bLBoUYXJT34emeMHb+HZA2wqKvNBwsTJRaWf6iEEVJHa7H26wYptywP1eR5uague5cIEFbCYlgGzjG/Z3838PdevC3DL+Iy6OiNw+pbY24KtV2FU68D3a8JCtLRlGMD0m2IL2htTFPsSWN19Ab3pzVQgsecrqCzCDqG/CQko11XFi2AWIAOCsAm2KUSwhXCd9cTEwcMrPvQWBTxDLjF3/XsS3XtnELkwPt49cTjX37N8iAjmyQSjtCjraF3QwQL2DSLaUOnS8w8CAfrjP5OAw5ajWtn8l6ArlIwpVELZWmXbZbBSDYfY7U6C8ln2QzK0DMjC/zR7rNj55nLKcNWajLkqbZzLjEGn8p65/UseBGUOcdnw2khQYb5keMPZmkVWSPgxH0aNZtmQ6znmQgSgrZeZIOR5qaJJpO/j2lOLv6YQMh5jnheD22eii+ng0GgRpExEP0rRmQ4m1xXmo8yHalIey8fO1XdgygpEfr33FzygveVIU9cwONq7yEMslEvjkVCNNbJqSrNx4AKdgSj8D0Z9p0XBm+AfVgYK0AEtkIofFM6Us5Y1jATkFSLMZa/9wjLZ9wrKmlaymPyd51grqdl6LRQx1cJdvMceEPJAbdxzdiwBmYvH+MMu7+sNbxfSpmGV2BMGa1xF7QgeE+pFfuoxgm6e3J5QF8rgOrWOTNQVY2uSTmlJFBxoGQMJkyTieTQGZGeMzFCY= X-MS-TrafficTypeDiagnostic: AM6PR03MB5701:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vaw+eWPHMfzP0MQZLYf64uD0eMeE1csd13JXd5KGckwih5kCbbwxBj2D9dszuZJJTVI5e1p153eMqCoflH50cgu0oYe6j/ZBtKrpBt2ido5XrXsHo6I0unBqppCUJdL/nxWxegE+XClyROnozI7bM9hTHLNWS6TtuCqiL8KLjDeE1i1WdR7m/qG0XmIsYft6qAbv+OngrMnGPlHRdqrqxhUA65kqEshz6R5QveuIKd3W4DekUfsTvvcbh1TC5700O2nO5JOnfbDM3LlEZ/5TChoNavsVruTQBb21z7eqZ2JkU9o+uccJMDW/smUfsknAqfo6jQ1MGMGYLJULXj0UuFQVHYyywlVprBBatZLRu+dBVUJxE3QUJppQZPMYVzIus73ZHjd87ie+lWm+6G98U6U8sMgSkqtPrkTjj9azFH4fF10qJl1+UZjk4X3xigHoWgL5qbXZu9PiBkyC6YCg1czTfPbo6Y3iETbjQl8NswmW2ylkuoIE/tczn/z4M+2e0w1Qho0gH6tsQieqejDGNchnmlzggYTaT1GuGV2FhKtcozEWHIqEFkie/MXoEpTcCwz/ZSvI/Pq9usR3U6ZNTA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kjSvfoIiQ4lr35i2jWukhQ/Rt9Q/cVUlj68P7NcTyvwdTietV8MzPq19rlN9hO8JpzoJegkQ6SlQ3cpGnFEdYVIFKA9w4lyH088IZtikA9Q8JZivGhrrSpIhE5l0G2hRI9R70MVgR7T5nSqbetl7faPBv975ap+To6xfG8W3dca58/yTvWOlKrOHdniBzb7oAJPCn9ParPh1xsYwcWIhLfMpuHG55fjevmUDvnHCBpgsV4YDX0Umt+4LsbASas8D4zqeYpenQCrLwYcTiIVI7o85Ymr2PA+AHY+l6RynQJbNO/cm5bu+AHoxlz9NaSiU85nsl9h72rCmR9t5q1RJ6gU2E+P4frhUVAGPRU98Rr49a9xHanXXZ8ZRqmBfQZO3uoQlq7LdhQeGqDm8CodzXZGIJOSleZotNxeoQBhYVSlyhlFOJ+j+kubpO4oGij0imW1HBdzGxGBKA/kv0p8LMyi7QDiyNMN9nGYVo+HZrPmt0FbAELgr7cdQDtQ8wOBr+z5DNgkMU8is2408vZKTSps8ajwiIFAcJ7qgjqb/rRhFeckCPbESRx5Mk71dT85VjXVXLOENlo23RO0he0ALspsHxqJm2gGPCOr5YN79cXM8q4A0JwDicadBDAhT1gljnstCdMQdL8tkj1xVls+vaPg1L1x/UbSRvSG831x4XyHl2vWWJebGqkqtr/VbO0HVIfkN59OpESMP1TmWllasvdR1QjA5+xxmY+FxfNNiYVFkr74uOx8DkDQdOpRnOyH6iHB6nx9ktI3xfll3/H+UVhx3e0BrbN7PVUAQkAHiDvxW6Ipply2k56W6s1baBqL8vi5arvudLFRvygJiuK05wTnJM8r00m609DJTINGJGkKJppxhVrCwZnsdfYyEzeRf1PQ5Ef5KrRlA3zCB/jMMY6gxhQjvZ43HZwv4y7Il8D5SRNO9pYthzSziM/cPjJq8iYfa8uH4VYwjO7LXbv5E5A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7163214d-6553-4592-e82b-08d9c5f48707 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:13:48.2144 (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: AM6PR03MB5701 Subject: [FFmpeg-devel] [PATCH 15/30] avcodec/speedhqenc: Inline constants 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: n2cNICubN1Z3 Signed-off-by: Andreas Rheinhardt --- libavcodec/speedhqenc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 8f8b791164..967774931c 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -213,8 +213,9 @@ static void encode_block(MpegEncContext *s, int16_t *block, int n) put_bits_le(&s->pb, ff_rl_speedhq.table_vlc[code][1] + 1, ff_rl_speedhq.table_vlc[code][0] + (sign << ff_rl_speedhq.table_vlc[code][1])); } else { - /* escape seems to be pretty rare <5% so I do not optimize it */ - put_bits_le(&s->pb, ff_rl_speedhq.table_vlc[121][1], ff_rl_speedhq.table_vlc[121][0]); + /* escape seems to be pretty rare <5% so I do not optimize it; + * the values correspond to ff_rl_speedhq.table_vlc[121] */ + put_bits_le(&s->pb, 6, 32); /* escape: only clip in this case */ put_bits_le(&s->pb, 6, run); put_bits_le(&s->pb, 12, level + 2048); @@ -222,8 +223,8 @@ static void encode_block(MpegEncContext *s, int16_t *block, int n) last_non_zero = i; } } - /* end of block */ - put_bits_le(&s->pb, ff_rl_speedhq.table_vlc[122][1], ff_rl_speedhq.table_vlc[122][0]); + /* end of block; the values correspond to ff_rl_speedhq.table_vlc[122] */ + put_bits_le(&s->pb, 4, 6); } void ff_speedhq_encode_mb(MpegEncContext *s, int16_t block[12][64]) From patchwork Thu Dec 23 09:13:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32855 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7105525iog; Thu, 23 Dec 2021 01:14:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJz/UqscbXV78WcD3m/WE/zk/Zq/r7EPW6fcc0ySECH1YI1k1CPedPSrSorpF6WA7I/FrOY6 X-Received: by 2002:a17:906:4703:: with SMTP id y3mr1229476ejq.346.1640250851137; Thu, 23 Dec 2021 01:14:11 -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 g9si2148060edt.243.2021.12.23.01.14.10; Thu, 23 Dec 2021 01:14:11 -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=ZocWRNyI; 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 BAEB568B15C; Thu, 23 Dec 2021 11:14:01 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071067.outbound.protection.outlook.com [40.92.71.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5334368B148 for ; Thu, 23 Dec 2021 11:13:55 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XtpvOZoO4rCuxw4e2gKGVnO1ZLXygjDHwhQY7yM61WQNtkavhsWjwQaMsQXqUvZj2nZ4lVvVE6gmeXXx4hfWcBHuHTh0wgTeZTklnh5UXrqzzoJ+zf/MSA1DyOPotwCcMqn+wourtvzLChrvU4n7uLGe/DtK7CPRyFjcOSFk7zhfK5R3SVrNJpiUYkIDwtQbcLOC1NyhuLfuz0fID3/uM0N/0f3wFoTqmroYzJucO68c3E5euJx829hghTOw0U+KdG1CbMdhW5FrLVagqf39IIaSp3eIHg+AKXappWDTdPDnuSUSzJoTvESRay2+fkhTyIS1NNBF/Y4JDmkyLNKQ1w== 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=AcALattJNm20VefZATtWgzSwTB7q2TsPzgE7EAxEM5c=; b=Hqalq8zNkvKGmCm8sIuNOec9n/J8G8hVOxCsM/a87YRHT6hGyoPEzzhmvBHpPI4rfquJl4lAdlGRALGsitenHIf6FddCaou194PEYySPeKUOcvqeWP6BPoXQEo7qWA5++LEPfADjUk/+Nf1s2Rjy2c9B5h9b6k5iKPikKhPYB0Ynj43W0faXJ9+Wfds7WdqCp8Ms/ggXBe3jyyphPtm1ebsWqkoe6wIbojht8+SD6Hcwnbynjua9OMfyppaHGeRhyDyIM8OUnl4uOTH/YfGADsvDOBbwwT1rJhRjB4otzLx+WmF1vcmP7b4tz2+6fiUZp5wjozRV+cmaymuUMAC9ig== 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=AcALattJNm20VefZATtWgzSwTB7q2TsPzgE7EAxEM5c=; b=ZocWRNyIsnflgt35OEUQKkyM4yT4lBWNubfwbaU7f9xnHSC3DqXKCQar6jVVXcrmSnrnnJvNSoKk3oRaDglBWrWathG1dkRP/8K31f5EHUrCo2Y98gOlQQLmryyuccwa6zX4eaYbGKqNf+ilHWOKbjtO2uuanJ5lLDQo9CGKNdzBLfTKEPi+9S1EwQXUJemoaxnEJ673f8jlIQ2pNog+cl9AjcJ2NukTqd8e1rXpPleb0WwREx+hGbzNcdTXzbpFVTnlCoUA3eE3vjmk/ljaotqdIaYtVu38x91hjZ5JkSdGUEfdUuMF3Js8dP++Hc5cP8152rHMVxep8RIU1xik6g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5701.eurprd03.prod.outlook.com (2603:10a6:20b:f6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.19; Thu, 23 Dec 2021 09:13:53 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:13:53 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:26 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [YkTaYjS0brazAD+PQzU1BrChQPJPcK0X] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8dc52bd3-ebe3-48b8-0dfd-08d9c5f48a11 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlQiC7NGv+v69eNmCOGzzjRRFNt865ZPNG1QolM6AXvr8NzNzdSTDW8A6aUl9qbQpxdBwzCFY5Y5GaW50Xjqd03xkDImyQKtLWrvk9AkEs+Oaw6s+i9vew9cKAzMOJtB+fE/Ntg/w85JBSxjU0K9f1fp3F5TB5GeA+C0daFzPoi5rI9xIgTL0pzbfqMS0YI8voALoqyaDUTXg0gs/Ah8n8kLAWk3cV2y6SGNqSuB4qXGONTExvpor7qFq6NosEPLv1wGXaVGyIamDu1cYUFsgtSur3HWEfmcSrmcTNNm+62hMRVJcqjr2lja4LEliMVO0/eCrkqZOIFYezjWXx7PRrGaR7Z4qSw+cPFPPc3tnOTPACclD3dA/dit8umQ834ytrZUL+TqFgngjxPbVnTH5Xqgeq629YXXl1xqGhHQl7QVk00IcQ3t0RinBmrfayfQ4eAeblDmjrQhw+HMe0qGGyvt5wPOftunMA1XDnPB8Z1jNA6pjmBbAiOx56PHxSo2VyqwxEmrjsF4ZHs9jsP0Pz2Nbuhd4VUi1+FVq0qJbshoLhg71LddDa/BXXYtTXeVKdMGXm3TvnZYcT1DoKr2C6MAvHDqA0Yt7AhqjCe4ISK5A66whi/nt9sCT4C6CayYxUFsN28DzbN9vktfkwBHrEz/nosEghp8JBe0eoUZf3k6gvHNeKs6WjWr2dJXqYLOG0wx0AX6ApdK0= X-MS-TrafficTypeDiagnostic: AM6PR03MB5701:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qvlgpzf0gClqerz8AGMkUF1/5S6xY+FZsMSk1y9E7q+pB7l4PJAfKAkkOrsPZdYpxiW2SZxH9T/Eg642IfvOAfitJ1HRL0tm0te3y4md9yFz/KM5vJQbupUm82EpcWwm54KKBLtQyZQBE3VLX7XikBM7O/g03hDBJOzICRhpqNTKm7UeULz9AKLUn6DIxIeFRDiAovCStrcR9eIzqE3mKR8kWgItPghJU5JvbIZiLGerDCZnSRCfZAiAxdU8NtQqoCor9dRLmjcUagzmqprIrPAiQxMXIewxVUROiOtoThvd/xzKoR7KorKBsbt+2OAdlAfmATLRr3ea7iChINahnTC18pSViE3FKBgTgmGesL7VBiR40ddsZHm65Uavwqfjr83Qy01JbHeFBngS4yoTVLR0hWW89KOWj4dIBxYuM3l9jAA3UqejKiCUfqyiu/57mn8iLn1K4X6ODLlBLp8YNEnT6yEDD+qt1WIMpQhsvh1F7APc+TCf8VoioBXWKFKbxUP64+ck4zwi2OWM7c9qvEPWATtvEjqKqZPEg4+X+59WW6AuFTz5B21omu50PTxv7Ww+BhSbrHTdbpXNsAIjnw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: N9c8rfV9/HMzRlZsaiuL7naz9QoZ4TQPJiGsUggSLFbgdgFxZNpmNRvwejD3ZiS1/6WeuIdJ1hUCQEzo3M2n9GfxEB3na371MNicbE7fiFdK3LTEMx7kmPoTMfB01RdW2xcpr67Vzp6GIUwsKZPcZLD6Vgb+E8VSygah8HyZsKQqbwlBi7yUtfgyAOt3fr5JGECVOYR4j7upJXwkJy/W8jDqZ7bYiAbeDPOUJ2SUaM5cjsF6QIPhYmpuW80W5yQkv/1uZ4ZC9L/urliRFNxIrTJvHE40BmKTUDEbciRqTmZixbZZdLAt7v9bMRxy6iiYDZLe3B3VyCAYzQxC6M+Pn0SinoXnnrP2uQwXa2YVBXpxk/h8uafCjMtAVmRxWmnWSIO4nurXAbf39k49c3LVp2/hO0hITQx+3+zFptHVXtkXRetz92T2Kda6eX0nDQHjA5dI70fpH3fg/t3ydLbbdQqRAx3vCVopcy0toIZzqlAOVl1abcncjtqv+90f4QQRAiIuIXUczt4+YVBUetV8y7E43sKjsXzadRuaNvyCw53F24jkDPJu1b/4Dn3yg20zzp4j0fjcx5vqlaqXY31ldR5Qd6J667dLWHIMSR9hBX84sstBlgXUs3PQ0ni7sZhDKUaOd2IaqcoAqQlb8sZcs0Xfe1ttbzsEE0rBkTuWn9KDFbHKHcv6jYMs+s+UovjMEK1OxDU8/4xzltEHMpnlwH8XABp2PA2SjkUAH2VDYaKV913Avjpmdw1alD9aaV2aEIgwJ0LaByeKQmqKFugtgIJDWVNqrllqSdMUqgyeHujQ1mNTdvDu+5fhQShpfqk+cx80qA5+6zqHpIO8KkMbMGb6VVMNrNDu3cvLH2X4q+guUoJwPRVv8NttuiudoVQHec25JXb4F48EJqm81sQaZlXaFmQDLlFXHWeJicr1iuAKolxhW02LAJfwUNxvnEWowjRimu/4VpT1B9Dw2eaZWg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8dc52bd3-ebe3-48b8-0dfd-08d9c5f48a11 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:13:53.0576 (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: AM6PR03MB5701 Subject: [FFmpeg-devel] [PATCH 16/30] avcodec/mpegvideo_enc: Move updating mb_info to its only user 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: Sb3r0nprK+Si It is a H.263 option. Signed-off-by: Andreas Rheinhardt --- There is unfortunately another call to update_mb_info() that is not immediately followed (or preceded) by some ff_h263_* function; otherwise one could have easily moved this to a h263-specific place. libavcodec/mpegvideo_enc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 79f67ca01b..0c98629603 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -2906,8 +2906,6 @@ static int encode_thread(AVCodecContext *c, void *arg){ } } - update_mb_info(s, 1); - switch(s->codec_id){ case AV_CODEC_ID_MPEG4: if (CONFIG_MPEG4_ENCODER) { @@ -2924,8 +2922,10 @@ static int encode_thread(AVCodecContext *c, void *arg){ break; case AV_CODEC_ID_H263: case AV_CODEC_ID_H263P: - if (CONFIG_H263_ENCODER) + if (CONFIG_H263_ENCODER) { + update_mb_info(s, 1); ff_h263_encode_gob_header(s, mb_y); + } break; } From patchwork Thu Dec 23 09:13:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32856 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7105632iog; Thu, 23 Dec 2021 01:14:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJyhn9FI/rKXyUMac2tJfmNCd1qwB+E5YsAnYHpRCOVz9kNQ7HG4lhgsHIFYxaw+0ytghy7k X-Received: by 2002:aa7:de0f:: with SMTP id h15mr1316952edv.40.1640250861927; Thu, 23 Dec 2021 01:14:21 -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 r21si1925070eds.563.2021.12.23.01.14.21; Thu, 23 Dec 2021 01:14:21 -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=Rlj8DC7u; 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 A7A8468B163; Thu, 23 Dec 2021 11:14:07 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071067.outbound.protection.outlook.com [40.92.71.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 779C368B03C for ; Thu, 23 Dec 2021 11:14:00 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MNyZvYIcXA6VCni5TzTZ1bpxcE9kjBsQkeGEEjDQi1CSHVCdBp6r52g1yz9qmtUjj7oLSl05QyUWbsk8W6Y1udGOYFw6ZO6Fn+9QoOwt+L2iSLGWOOdgswle7Vl/leROtQuoGd1Dg7AreEah/Gc8NC5dwA2yrnBTDhA9xyTDdW4nQCzPUvdsy87eWkyzcLO6FSjDofZJgsOdQt8kYcvn936EQsCzt3u3o5P9QJcuxb7l0GU7VZEoCn/WwNBg/AnT2VFnG5eVdonrEMb5N06XorfmbZWn1uMO0zMDG7/QiRl101e/3Wh/I7v+dO1R3cBM62CTmFDZ2W3bFwxXtivdXQ== 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=QT09RLtLe6uk553LyCcGOEGhrDijKtZA4UGHLd1b11c=; b=eoeAaZysotmmvNO6yW9uDU3WIeqGxLyEGTd198KaQ4fcnZi4dtSTMWv7ujtXoTITkMaF6rwjNW40ndXqL86H+sHFuFgo9bGiv/WMrrKMOkqiw5aebSrHLnOvzaXvW7aSKul3lZ3KktUAioEFo8QeUw0Im7X+1EcaLBAo8KePT2GyeJqhMDB2VKMddd1ntyihTDckp5eQ0QreeWJ46b0JvbeRrakyZki58MTOFjZ9nTwu5+Fd2BFtRujcJf1ESPN/K6fEWUWCezdg/28yosje02aRQ7TfQrQB8f6E1PscwTQg7aN61U9YCg4XblnNQTzU6UhRhWizysejB4+jrMzAKA== 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=QT09RLtLe6uk553LyCcGOEGhrDijKtZA4UGHLd1b11c=; b=Rlj8DC7u0PrH6vIB9bIv3K/s1PZrKOUf+I50xxDbb/GSreT8xdwwkBncFnn/rr2IBmeAECUI6QGSmQAxMVtGvsrtBs18xz0MWTRBwVdUK1uaUqM7Lu/mODU0jtSSOBLroPM5K9JTJxRmBjdHhf/rOP+XfiCEe9vcABRNS3HS0A8n7p/ge+no2+Msk+LhdgxtYg9yIIgX6QsXTnl7xveplwoiHVMnAwlFKDNo+VWyR0qzwyK1QV8xCwQRuqq8B8DfPWwb3/yTLQo1SOw/p17ZttB57H34gbez9QfutylihzwAQCX5akU5tpK+wUR6zVjYOGNqIrn1BPlIc9g4Y3aJsg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5701.eurprd03.prod.outlook.com (2603:10a6:20b:f6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.19; Thu, 23 Dec 2021 09:13:56 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:13:56 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:27 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [q2JPvGURL9kXLuf2oErKtnItsfyJZ7U0] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9c71dfbc-3d40-4b8e-644e-08d9c5f48bd6 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1Jgemi0kJD6pC796KZObfVC7RFLwQFf0b/qzpzyNORJaZI/ZcyXYUnKT9/Fa5GHSIGqPAfqS7LZ8ZqCQYuPc2k3gyeCjba/WXk/wg3KlkqZ3b1V2IkGYuhgIim4NNfNFv3GSYZ7ohgyjv2LzUvjO6ox0IqvACLN3jIVAt8iGvOVFwnb0ewGbDIPKneOGjfdZw9T/CDwoW7QeUi9DU6mSSqivuZITkxtlfVBF9JFZxCb1U4mHJMV9nnoGbaQtnFo3GjER7Fj0OAx9IjK/y2RUe+B9DAQ59Adu3C7WCrSAFCIqrTpkC5U1JOqYacMTkX0MNhduhGIEQ4DcBM81jsKHnMI2vT9R3/JbPp1tnBkwPL5X2HbyiaE2Qr4B6788XgyOOMac3WqdpHy5QFYvoB4gVOrWymZ1s1cjtM8gucyI0RSXghhm4P/WPtLY21CPDPB0TCs8Qv37jeUmcoMCTjzRzh02OEmhqOSTPBn3Cc7UIQMo/9F1JlqVoZCO7FGuskvBV5GXL0ztZ9yIA+PhkfhcpF2Np/YlKjJ4k5y8767VXraEi+ouJCzVZkQ/HB/QnUNiBep+XGFD4pebk28Q9ixjvv6EXYgqjIzWjSt4bGE+kpWe833vNGAPFlXq6XwRRiMz23Az0elCa2+FfyqXMYq49jKKZqHLE8HBb5Erh1cnLWA2BPi/9uyp3MVQCTCdJkeJVEgnV4vpr+4wsZJX1ewaioC9MYzdxuZWtU2sRLyhJ0cf0= X-MS-TrafficTypeDiagnostic: AM6PR03MB5701:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z6n24ABzla/FjQGNRCjyw/fhLoNYHukqCICHSpGcnS5msaPRiEv4rl0S1XqueQWox1izmap9oetBvMoc8z8+zITZIMh5gj2IGgrYlHXcBSx+Hen5jynIeUvtyr5yoVozLXcqgKbBTRkeBxl440Avw0LTffhIU0tLHq667uMq/mM2P/jmhyEJYB3C9IQS86/x9JESfNAoxE9riLUGi6Uo3C4VEcu25wEDcQVVv0+Pq5KDp3L0VpHjm1L25MPCu0zThXVvbNuiw0Z0vCxr97t+W3Go/0JYWBAy+Feaud9KMUAnY5gTZS3s50NJphAnguxCyw/p+UNepR9CVuxlhvOe3lXaruWJ0pt8rG0F7nlv3fl5yy5SrjjhVzwdrmWYNlu0FmZCdLjW8vv4MvdT69uv653pcylyUU0mvS4LFMFVsJYkmPNZ4SXIFW9lDuBinwYTgzYiJx095IvFtkv/1jfpHflXNpAuCIk851tUv2+552AJVmPbbntDYX8OZfBQ6iFz4fWiDpxHsHqi6S1kAbVFBBTPY20uUg0nsFVftmizaivzxP2VibkELUs8q6jZ/3c9dsUPXLOAmzCM5dVp4Lbwmg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FT4b1F7GMoK0q8SFR45pPOnEDaBFYjhUDO64d9n2acrgI9DWwYFVT6gpC7u4qBP9QhG75u2TTuPzlivhi5kId3g6L6jrCHM/NJrxaDexu6NMT1G9HzNjrVVRnL0M2DAwPfDpos3t7kMdJQf4Y5nrUXOSZAiH0xHz7IJ/oK10aY711wLeY+eHOD0fyB+J8mcf4F3LGwHDsSx9Rkyb9FO4iTj47v8+o2tibbESMWSjOWbvminFoTXG8qJQR9MslNNGNQfjFIwVIZAopMuGFEyQwsZim91AkoMOZvO22VkqmlDTtb+AvZXHWruZ6pRKj5QS4pYq0tmWNmE2Zq1T2Ch9JpIgng1iNYu0ppcHHairrKhK2gXjMH4DXaY/c6g6VBqs8i7/1izl4K2raCRgkArekHYV2Ek5O+rjgbYheGJYy/8yWebNnAuDl1SEi5idJSWJ6TemcVJusfOOftJ6dUyqbupjL2yzmHZazC5gjdXgkYDrTsotmvio78iaVdQp0g5oz8ZttZRsG7ybZkieETeX8Pxy5/uEUH/z72qXLls/nk7HnWPz1tPq2HK5ebfnw8tPz7RbfZJeGXrImD0oKtQo3+SX3FTXyV1O7FNABAeg+T3aWwyi+aivJTzJYTAjQtOSxOx2uxcyFV0UAYQVgaVEBZ5J//PKSt2V/ITy7A2POrnBwbmVg+eQlNk5bIB7RynHKkFxbLd0sbq3xPvnrpKHYUGWpwVrYmfNq90UbF5+SIDe2Vl2spkBjfCgVWe8HJbNxi6rJSIIzLUDb6MfG4bqSWygtrMy5OA4y0Y7AVNtkK6xVDYJ41a5ayMW3NfLEDPqn8cgOpkijCM7XMqopdLWXBNm1X8WgArqrzDi1kye2m5eyxiAwUJhNuKbDtzM+/e5DQh1P0JSTUWFUBK7AJvliYhDZwh3ul6NbYAAo41eC8AY2AH2ZMBJj3XDhZG3dkTwnlPwuentGe9nYNDLHFzUmA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c71dfbc-3d40-4b8e-644e-08d9c5f48bd6 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:13:56.0285 (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: AM6PR03MB5701 Subject: [FFmpeg-devel] [PATCH 17/30] avcodec/mpeg12enc: Simplify check for A53 closed captions 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: G/N7prcgnxDj The a53_cc option is only useful and meaningful for MPEG-2, yet it was accidentally added for all mpegvideo-based encoders. This means that it is possible for a53_cc to be set for other encoders as well. This commit changes this and reroutes a53_cc to the dummy field in MpegEncContext for all codecs for which it is not supported. This allows to avoid a check for the current codec in mpeg12enc.c. Also add a compile-time check for whether the MPEG-2 encoder is available while at it. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 2 +- libavcodec/mpegvideo.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 2fb2232f3c..abb0a4b29f 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -551,7 +551,7 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) } } - if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO && s->a53_cc) { + if (CONFIG_MPEG2VIDEO_ENCODER && s->a53_cc) { side_data = av_frame_get_side_data(s->current_picture_ptr->f, AV_FRAME_DATA_A53_CC); if (side_data) { diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index d810f900f2..900b8b1403 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -662,7 +662,7 @@ FF_MPV_OPT_CMP_FUNC, \ #define FF_MPV_DEPRECATED_MPEG_QUANT_OPT \ { "mpeg_quant", "Deprecated, does nothing", FF_MPV_OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 0, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, #define FF_MPV_DEPRECATED_A53_CC_OPT \ - { "a53cc", "Deprecated, does nothing", FF_MPV_OFFSET(a53_cc), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, + { "a53cc", "Deprecated, does nothing", FF_MPV_OFFSET(dummy), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, #define FF_MPV_DEPRECATED_MATRIX_OPT \ { "force_duplicated_matrix", "Deprecated, does nothing", FF_MPV_OFFSET(dummy), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, #define FF_MPV_DEPRECATED_BFRAME_OPTS \ From patchwork Thu Dec 23 09:13:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32857 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7105756iog; Thu, 23 Dec 2021 01:14:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJzzTJ7PDEpg0dUp7Y+qZv9Q5LKFSg3jXtcBr2/RH+0Dd3Pko5Sm+ijXQBOnwfB5z7snfbhR X-Received: by 2002:a17:907:1c8b:: with SMTP id nb11mr1221561ejc.72.1640250874138; Thu, 23 Dec 2021 01:14:34 -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 gq22si1858162ejb.716.2021.12.23.01.14.33; Thu, 23 Dec 2021 01:14:34 -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=nwsCP0Vy; 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 328BC68B169; Thu, 23 Dec 2021 11:14:09 +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-vi1eur05olkn2083.outbound.protection.outlook.com [40.92.90.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EBE6668B14E for ; Thu, 23 Dec 2021 11:14:01 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SuXRcwMPidgWk+davAK3nadJA8s9Zg8uRuHWSxgZeKbvdY4dNkPIEliyGmwrQgucTtoHd0ga87jw15lfYvivaEIFHCqev4dwJmLeS70oa/vI3heSsEZbF2qCgg8GqZ3qcG/5OnWhyvNRbLECwin4RCk3WdF/3L+LVypEU0223zeeqjrSdu7xyp50mrHiF+ZWh27VNWmha6J6J+YeAndlJHCI5Ns3j4r5uc4a6Dg7331E8MkqN1yqhAhBxy8KRvjRkIVVVxxVfie1Cms1OzgEUWDFJ+bpjC5Mv6WM2pvEsnX8QliwBOBNHb36E/ooAC5tdLayfJh1K75hA4ImpsM28A== 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=r3/eBi7BI8h4cSRJAH9Te4DGRpHuFvni0G54dezby8M=; b=BqL+cb0N/rQu1/CyAXTofpIk009i1cbxAOVn8d8F6GqPACx/zmLnwhxq6YEN+5DqPibgvpS10dsoo22GU37c6NYuGio4LJxldh4kGKrD3zEISIEDfd880m7KnOjuJB8rU8URRvUHvnbcZ1DB+CXzvTVfbr0FXFqYU9XoLLLMB3lMpra3jtLQSnb3mQj8DtKmVgRgeC1FkPNij321dZ7KdNs62wxt7bwAdRw43+hVbONW12obp3jgmH/qLUsFXhZ5e21ewNG0pipa06VW+j/DwhOrvJbNsx69IN/8lqnk/fZn1ftPnAiXl25g9EBxRAJM3OMxn24+8szbxC9OkGRx7Q== 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=r3/eBi7BI8h4cSRJAH9Te4DGRpHuFvni0G54dezby8M=; b=nwsCP0VyNvxFeOsb+/S2+TmxHhMV53v4Q7H9pKNEU+ZO/Hzqp4lGAcGkV5bWZiNGzZY+6fWqjlVLG8sio492Cz+lVz1SP3NQ4EssBRuFhRIOdRRehVmhjngBaG7pVbHPuRQtnBDXIElLG+mwNuWmth0mG5zys5yRWlTDS5IFjh4ATS5B783uaP+tbM189CibfC4USSwQ1FSoJKcQHUJt3NHPjQMWHQntmib8qBcjYjkA6By6k9oruQtzI6Pr8UjAc1OLuEoJyj34gwYP5sax/hiqSrdqOGW3ex7Hvyls+9oNovkUVsfkO/f8BmrPjiomwpUnWPFSp3ZN2fp1NA+l+w== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:00 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:28 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [Brx5Pd5Tzlp7MVavD0acyzKrbREBYEPp] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0ce3ab20-e9c3-4cf9-013d-08d9c5f48e7e X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JInq/w6FZ95iJcann6P0Wq5IW9WE3ERmdP/jsauj5mazkSyEjYDpRT+A28Z2Oz3oTigtp0EroVIU39zdbXYt2TPTeNTkGCmcFcwiMLXXWzBxDGJcvchQtTGViEr3CxAWdfnUo9cUIMDl6EJBNo94D2C3sPnyu4DxWxkuQPPaExhfSYY8ZKabkfVMSgQUiMkOEeJrxk0nz/9iLuQwqGeWFSOV2vjgRO7waSzVy2nHgBoefCbf1ZqxXT8nm3kw9sMuIu2pLJ6EYjYqRwLucnJ/xQTIjdce5rnkTok1IoPXi+GVh9RSnCniAokLHWO2kRGHbg4rqhf69bJ9xEaoZYSV88K8aGeavn/ghlCh1wA3A2nmqMVtNOQERcWuqvqX1SXFUhkFMts/8zvhPJb6GsRIs0pyc6wvywCaR9ROOhaJfVhsMKJ1r1u/1x9PCxEz+k+nqAZMZXLaPwPpJgcrFErVdW5NYRFyWm/aMBFIPqo0LqM0gzLt8oOoFjx8z0lMsoX4FTwmFnUfEFGxNMOM0PmRgcn0CXLKqrIQipwhD7kU8jn4OOB2qKFuXNv3jgsjGniOUwWgcgN/BshNt1soRXmbrWGs95xqOTnjFf/GWr4XLyUCl/3szqluLsG6PnRYeevaDXedWi5ft1oWb772VKL+vHL4/FMb6Vn613JJCLQ29r6K/AY0PZibevP3fi6VYIoJHsCdn4PqxkDE6lnicUS9SyvhaIu1iIaDXDf1GihsjBtY= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Bke1gyOy9uUzyaD6FQ5lrPABgdpg79n3GgByTCJksEBMVbJjB2hpqNbIV+a5aV5npyXQr+7Sc4D8WzkUaO/KaFU0gBj6RoqIt3ZBfqclhbCAvtODsWf1pcyc7JXNC4ao7J7kUYhoq9risR0JscBBjw8hK0C6vKVq78C5R7qknY0QCKZBEtgPEf/7loRIYCDLBJM9f3eRdBeaZoaW6kzhvL9NH/HW+cCxMDLNYTg4pizlYxQM9VHeXDKkhdJicPaJDdGEfDVmyn6YZmBGqyUbIoSiQmSh1EwWqeNsTY1Gjmv2WiHGoTJzqurg3LXNG+wt6H+VxQPODgk5q6jl2YVjmB8rW/FY/2MLSICcgRQjta6/4eMHvWqbHC8CFi0OsF+T0dI2NKstLtxfAOSfsoJ0rwLYwiEkx0mKB2ofct2+tChCVeLDEN+ond2vT5UHBC0tDvcoTVfYEynzeORtgitzyk7rnQF9xMMhgoj3/rJGOP0TMx6ZPJEcmevht9T7gzhHjLdSREOQxV8zuHX56Pev1l+o8apqGDLXvltl/g8gbfXumi1Az7IkRb/r3A06dN4GOaBne81UrtCxzvcTuZKS9w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ebXVV7s9s6uTLyM8inr6bgIIOLcaEDDidZs/ASFL6xwZkW+UR40goVlB6KBn/6PwYvlQ1G5aN9UL64ZP8o/myQrq/VHzyO44VENTjVAInNH5FVRQw6/MgF7P/cPLzxaZTX7FRTy8OV2pnTgXMBFQIIjfxldmUu4Ye/i0X6PRZM71gccklPnGAkp9dwEhPQX4lN0q3gZLWicHruOnRmlNe0QI5abhmFErMlH5YVMw7hjTFY2LSQj9Ek0/I50WXzseJ9FjLnkir8hXIwVYWD05dKaCAfU+SYK8ikuCvvN4dVzNFgyYSiajuktiSL7Z+4rKTw3g8LUaaTGExNpS85bWVnP+/7aIC7Aldx885qTtbqt7+/Qu5uFvb+qxvmdp4qov7ZmlNprmUdon/7eozS2B+YwXK9wybwU0hcVpR414xNAxwWHwY24H3DRQHZ6E5hfuT4F1qX4PjvMK3nw6SmeLZxiRVxjIjhWu00ETatpyyP3BDpd5S5Oh+Kjnk0uQUc0EX0myl7Qqwn/kNAxppRqYj40sKWGboQun5yNyAYh2u10najP87WHYYKymvjkJCNXXljvvAvcI6j+SUYTWZPxG0UCLKPi3CegWlU7hEAAhLGF+HWPU9RnPmB2zq7/DLPmTsgoKVwWy0noj7MR0ut4t8TzMt0mUzq8Wd2kIRr8TKKbfeGiIuCwMtGIUZXX+fT13ADhulnKuOXo6wGdp82LeLOvdsUWaOpX5PQDwy5hj32t4FpUcKgZ2pYZXERMVAkmVzcAay8PTThnR4hLqXj5P3V4p/Ma9zmRqpBUBIlOddzzdMq+K4AvdBEDGmnZkXOHIiboJCsQunihl+ZpYVCLY1T+Tw3KxvzlZh2iylndN/RYxYGXF4efTD9jUBvPn0wMLB1VC1zBMxEwjM9L+m/x3BE7YI5zb0Laa1gjgl5I+SfDH9FE8WZqZXBNqIq/rKger86PpuYAUa5Zl7JO2/7C9Hw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ce3ab20-e9c3-4cf9-013d-08d9c5f48e7e X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:00.5449 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 18/30] avcodec/mpeg12enc: Add custom context, move mpeg2_frame_rate_ext to it 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: FTKYWKgvDm9M It is only used here. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 26 +++++++++++++++++--------- libavcodec/mpegvideo.h | 1 - 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index abb0a4b29f..97df5523cc 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -62,6 +62,11 @@ static uint8_t uni_mpeg2_ac_vlc_len[64 * 64 * 2]; static uint32_t mpeg1_lum_dc_uni[512]; static uint32_t mpeg1_chr_dc_uni[512]; +typedef struct MPEG12EncContext { + MpegEncContext mpeg; + AVRational frame_rate_ext; +} MPEG12EncContext; + #define A53_MAX_CC_COUNT 0x1f #endif /* CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER */ @@ -101,8 +106,9 @@ av_cold void ff_mpeg1_init_uni_ac_vlc(const RLTable *rl, uint8_t *uni_ac_vlc_len } #if CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER -static int find_frame_rate_index(MpegEncContext *s) +static int find_frame_rate_index(MPEG12EncContext *mpeg12) { + MpegEncContext *const s = &mpeg12->mpeg; int i; AVRational bestq = (AVRational) {0, 0}; AVRational ext; @@ -127,8 +133,8 @@ static int find_frame_rate_index(MpegEncContext *s) || ext.num==1 && ext.den==1 && av_nearer_q(target, bestq, q) == 0) { bestq = q; s->frame_rate_index = i; - s->mpeg2_frame_rate_ext.num = ext.num; - s->mpeg2_frame_rate_ext.den = ext.den; + mpeg12->frame_rate_ext.num = ext.num; + mpeg12->frame_rate_ext.den = ext.den; } } } @@ -142,8 +148,9 @@ static int find_frame_rate_index(MpegEncContext *s) static av_cold int encode_init(AVCodecContext *avctx) { + MPEG12EncContext *const mpeg12 = avctx->priv_data; + MpegEncContext *const s = &mpeg12->mpeg; int ret; - MpegEncContext *s = avctx->priv_data; int max_size = avctx->codec_id == AV_CODEC_ID_MPEG2VIDEO ? 16383 : 4095; if (avctx->width > max_size || avctx->height > max_size) { @@ -199,7 +206,7 @@ static av_cold int encode_init(AVCodecContext *avctx) if ((ret = ff_mpv_encode_init(avctx)) < 0) return ret; - if (find_frame_rate_index(s) < 0) { + if (find_frame_rate_index(mpeg12) < 0) { if (s->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) { av_log(avctx, AV_LOG_ERROR, "MPEG-1/2 does not support %d/%d fps\n", avctx->time_base.den, avctx->time_base.num); @@ -244,6 +251,7 @@ static void put_header(MpegEncContext *s, int header) /* put sequence header if needed */ static void mpeg1_encode_sequence_header(MpegEncContext *s) { + MPEG12EncContext *const mpeg12 = (MPEG12EncContext*)s; unsigned int vbv_buffer_size, fps, v; int i, constraint_parameter_flag; uint64_t time_code; @@ -339,8 +347,8 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) put_bits(&s->pb, 1, 1); // marker put_bits(&s->pb, 8, vbv_buffer_size >> 10); // vbv buffer ext put_bits(&s->pb, 1, s->low_delay); - put_bits(&s->pb, 2, s->mpeg2_frame_rate_ext.num-1); // frame_rate_ext_n - put_bits(&s->pb, 5, s->mpeg2_frame_rate_ext.den-1); // frame_rate_ext_d + put_bits(&s->pb, 2, mpeg12->frame_rate_ext.num-1); // frame_rate_ext_n + put_bits(&s->pb, 5, mpeg12->frame_rate_ext.den-1); // frame_rate_ext_d side_data = av_frame_get_side_data(s->current_picture_ptr->f, AV_FRAME_DATA_PANSCAN); if (side_data) { @@ -1204,7 +1212,7 @@ const AVCodec ff_mpeg1video_encoder = { .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_MPEG1VIDEO, - .priv_data_size = sizeof(MpegEncContext), + .priv_data_size = sizeof(MPEG12EncContext), .init = encode_init, .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, @@ -1221,7 +1229,7 @@ const AVCodec ff_mpeg2video_encoder = { .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_MPEG2VIDEO, - .priv_data_size = sizeof(MpegEncContext), + .priv_data_size = sizeof(MPEG12EncContext), .init = encode_init, .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 900b8b1403..2611e7c667 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -203,7 +203,6 @@ typedef struct MpegEncContext { int last_non_b_pict_type; ///< used for MPEG-4 gmc B-frames & ratecontrol int droppable; int frame_rate_index; - AVRational mpeg2_frame_rate_ext; int last_lambda_for[5]; ///< last lambda for a specific pict type int skipdct; ///< skip dct and code zero residual From patchwork Thu Dec 23 09:13:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32858 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7105877iog; Thu, 23 Dec 2021 01:14:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJw6cKUe/fxfBol/K+Lf9Sefpk+xU0lzW6DhukCtBADEE1fS0KAiarBZWWqymph+Lbpk/uoc X-Received: by 2002:a50:d65e:: with SMTP id c30mr1255707edj.77.1640250884822; Thu, 23 Dec 2021 01:14:44 -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 hw9si2190804ejc.212.2021.12.23.01.14.44; Thu, 23 Dec 2021 01:14:44 -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=jCyzP+RD; 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 3D87268B176; Thu, 23 Dec 2021 11:14:13 +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-vi1eur05olkn2083.outbound.protection.outlook.com [40.92.90.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1475768B165 for ; Thu, 23 Dec 2021 11:14:07 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bRw2bPJjYVMASa1Tmao1ozZrlwUR7bkgqJPSblBdlqdTZe0wUiXZmh1aEWlFwcQUBCeS2OGdqTqohlFt9BatOQQHkAP69JqYr/tOGXXwdSi3uGSYk5qjtlPHPAQvPk9IUV8fYWDwQ9UW+GLTMD966mynS4p+yksIYxlLAf279JB/DSVYKxD9eFUq0eIcr5beg4ssFJkjO4bKGd9kwhSd91di55llqw7qcTHy29IDaBSsYAkoFi2UhvaFHVfGbXBhJ76vFzZwDN0UxHDOWTWC5C2gBLO/v/RfJMhDDml7Dp9w237rGP8GC4oK72JDcQFgA1OMBkiAxU9R+XYQA073gw== 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=U5fvknOGHwhmhntX7D/+JaK4854aXKoLVkp4/3b7igY=; b=cLy/yyl76IympZ2RysEo2DHHi3/n3fTQsqdpy1gtwTBkC2RasnODLL/tkt4hQ01x/s1R35AEtE8pM51crOaPC6atbVemYPRBKf7mGlFhQZBcACfINqMz7X8Y2akpJL59CGC5r5oBduFoQBaxMnC3pbT/VsqHUECZkeKe9ObNsBlMBzUyhloZ5a0R0GadgUYMBG5/wdGUbOsGMdBtnESw2RH+K+i5S4YnebrYh7Tw1Hv5QR13J6qosFuhGj5EC5fjXB1vnSXe8nvkXDwAlEa2IfVxkiRDMwFLhOpZFu3+KdUiIhXQY+SQaveRGoDw0chELiT9L2Y6J1/L+GvU4JOQCA== 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=U5fvknOGHwhmhntX7D/+JaK4854aXKoLVkp4/3b7igY=; b=jCyzP+RDjRxHfl4oYcbSxpiXozL4pd5Mz8gCXpi+hRcB/IHDP4cqlQIO+ZLYCYdeG6vvvAZXNykMXDYy1FbrPOK/vOH3zeN+7YEAGQze1LmE7V+BiOSIdQGnW9izVRzW/fgdalzS4WmqdCqQMJYHceV1sr435dB5NH+hcwQtKSAGApBt8XzjJExKCTRP4efB2ubwiOkYz2tcK79HbvTTwWO0uuxgtgr9vCcKsPTH2wy29GRotFSCgjcFCV8/OX/yy9SNlC9M/++HxmpzizDa4SgnxWFNaKgUCxjBc0eL3OCVnceUzA+4YnLLRAAadCjxwnGRT+CahIzWx0JFxiOxow== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:02 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:02 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:29 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [NLQ33IDwrwQ4rWLKVWR7QJGrLLJpwR+s] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3acabcb5-6ac6-4149-0109-08d9c5f48fc0 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JvyLyFZLNs0/PBsjcw0kYSMEoJKRFR6Lzj8TICGnC3GzEr68MBtwd5X7LquVZfGFdcG82MkX7nb+iSfB11BD373j8ml9irAy8EYa3JMlrrMsqwCPfH1KNGb0S8D58aNhPyXJxbTPNWqGzxmGP3wgOLmzvJDRqMG3/BjHT39dK6oh6QoH0p8hKZHqoBz5CCpjJJ7aNQ9MoxQsPjugD95DDL7fBrytMSXIopozwUys8YDfw8E+RYNb/boVeWHY0mkNV+bmSAzm06HgwCx8nM4Fp47ha5Wm1XlDkqG6MLnzgTrb994ReUTm7fc3LkLf2jHdIsDr/3Ow6zftb+Nr30oj4kZPVy5Uu5VfoN++omZIAtWrOQ4Nd8s1+gEuVOxxt803SbQi7CbfgsDruiKWyBadjh+bm+24YqUoLIQ1BZlOkCqEQJrrI/FTLdYGMyxkWsJU+9zwg4R0C1rtu3nKvJvxEYgLaMRKfys5e3yOb8ZMGL69lkCpCGCw09Yj2RNIEGWXAolCQuIn6O6F/0UUWFbV1ZsK5updm8XXAi8itoQuPIOCHJ3/rFkibLsUZ/0UIHYft5kk76VzJQUlKFZpFltkoylqruddtCearrmKPCq/H9J/RNbOOXp0May7qa92bFPWJNIOmrVKJ77k9aH4HiNtFUok0CF12LfxnMQ6SeagZevAe1tnuwhvVYzh4S3cRNgv13d/xmGxr0kUMh5p+9JaDPK4+hC4Da7GEGZEPBzxqkos= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aYmMasIGXy9XjANWMfLgVRwq2/p00ASssPSEY5hbITSq20uh/Peu8XYtC7AFudeKlcmJwjaf9zpetWAwWQJXNyrYQhEPmb73+RfKyEL5cgQSo01oS17wN7Rln+qS5pjLe8u9Qa5L1jnX+8jh/PoiwePi0PEf4G+rKfGYgcSeKFNqgNK/AUAZ1BoYxKeBfqxAxbkQig15ZBj8r3IB34G6W8HrvITupz7S3cOOKPEFjsygTPFiOMex3fTp0n04dGM62TrsrUtt+cC+73qlfQec2fBE4HV9nvGSXB8fhFq3GlvNS9QaLGY/p0DtKnz/IVnuZCfXNRB8BGdtmBhV/VndAKa+0A3HXU7LIQdBnl0UU7WL1NnSSXWnshkM+bXbMwcsQjJCoeN9+OuZYxx2q0G4C7LUjqdazD2qZRv8OsezJoVjbk0dazl0dIOe093BOZ6gqCirqMHx9TzFJOa+Jdpt7X2xesZjlZrN5Y1pSHYBZY80xE+WZpEFPHOQe7dbEKcyaZxra0wRQBHOYY4yCL+C5B9IrHepIbIYO1j6Do949UHjc8g91fXtCO6vjmhClJq2PPeYfwhTeLRLMd3A5s2Q6Q== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: M4Sm+sj4RTypdw3wAXEslR7Hd5zXsQmASI8XLveoF1PaDDy5Bm/4Fw4tjqufagiSVMxJNu5AYn/Qp8yg8/lCfHwRtG3b36xgOOB17ArYKf9y8Xv4KYyt175bFf5oQOucHPg3udJ2Lq4wETemMBW3KtVaI6r1WUK4fJ+SdaHhNx0I2oMMaQ7Pvg0OUlx20sr1j4TmLKMt3dhmabod2e9RRtHVpHzNoLPAe75XDibVtyXOeT7zMkRLIc9/FKsXYJOlnZTMzCJuLBpDw623eiu4kWL1F1nMDhhIFQatpvP9tHDr256npPPO3aD2h6xmjdS1cu/L6rHI+cewsScOXiW0Y5B1Tie745YzllL1na1qLur48GoLniK2fQo1O0/AiaRdrdpp9Z1R34PtsMOEGsQ/RuH3u9Gywf9mllqCDrgbQfJWrC8ncv+l1b7khWHNGiunZqvDPgLwogxCYdE2+PiaIVmiE9AIEMKWgzafpvsj+quWauasaVOOOmXqAxXtlvnTvD0pdH+/sOImEXsooHzGQ2KNRynzdC3F9/2H5UWZdjvX6nikVWx7uVPGaslgChCxbiGyuQnS/VlryOHs71HNELyrxbHVt1U7NcUpr6fnzs1THPaLpA4gTkbjR+q9zsv7Vfkq9yQeY2e1qDz2W5/PAkL+zP0eE9NxJx0ZIHE3BsorBA6N6u/fWx7ZmdcyfL05QV7jc50Ecd/hgtgGJP9JFZakc+J5jXZ3e8M1iKNWx0YsoxL0ybKRwt8lfYpols6/PMntJEx9i/7l/cMAnpyPGT0uAoeAvhnUZcP3atQ7wQ57auCf6kVxndRhrC/w4FZfpE5fdqH8ooYl9TWv6nnO1OjbGkEXrxlfTuUQHWQU+hM6ODbbNckMJv0cDzWhP/HJs0J87oSBo29kOeEDBrrIU4WHyGaaC/buhCCnGNejTZEMH4dmnosxzJ6P2+5mq0Ky8prDMzIHUEPJNWErV+lzPQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3acabcb5-6ac6-4149-0109-08d9c5f48fc0 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:02.5927 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 19/30] avcodec/mpeg12enc: Move options-related fields to MPEG12EncContext 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: ThbGXHVeO/r1 Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12dec.c | 1 + libavcodec/mpeg12enc.c | 58 +++++++++++++++++++++++++----------------- libavcodec/mpegvideo.h | 9 ------- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 672031b6db..b75b2c9ea2 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -33,6 +33,7 @@ #include "libavutil/internal.h" #include "libavutil/mem_internal.h" #include "libavutil/stereo3d.h" +#include "libavutil/timecode.h" #include "libavutil/video_enc_params.h" #include "avcodec.h" diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 97df5523cc..3692494713 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -65,6 +65,16 @@ static uint32_t mpeg1_chr_dc_uni[512]; typedef struct MPEG12EncContext { MpegEncContext mpeg; AVRational frame_rate_ext; + + int64_t timecode_frame_start; ///< GOP timecode frame start number, in non drop frame format + AVTimecode tc; ///< timecode context + char *tc_opt_str; ///< timecode option string + int drop_frame_timecode; ///< timecode is in drop frame format. + int scan_offset; ///< reserve space for SVCD scan offset user data. + + int a53_cc; + int seq_disp_ext; + int video_format; } MPEG12EncContext; #define A53_MAX_CC_COUNT 0x1f @@ -218,24 +228,24 @@ static av_cold int encode_init(AVCodecContext *avctx) } } - s->drop_frame_timecode = s->drop_frame_timecode || !!(avctx->flags2 & AV_CODEC_FLAG2_DROP_FRAME_TIMECODE); - if (s->drop_frame_timecode) - s->tc.flags |= AV_TIMECODE_FLAG_DROPFRAME; - if (s->drop_frame_timecode && s->frame_rate_index != 4) { + mpeg12->drop_frame_timecode = mpeg12->drop_frame_timecode || !!(avctx->flags2 & AV_CODEC_FLAG2_DROP_FRAME_TIMECODE); + if (mpeg12->drop_frame_timecode) + mpeg12->tc.flags |= AV_TIMECODE_FLAG_DROPFRAME; + if (mpeg12->drop_frame_timecode && s->frame_rate_index != 4) { av_log(avctx, AV_LOG_ERROR, "Drop frame time code only allowed with 1001/30000 fps\n"); return AVERROR(EINVAL); } - if (s->tc_opt_str) { + if (mpeg12->tc_opt_str) { AVRational rate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; - int ret = av_timecode_init_from_string(&s->tc, rate, s->tc_opt_str, s); + int ret = av_timecode_init_from_string(&mpeg12->tc, rate, mpeg12->tc_opt_str, s); if (ret < 0) return ret; - s->drop_frame_timecode = !!(s->tc.flags & AV_TIMECODE_FLAG_DROPFRAME); - s->timecode_frame_start = s->tc.start; + mpeg12->drop_frame_timecode = !!(mpeg12->tc.flags & AV_TIMECODE_FLAG_DROPFRAME); + mpeg12->timecode_frame_start = mpeg12->tc.start; } else { - s->timecode_frame_start = 0; // default is -1 + mpeg12->timecode_frame_start = 0; // default is -1 } return 0; @@ -364,12 +374,13 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) s->avctx->color_primaries != AVCOL_PRI_UNSPECIFIED || s->avctx->color_trc != AVCOL_TRC_UNSPECIFIED || s->avctx->colorspace != AVCOL_SPC_UNSPECIFIED || - s->video_format != VIDEO_FORMAT_UNSPECIFIED); + mpeg12->video_format != VIDEO_FORMAT_UNSPECIFIED); - if (s->seq_disp_ext == 1 || (s->seq_disp_ext == -1 && use_seq_disp_ext)) { + if (mpeg12->seq_disp_ext == 1 || + (mpeg12->seq_disp_ext == -1 && use_seq_disp_ext)) { put_header(s, EXT_START_CODE); put_bits(&s->pb, 4, 2); // sequence display extension - put_bits(&s->pb, 3, s->video_format); // video_format + put_bits(&s->pb, 3, mpeg12->video_format); // video_format put_bits(&s->pb, 1, 1); // colour_description put_bits(&s->pb, 8, s->avctx->color_primaries); // colour_primaries put_bits(&s->pb, 8, s->avctx->color_trc); // transfer_characteristics @@ -382,17 +393,17 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) } put_header(s, GOP_START_CODE); - put_bits(&s->pb, 1, s->drop_frame_timecode); // drop frame flag + put_bits(&s->pb, 1, mpeg12->drop_frame_timecode); // drop frame flag /* time code: we must convert from the real frame rate to a * fake MPEG frame rate in case of low frame rate */ fps = (framerate.num + framerate.den / 2) / framerate.den; time_code = s->current_picture_ptr->f->coded_picture_number + - s->timecode_frame_start; + mpeg12->timecode_frame_start; s->gop_picture_number = s->current_picture_ptr->f->coded_picture_number; - av_assert0(s->drop_frame_timecode == !!(s->tc.flags & AV_TIMECODE_FLAG_DROPFRAME)); - if (s->drop_frame_timecode) + av_assert0(mpeg12->drop_frame_timecode == !!(mpeg12->tc.flags & AV_TIMECODE_FLAG_DROPFRAME)); + if (mpeg12->drop_frame_timecode) time_code = av_timecode_adjust_ntsc_framenum2(time_code, fps); put_bits(&s->pb, 5, (uint32_t)((time_code / (fps * 3600)) % 24)); @@ -436,6 +447,7 @@ void ff_mpeg1_encode_slice_header(MpegEncContext *s) void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) { + MPEG12EncContext *const mpeg12 = (MPEG12EncContext*)s; AVFrameSideData *side_data; mpeg1_encode_sequence_header(s); @@ -513,7 +525,7 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) put_bits(&s->pb, 1, s->progressive_frame); put_bits(&s->pb, 1, 0); /* composite_display_flag */ } - if (s->scan_offset) { + if (mpeg12->scan_offset) { int i; put_header(s, USER_START_CODE); @@ -559,7 +571,7 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) } } - if (CONFIG_MPEG2VIDEO_ENCODER && s->a53_cc) { + if (CONFIG_MPEG2VIDEO_ENCODER && mpeg12->a53_cc) { side_data = av_frame_get_side_data(s->current_picture_ptr->f, AV_FRAME_DATA_A53_CC); if (side_data) { @@ -1138,7 +1150,7 @@ av_cold void ff_mpeg1_encode_init(MpegEncContext *s) ff_thread_once(&init_static_once, mpeg12_encode_init_static); } -#define OFFSET(x) offsetof(MpegEncContext, x) +#define OFFSET(x) offsetof(MPEG12EncContext, x) #define VE AV_OPT_FLAG_ENCODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM #define COMMON_OPTS \ { "gop_timecode", "MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start.", \ @@ -1165,9 +1177,9 @@ static const AVOption mpeg1_options[] = { static const AVOption mpeg2_options[] = { COMMON_OPTS { "intra_vlc", "Use MPEG-2 intra VLC table.", - OFFSET(intra_vlc_format), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "non_linear_quant", "Use nonlinear quantizer.", OFFSET(q_scale_type), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "alternate_scan", "Enable alternate scantable.", OFFSET(alternate_scan), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + FF_MPV_OFFSET(intra_vlc_format), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "non_linear_quant", "Use nonlinear quantizer.", FF_MPV_OFFSET(q_scale_type), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "alternate_scan", "Enable alternate scantable.", FF_MPV_OFFSET(alternate_scan), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, { "a53cc", "Use A53 Closed Captions (if available)", OFFSET(a53_cc), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, VE }, { "seq_disp_ext", "Write sequence_display_extension blocks.", OFFSET(seq_disp_ext), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VE, "seq_disp_ext" }, { "auto", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = -1}, 0, 0, VE, "seq_disp_ext" }, @@ -1188,7 +1200,7 @@ static const AVOption mpeg2_options[] = { #undef LEVEL FF_MPV_COMMON_OPTS #if FF_API_MPEGVIDEO_OPTS - { "mpeg_quant", "Deprecated, does nothing", OFFSET(mpeg_quant), + { "mpeg_quant", "Deprecated, does nothing", FF_MPV_OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.i64 = 1 }, 0, 1, VE | AV_OPT_FLAG_DEPRECATED }, FF_MPV_DEPRECATED_MATRIX_OPT #endif diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 2611e7c667..fabcce2436 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -58,7 +58,6 @@ #include "videodsp.h" #include "libavutil/opt.h" -#include "libavutil/timecode.h" #define MAX_THREADS 32 @@ -443,7 +442,6 @@ typedef struct MpegEncContext { /* MPEG-2-specific - I wished not to have to support this mess. */ int progressive_sequence; int mpeg_f_code[2][2]; - int a53_cc; // picture structure defines are loaded from mpegutils.h int picture_structure; @@ -457,8 +455,6 @@ typedef struct MpegEncContext { int brd_scale; int intra_vlc_format; int alternate_scan; - int seq_disp_ext; - int video_format; #define VIDEO_FORMAT_COMPONENT 0 #define VIDEO_FORMAT_PAL 1 #define VIDEO_FORMAT_NTSC 2 @@ -478,16 +474,11 @@ typedef struct MpegEncContext { int full_pel[2]; int interlaced_dct; int first_field; ///< is 1 for the first field of a field picture 0 otherwise - int drop_frame_timecode; ///< timecode is in drop frame format. - int scan_offset; ///< reserve space for SVCD scan offset user data. /* RTP specific */ int rtp_mode; int rtp_payload_size; - char *tc_opt_str; ///< timecode option string - AVTimecode tc; ///< timecode context - uint8_t *ptr_lastgob; int swap_uv; //vcr2 codec is an MPEG-2 variant with U and V swapped int pack_pblocks; //xvmc needs to keep blocks without gaps. From patchwork Thu Dec 23 09:13:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32859 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7105960iog; Thu, 23 Dec 2021 01:14:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJxXoTT48g/Q1tHACxhWQUov0LNV0v4eWvsvrl/vT8tQqZnNGlEH0oClM9I/Dbi0IXmpZUw0 X-Received: by 2002:a17:906:6848:: with SMTP id a8mr1156580ejs.40.1640250895071; Thu, 23 Dec 2021 01:14:55 -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 ga36si1973979ejc.403.2021.12.23.01.14.54; Thu, 23 Dec 2021 01:14:55 -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=M35Fq4Yg; 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 5C42968B160; Thu, 23 Dec 2021 11:14:15 +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-vi1eur05olkn2083.outbound.protection.outlook.com [40.92.90.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4A93E68B165 for ; Thu, 23 Dec 2021 11:14:12 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dc2NJRj8dl1tefqpqzAugz75XKUaxWEBSnIRVEGJZHxJG1i102RwvyR+eEXvQZzUla2un3IwcdnLEHesWahX9pCES515jk6NNiUgpzrFo6XTcdhOBvCM79hUKibGUHysj+WHlE1v+fiNzq/pyEU/nS1qQ0soMauIr+KMbQ9LEGNsmPMJDnFn3ldilJGZ51jNLk4hoRlWyK3JT38XtZFW/2OROxmAn4sDBKRkUlbCWV1wQxsPMu3WcOc4xb8QEinz0TKakLXZC21vAMQfCww4igx+13EUam9DxSajVVi0KhRw5Sy8u9iYE0XhAU9vJ/ZK1Am/6PMYt1+OWyl9P9jPJA== 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=udCYXXMK+5xTMgVt3hCPJ3Vc/46zUnhtb4Dg+aWg4Ts=; b=Q7xZmyU/OeZZ65NSDBY4At29/CHXnTOKJl8wiSZtlFZSolMX3hOgWXknn+ZqeXJSvV/Bll7BVMVnNydImbbny09SOYxdYPDg6E8ZvNMaY35MtV/5nwz7PY6NWtDUuYL3tzaAT/fnzCMomwz2cpkdb69OAhimUpfzyaKeBH0pvPXW8AkLVXyj+Pvd+51c0UL/xbVXCiPNGRL47NvHwURGRHi3iquYcIgvzVFA8ycRVTl2Da+9vIuQSUafoauqPQPKl3BE20d2ysm4enHqCsxuftZFnw+iarbf2gRzGh/M0IRPqvyvNZcdrv+F+xqX19uxIJV0qENrGDnpITiuwD/qXA== 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=udCYXXMK+5xTMgVt3hCPJ3Vc/46zUnhtb4Dg+aWg4Ts=; b=M35Fq4YgrvKXKUbnSbNH7sbKKom9N4YCCxSjWr/nqqXDj8QEx1I/VTVJZEMb3K4YZB9IJzzHquGLOEp/jXlKItcEnVNBHVcWo4HIZfnl1Ud4fPsds1SSH8O8javrdR0WyKHxy2B01hCjcyh0nSGSiSE/fnp3V5AYCfIwaOe3VtgM3+arjSrfrhKMWoskrh2dsXQvk6hJsgJnj1xfhE4lhwFHQCmRLo1oy2B96CDISFIGM6PN/GYwBZmnRYdmxfKHX8AoWGQzs0tQxj9pgmOTyhCFCFussrz38UzGx3gDY5W0FwQC5qrFOEnZJjZmLcWHQtNFToGNDoBz+H2TccAO0w== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:04 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:04 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:30 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [seUm9sM2FZd3v5e2fW89cS3SNORTbY/X] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c9707ebb-c059-4df3-0489-08d9c5f490e3 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JEo53u1YRsu4CX+hgtCvdIQ5IwugRWmYj0Ufu1G6jHKvpqnBxtejnBYX16H9Okskzu7nkAzfTfQ3a0HU6DWiwRJ5gsE6tKhSPYTZ3aYH/mlN6Ih7oUdjvOXUWrChJCSo5Dl+Svcu53slDNA26e885g38VYSS9D0fzXHnfQBgU//Jebdbnotqr1iBxcu8jjFJQWdX0EKbiVh65YULXra7ATfIVeodSrHppi5yG5/3rQGpo0EvRtn5M1ISkx95A/k21gjIYPyXmuCk6YAXMUgOZnvw7z6KzmswNlRvRjOBUN706wvnoTFplXtSBUbj6nqhz3UUbEC1UujS0n+wYSDhoPdbT93Us+mcEESPrg6KxVTpDfsLXhhFAokBxHBEItpHo9xZc6P+3qluaYLk7z5mQnbWizxL9kQG5lV5JzqwyClAAb0N6Z5brM1kaq/Pe0UwJsUz2qVgyX8UFTcX+WVPS5YvqE3aHPeHQJBEob+6Fwzf08biUM4lY4YZfktUwmyf9MqY93e0oorav2OFHC7r69IYuE2/CcAPQLtHwyfATosd2XXznmid8x9RZK+2k8Wd1D7hEaU5+4Vi2YQwZcwEBH/1t4VgJXTDOzsKYcVli1qOB3rc+/jSdyfBrd7ohBpRE2uqc4MXnC3updydT25PWNDO4yuUqBfVaGLUulKaolPvyMgat4VOyUS+wiQKnx0ix29cU4AlJU7A2QY/Opu3KVqN/LN5EahcDp13qLi8BPew= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8Ot8ZcBY35YyNPeDKLaRNDUPOWafqxhlY8juijR1uRwVNKlbtmoBadWxZXd5cb/NpHdr9biZCxZIhj4VUuGBJmHyngoa9UDbNmvv/PgE1l/m5pNPLWTKYQ4XswnzRwywQEatMlHf8h/6zPeVvNxtW70+/NCgeWKfeJ17PZHOrBT/KleaYe5AY+tkkFtJfeAqDPU0F+zy3OI4pzd721f5VU//MQU3AfaZXXbllvzVz0HYDPVvtjwGGetE8tdqHiuOK3k5mtdLtQJ6uydIy85Q57Qy+Jr8n8X5hlsy0DvNDK4lgge/cZQPNlEX1x2YRJbaOA9kZeQ1MnjSguoJrdC5os+R0leDwuSSRoArInCSdqrYzL2i8tAFqyimYj0KNTOWbIJoZMPHaUBhmf/c4l8l7+C7praFmowRj9gfuQAIQD1BiJqOUGmyOmwe1OW25AWp+yRWCnNgt4cvX+Tc0kkj/BsnGhMszGhQM0WrGt4OzoHypZVVdefjvd6hQUvVYm+jwD8BW63LwOt4hmJ5AjpX8np7uM9EUX4U2T+ikzKzXScNa21ntjQeB1f0VGX/jAP2YaAkFYbYEQ+gpLYY1YwA2g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zscYtNYa0Kc711kFZdlAhFFDeDhIhtOIdYiOetkcEZRagz6raro4oOaJi2CKo8VkpYjQApEZSTjlJXUX+2nOem/q5QtYLycI0aC+I8D0KdqzJ6Ql59aRxrxhAYjTG9U13Af5BITrg0TyZbLRjB02LA5bRXg89kgQrSRYzsHugIpPnEmsIBGY5n+cdjNxqHBYp5n0Gbe6/Uz0w0YnbLCkx+MNjYDNOAOizkzxnD04l3N2DVJ6uQCt8WnLjhPHakogd10+woe393IjtChBlJQjE0ZCZwKFM5GEcrgopI04ftucOK9R6e0LsMz4M3mn1sEmaF+Tn7N43uxXvKvZidZU7ErXHdvwTZnt+I2pw/RCAcnRwvTrRLVNVCqhZc/ygGt2G6diXOPL8J3J00+e568WlmYHQNc7sJHEu2aslPqdf1HlziSJR3upG94dyfsSYmyzmcKzxdtttPfRGtzZkthTDjj0D8S0R+fR0lee2SfvTEcowlXaM5ZGHWJuVY2XcLzIdLzCaBjBWI1QYGK7nVeYiTwFO9CaUVsNaasxFQEcLGKy7Vo4VKneK0bzWcf2Bka6ul2xrtSJDW16+vBNOF26/7MDN5QjPgUSs9iMMQ/w62YDqMJEp/ftVJtBI3OzohzNqKVLmRmjfgyeYtkgwD+3hYQAotUoK4CGOsr+AJAZHIAiEVcuxck3lZbzMInHy5zonPac9sR4qxPnB7cbns7O1v6SK2RSzMQayb/FyvfnPY0Dq3edgVgmZrW0dhEIEQETh8WFMdvcau+4nmeqmWJnzOOq22gpcCI8PQnFs+2BdEd473WKJQKKtOvSEtOMtg58UdMFXOaLC0y7q71x4L+++ckciL8MWuuGE2G6MysQSfXDAWbRLA6Ra3YQsBn3+ZznFRdzsky731lHkFMCOUPuylKG6odJjULAvi3hgjfLLjFNQWaXDHsjbdT/FRzuvOm/lnDJHnrqwYJX5lMaus2m8w== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9707ebb-c059-4df3-0489-08d9c5f490e3 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:04.5155 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 20/30] avcodec/mpegvideo_enc: Don't merge decoder-only fields 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: RyqRxPoXq+Ct Signed-off-by: Andreas Rheinhardt --- How could this ever happen? And why did it go unnoticed for so long? (Btw: skip_count is nearly unused: It is only used to write its value to the file in case this is the first pass of a two-pass encoding; said value is read in the second pass, but not used.) libavcodec/mpegvideo_enc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 0c98629603..0279816d3c 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -3404,8 +3404,6 @@ static void merge_context_after_encode(MpegEncContext *dst, MpegEncContext *src) MERGE(b_count); MERGE(skip_count); MERGE(misc_bits); - MERGE(er.error_count); - MERGE(padding_bug_score); MERGE(current_picture.encoding_error[0]); MERGE(current_picture.encoding_error[1]); MERGE(current_picture.encoding_error[2]); From patchwork Thu Dec 23 09:13:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32860 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106038iog; Thu, 23 Dec 2021 01:15:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJz45rrD93nmnzVEkbvfBY9yKR2Qv3rB3kyv2R/l6yujMbxCMrSghmto4JKfUR54NvF8+0/T X-Received: by 2002:a17:906:9b8f:: with SMTP id dd15mr1255457ejc.480.1640250904345; Thu, 23 Dec 2021 01:15:04 -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 z20si2048405edc.487.2021.12.23.01.15.03; Thu, 23 Dec 2021 01:15:04 -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=Q6tkwbWh; 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 C19D268B181; Thu, 23 Dec 2021 11:14:17 +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-vi1eur05olkn2083.outbound.protection.outlook.com [40.92.90.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 694D568B16E for ; Thu, 23 Dec 2021 11:14:12 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ovi/aacSOApL9FAnZm1M2BJGVELKjnFC389So4Fkz2WbnLMeLZa9KObx/atpz3q+zFvSZ+9XSdWRwW9tjj43e8fFTEwJI3e4xsI+TFJm0iajd3D4qnXI1+yXwzH7AOpxeH+ukY5rPTQp8crvdn6K8en8NtLRnrDfApd6YPN6mcKR03kxC0bQ11Tc3VtNvOeGp00pgY9M3ZTVjLw9O5r3DAbV9T7+QjBeof8fAJmckQbvAu036aCq3FWyB3aTRlgApJlS/LYg1gC3svLTsjFpieNKo5HY66x46I0jTzdIg27DRryXBoY9p/MJJvmh/IyZeMrKDBbKb39bqO6vHHLl9w== 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=FmDx/Qx6gkDS6cyPCQ76hAhTbM2Lz6fox4bOaGM2m4M=; b=USDqTTy3NjbNVeAj/NOmpMfEcfFZ9upYXf6Y50jTHUOFss4ptngJlXiQkMCzWGttlgOtrNJbz51jvFo3JH9JhdwFjmGjMlEoxB3w6hsLm1PHhJ7h8vnr4+qqCgUbSr6AdOba/wvLKLo+4lLZ4WixYq8x/dvpM7w1Svbop+brJFx5TuM2cK6Gpz44vR73jrMeDBYX9bV0J56hSyIY+ARAD6F2Pf6ZoUhBp6F8xJLfY7s4T1Eyke9oo6FyvL975KDhVc1Y8SbEwyY+XXUlmS75r4L+JcgGuTMs0qwNUEdcDVoEloIQ6Qp6aHsGrr+hoj7xq6k6rtERFxr6zOK5v6AFvA== 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=FmDx/Qx6gkDS6cyPCQ76hAhTbM2Lz6fox4bOaGM2m4M=; b=Q6tkwbWhDEITOHxTb+8XjJWjQbHkyT2KpK+noylT/pUnmZ8E6UtfYsDJkcK1vjmuaA5Gqn0dUrK6jn6nya6HcZgMOle6oIFw8KMNHgz539i9FHOJQBkWNTav8O/91nQq96S2Hp2fESHS+hkS7TXLCPjZqLAP459Mxzs+Am+17fvXNCAucNOdoa6PzdwsKHcOVTxHX8CJA6z5A576+Y/5j2gX1hzwii0Q/i7lmAeF8CtMNOzIVYix1iID7KWYX2PFKcfWNtWkRcXhMSNlgW3hzcJzYsQl0yk6sNinxxk9tYhqoUiAvb49Pfu1EgGWBuKW6vcei33aV+PMwIxNA3tRIw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:06 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:06 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:31 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [03BsP+Z9zZjgsyLQ2LHoVr2QRWeH/+c8] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8431294e-d21b-45d4-f986-08d9c5f49211 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JSSMNQW296Cik6aBIKVHIQFHluxgrXgzafGgPN5U5Fvuj/vwDRVSxc3qE2jlKkRq8HHjc4LzdnYMgCIV+J3fnU3h+dHHAB4ixbojSfBMgHMP4xG0ZWAh+8z5hxfqUhrnMNvTTpDAOxzcKLP23j8bVQe4MY4kbW8QcYAirhfGppXe2MjVOi/7DbsyXLOTbxCpO05WCVqG+wtJeN+/4s+Esz0/TY5TMMiV8clt08J1IdWz6lWSGLFHzecqeB+7+7xm668dQkT1fYwFWFHqN+nBiu58Vovnl7Fy1RdXCxV3FaWqU00RA86LvnSkpnpxhMJSs1kdfLrdSGC3eCN+SZY8UXZWQqfDKgKJI4DPYMvtyLd7zNOnsv00wqGTwPOuwDwnOHF9C4xC148XJKxehhpBNiiOf9ZJIPuhkGUgb4Ip48h6tYeJ3RG5z6wp5xiL/S0w3lcL93nZBlc19FLGMmyL4XMK51GoCYcIhLDuxzmckw1dk2hCDAXEZhMcpzw6Twcu2U8X+kqWQojiOU9nHXm9CfBwZ9im9SMa8ZDf3v4p9oJQiVtT+A9GS/3VL0cfsAyI+Ir/eaJV3a2sbhDg7oRU3c0yDzYBQc3GIGN8Ugr6ZTqJ7s2DaWWQSfk3ZzAoFOYVjvw4LhSOYoOCDmPRv2PSXcUxqrhHeOsGmvyRyIeu8V/GwvWQ7jfZe3e3zTmpz51x4ah9SibPynHx8asFj3Z8dEChnjBHL7oBYGqhreqHDHIA= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YKkwg1hKXW+ZnPQBcwkHpl9ZlUffw6lPWxILvUHzr2CoZeTPUVsXW7MTdcIiebuRGFdDX5apw7I3UIbGqFe3tlMuITy24CuiwezgnQVMLQNkYXfgnDV4DCC+lV8y5JspSAdlZxqYHTRy+cNGaMtFKN9mYduZbbu4v1rsL8I06x2IAfSd0XmFJeV7FGzHWUrJDj7y0cvUNw2QwMp7GvJ1r39xkI1iseAdptq0+i07xd+6skH6bs8pf2o0bwNm6P3eR9iKg4ctKBDqvz4jRkVcVf7YPqd+dhcIY9OYo8NXWrLV7yPxIZxQvWv1OFrFZXvZ4pFEoaKVsS9VTILbSGL7KMApyCyBFC2VV0NkJ9qOvKkaF0WHB80gZEoBZQaGOdwhdALLZkF3iLfbxwc2F+0NkO89yQF+yLZBxJBbLCLM9dyRHMehR6BpjyFVuTgc6KnCv+Lwva9/Ia0LGFqeYsMhoseQQZesvBT3qXDsYHVHpD5+94q2j3qqRyD5RxJ4C3vkdqul1eTtdYh9DbbOxb3KYoZNgkPMv0l10JZDQM1yLEm9WKhxKwkS5iNufysB+Sle6Fk0Poe+ImodI+Ew5oaV8A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OVYG63IBRWf0cXjg/CG2etk2sNr+QE6DkyREGBpE6WvrX9hVwfVZA7mTd4n4/3S8LlVFE0WBVk6xMB6DZuzRzQfYO37CSKwNXRsdGRu1Awk2JTMRbSBGeFLW94/JLmz4hJQi7eAJkvFtb/yrsB1tmxO4PJpgJI8SmW6KbDgsdCSWNpw2WvKjeUWqNb81ZbjBJsJmX8dPlupw89PdZoJfYxTxQ3f91RW5hlmlMwZdt443fldIH7iSdYOtU8lJGuXN0N+/9pp/ExehO3ht9Rz7cGvQJGkdBB7eHwe+UflUpq0GOJ4W1f9qubzgREULfsoJejCgxoVUNAKa8P85nfOXo6GFenMskvOYuWQm5FGgjQPLqvuseaJQU27FjAvTKq1frUjKJmMkkRzMOqM4sixdxxXrdTnPfvpfUBFATAxwkkRQ0FYx9Jgdfzldg9YeGlKkrsM1/e4GUf8aKN6m34/m5G1L/Aufvv/IfCSPCXAOUVFXPfk3CSzfZeO010/DIVHdZf22KLQAAsvuzMWZmcXg4t6fDMCpV49W9j09vLXZ6YJ0lUPeKmbKzsINTIRtlkL/asqkOy8Qe/sIcqF0QAhrsnWIRuJYe45qJJdOHZE4DoTka7yhxdy5Vwz45Ag3Tunv9Nmy7llgMbmFy0c57VwmfD+/81RQQwDQUqZTWeLIOaryvID0w2y+tGxPhMKYyBak4VRRmzfclm9FPggfZX/0hDdXUFewkB3oMZN8jHVJe+WJIxme+1qr4fnxLrvDQj7E49Q6Jh/ZEkQ4XX1GonzYmdLAsb2E5D6UG3h6jFV4RiWY0qIwh1jlzHLWbE6fS3u9/cPmhjv8GDnpFjon4b4fkm3u3BjLpBo+a8087WfpFyQUWmoxIvZmHBZc9dLOPYSWCQwenYcPSJa4o7aZbmCEVs6h9BZuPRRoSBzZ7+Kh/IM+MteVmaojOi3UXhOGb8RMCsIeqW2hDPZZ2Np7yiI7Og== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8431294e-d21b-45d4-f986-08d9c5f49211 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:06.5009 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 21/30] avcodec/mpeg12dec: Use %c to write single char 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: tdTKufWkXwgT Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12dec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index b75b2c9ea2..e7961c1498 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -1790,13 +1790,13 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y, if (s->mb_y == 0 && s->mb_x == 0 && (s->first_field || s->picture_structure == PICT_FRAME)) { if (s->avctx->debug & FF_DEBUG_PICT_INFO) { av_log(s->avctx, AV_LOG_DEBUG, - "qp:%d fc:%2d%2d%2d%2d %s %s %s %s %s dc:%d pstruct:%d fdct:%d cmv:%d qtype:%d ivlc:%d rff:%d %s\n", + "qp:%d fc:%2d%2d%2d%2d %c %s %s %s %s dc:%d pstruct:%d fdct:%d cmv:%d qtype:%d ivlc:%d rff:%d %s\n", s->qscale, s->mpeg_f_code[0][0], s->mpeg_f_code[0][1], s->mpeg_f_code[1][0], s->mpeg_f_code[1][1], - s->pict_type == AV_PICTURE_TYPE_I ? "I" : - (s->pict_type == AV_PICTURE_TYPE_P ? "P" : - (s->pict_type == AV_PICTURE_TYPE_B ? "B" : "S")), + s->pict_type == AV_PICTURE_TYPE_I ? 'I' : + (s->pict_type == AV_PICTURE_TYPE_P ? 'P' : + (s->pict_type == AV_PICTURE_TYPE_B ? 'B' : 'S')), s->progressive_sequence ? "ps" : "", s->progressive_frame ? "pf" : "", s->alternate_scan ? "alt" : "", From patchwork Thu Dec 23 09:13:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32861 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106129iog; Thu, 23 Dec 2021 01:15:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJzGiKfZASfc6o3JM4sEx4pcB75L+y8N/ci7BtSJre2asfFt+QaF+26vzGfWQRl4nW+islmq X-Received: by 2002:a17:906:730d:: with SMTP id di13mr1183795ejc.349.1640250914137; Thu, 23 Dec 2021 01:15:14 -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 ne18si2250888ejc.943.2021.12.23.01.15.13; Thu, 23 Dec 2021 01:15:14 -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=Kak2nYO8; 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 9D0EE68B188; Thu, 23 Dec 2021 11:14:18 +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-vi1eur05olkn2083.outbound.protection.outlook.com [40.92.90.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8A69768B165 for ; Thu, 23 Dec 2021 11:14:12 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FvuIGac7GY5NHWPYj4lAO/jtfvIJPVdB9v3kyrOfDkz3OyMULnFWtElJAAdsEQZLxi9kKi7UdvzIeVWhWSh22dGrwzTlmmPMoTS++CWIS5qI4ga2wawGt7WYlD5Gg5t30bdRbC8uoLiO5SOtKwg8acGRjbfBxkczf3GjVwWoZEo4Lds+Xsjk7DEyXk5LG6OirnNBDj+5CJf4ev+aZbV7STnX/2cEerAI1xJ/G36dOjlHfDfk0CuROqJF5OhFxAW6e+KUMtYV8ItG5ve7hmKScFVxZAXfLpJzT2BYGxa8jDSK/vUZWJ8Ju0K5vDpDy+PNOtPgx0uJ+TBbus+M7uAEyg== 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=E4iABqKtM0cC8fsLZ+zqNFuE0e1UwhlgqmtWyz7gXVc=; b=LBS/F+x8G0X2owI7PNRlOQi0xrZMMIvVOPd6Qf3UKZEiQq9cJCv3WU/SbmyDLYUHb/BTwId3v+WKTxVozBoULXKXd0EI/QJIukdaT/IbgPWtnPNpqZFfcdAsGplwVOx6KePiiNZrbyxyX6LLKtTcBU6Zvi9FNNNu50eHD97kKFNruLUqhVmIX1mKFaep/veAbyKqqyJHnD3Pu+hh6cagvldEsoonjiRHUGwnV7vZ+4NM2va6PlPYhBHyeLfZopDF7AeEvdDd5kfKZ+H2XFwRqA/GVnShcxDBINK2CtlUzlk709epNIii96VufcRmoSl6CLsIzPfAn9WPLpy3quxxlA== 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=E4iABqKtM0cC8fsLZ+zqNFuE0e1UwhlgqmtWyz7gXVc=; b=Kak2nYO8olbk4EZBEKLFpV1yyoG/yY5pkh9chKMfIQoHJPnWQrIBnvmk14vlTf+x7GQLo5U/97TnFxYYbNJ7BUqbkCoMe4NlhnFVuJm8Pj7V9nDrYvXqaUOEwn8ZUAh8BavhJSFnhCngadBerx/t2Fi7sroTaq0Fi7gJbT0ajWO5w+YpHCT3JZQJ3bGuytVMdqxTvASXJnYSoS3UvnwByDR1qp9qLmZMhttw4BEWpR3Ih/mzQWNKoXI/0mJL+9/KFduxIblxLuodDvhzhf8+V5FkOi4DSbVpi4qTb6bneimcm4gK3fePFfaEYx/q5thy0jEbGAVK4SO8Z7A62yM2sg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:10 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:10 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:32 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [QOklrpDEdCjaHbmE4Wgu1MLuGlJroFpV] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d893e6be-272f-4238-bc7e-08d9c5f4942a X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JrzBuQwAbiLqSibOXQaF9EKNOkiS4OratQoUYIgfWKA4nuytOGjP4/5d+OWR+Xi2k0wq76J/NDlKFBDmD9lnMHXsHYCIWT1dI+tQUG9Ih6lsjOBoXioMJhZNiOJwsP2j3/TDkMuZlj94I0fsxmk+gqXbs4LGm0ebsTI9iLfxsufWBX2rf5IilxeabD1ej3+uYoI0TCV7bwIGvdfVG8mjVUCZ8nKKYjP/ypnS214zN91d7o7bA5quRLTsjDimtjUo/bC2ciVGsTb3tTIDxv+KSHViK0sVYsan9yFv1+0o5bEfn/z49mgwV0RHcen3j1ax9/X7EjbmT6vG2VvsG05vlRLI9vdhmcnbEk+OFLfjIZ9mr/6Wz1YtH4H6O8+Vbtc1YRJtBHa2FeprnOMet1JeU8iqfmLeDBu71/qqoh4MhyAg8GjkSChF7Gx4FZ2eJt6nyjLUd80HAatVy7YcHJ5eB7begVO2VCMhab698io+flpPWlc6eCSt4dmBldwpAS1V12ddD63SxuKrnq+8xeDjjrxC7py+Rifd4x1Q9oxNaHsmSmhTrpjFBD33Vav8dMgJwQNHCVYHp4DEFFLfK6t6QifzjI3rCpEEg5n8LGZR+ySUOwKpcbQ8jkBJV7Ati8sIM5J728lsmJtlX0ZoSxZaCCVUPfjsLf1Z3zk/bMlDzE64izJq5GPIR1C921DWk6QH0LELynq7ZJiv3+26IK4gI1NAz1PthbTnPKlOtL20L+0U= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sNSWCoRihR4pIkKSZ7kCW7UwDAUNHYlHC842BZF4DK8BnmlnFWJJ+SV8Q5x0uR6wajIkZwGsaUZemLyNBgUI30LABxu0tqJNM37iDvH168lgmh0N0V6F9GCmgfrF8BVGOR7iDeCIAVuK+9XT6woe7JvDQqTMP/vcZWhsqXoRp8tPS1SFsM7UnxrVnugTqjV+w4XlbCl3oePttOz7qf58hzoOP+FBt5moy17BPJYGeb1hmCWIn4mAYO/CI6VzP385CeSrMOtbvF9PexzPRF+HF2SUARRXs3O/QEjHKOVfMrb+3ITMNlwOJmhsw47BrS902DN4/rgrCyovQKBJNCQwIRBbHd6nAJwEaRzj460vYbX6Du+u8lXLBSqs7FqIQVZHIcE4L2ieGF8AnTRVmtQLYhRv5qRGxfrpZVlnsfwrNvP+OQ3mTI3rwDuU4ffc3x/n8ZYUrQENfHTYupo1MaQ5Q0QYXn+gU4VCJJWc2EK2H6i+ccsUFK+eE98A+6qb8n6kDQ+St/Cgqbevjnuw4tyErBV1mXSf2sYfd4Ef7Zmj5ojx+BgS5wLfsGe+EBVpnF3UOMPSPbDCF+oc6vHRm109mA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +LbOhfGAsZHEej0IhF7U1uEpMraNy9OI2lI6Vqwwy07fBeVYk+WVyWET+JX4aziXZiT0RBHr27rNAPHfWyjRfVdIhvMTeQsmAMFq+KS0+zq9pj04rT7nzdxPuSgbTeR4yp9AKdOf36YeKAe1Q5HbXgHS2MPa44ZnQJI7SmlH3g29YyeFVSHOcdfssFM/J1xvUGfmuPOcQNy5HHK1hCbx5+Hqdqb2Sx0D1++yQNGtwULYpJqlm+wPMgWoUsyN32/yLBvz1/vJ5VCGcmErqjFe3mMypXaFs/QLFFuTgp4+9Hv8XbiU9qcPHqrfATiMyMrRbVnzjcE10kk50t6IOwGVXWxToLNwWLsIhKomKckB79n2Ge42UCrLsr5HETN45VQyoIh4HfbenpAGpuW6dlfJlf4Zm8ZXOXN3lydStl98XyGn6zixwhXasDyIZEfJl3AvklY/VRyT2GAktytVeNFFCXJBK9W2eIfOtQaDvAjrHWQNDF992u9QrtacfDNfBhzHNEwpX+yJsh2JoeRQKrRS+hZmkiTtwjau2D6FSe0pwXeGhyykqBXrGBpTRmGy1/hyLYMNZJ/W/+zko2vrPKbhZMhqdTndlI4T1WrCs2I9LR7wl715+B9c/ZYwNrFmpOVFKsV10m1Ist7kPW23ncjlXkXN2rignlVX7C/RoYSphwXtyxGq8AmplbDrTqAo+EFpfjglLrXx/oMU3hq/hyaKrjFwxbn4rPpILPi3MhVP3OAHwXaLSNwkpx1HJ2wo6HYhW0bVJ36+RPoYqkOIKfmfsuSuuh1VBelAh/924a0cn2OZD7zZUS1Vs62QfEg5jAUUX7jI5iJqPLFSM8yqOaald0dm3zJDEsnkqSGWMigb12rnAvYgCeiLsybxMBNE2arabzwqAMixOvOr0vYvDDvYHHRpLESUqEgttqpRU/stPvQXkEkkBD/1UJ0d8gHW3ImVuM00NESVF9KZFtKi29ksXg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d893e6be-272f-4238-bc7e-08d9c5f4942a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:10.0178 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 22/30] avcodec/mpegvideo: Don't duplicate identical code 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: WTAKmI7BG+km Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 43f27514b0..4c3e0fa8bf 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1963,25 +1963,6 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], { const int mb_xy = s->mb_y * s->mb_stride + s->mb_x; - if (CONFIG_XVMC && - s->avctx->hwaccel && s->avctx->hwaccel->decode_mb) { - s->avctx->hwaccel->decode_mb(s);//xvmc uses pblocks - return; - } - - if(s->avctx->debug&FF_DEBUG_DCT_COEFF) { - /* print DCT coefficients */ - int i,j; - av_log(s->avctx, AV_LOG_DEBUG, "DCT coeffs of MB at %dx%d:\n", s->mb_x, s->mb_y); - for(i=0; i<6; i++){ - for(j=0; j<64; j++){ - av_log(s->avctx, AV_LOG_DEBUG, "%5d", - block[i][s->idsp.idct_permutation[j]]); - } - av_log(s->avctx, AV_LOG_DEBUG, "\n"); - } - } - s->current_picture.qscale_table[mb_xy] = s->qscale; /* update DC predictors for P macroblocks */ @@ -2263,6 +2244,24 @@ skip_idct: void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64]) { + if (CONFIG_XVMC && + s->avctx->hwaccel && s->avctx->hwaccel->decode_mb) { + s->avctx->hwaccel->decode_mb(s); //xvmc uses pblocks + return; + } + + if (s->avctx->debug & FF_DEBUG_DCT_COEFF) { + /* print DCT coefficients */ + av_log(s->avctx, AV_LOG_DEBUG, "DCT coeffs of MB at %dx%d:\n", s->mb_x, s->mb_y); + for (int i = 0; i < 6; i++) { + for (int j = 0; j < 64; j++) { + av_log(s->avctx, AV_LOG_DEBUG, "%5d", + block[i][s->idsp.idct_permutation[j]]); + } + av_log(s->avctx, AV_LOG_DEBUG, "\n"); + } + } + #if !CONFIG_SMALL if(s->out_format == FMT_MPEG1) { if(s->avctx->lowres) mpv_reconstruct_mb_internal(s, block, 1, 1); From patchwork Thu Dec 23 09:13:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32862 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106235iog; Thu, 23 Dec 2021 01:15:25 -0800 (PST) X-Google-Smtp-Source: ABdhPJzfYwzkNR6e/mnAytV7YUinkUBXk0DUp2UqOYclc0BzOeDDo/w9wB2C2AxKFR8UKeU9SPL8 X-Received: by 2002:aa7:c319:: with SMTP id l25mr1241869edq.91.1640250925143; Thu, 23 Dec 2021 01:15:25 -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 i24si1953650edu.443.2021.12.23.01.15.24; Thu, 23 Dec 2021 01:15:25 -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=W0ZTHsll; 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 8F6E068B191; Thu, 23 Dec 2021 11:14:19 +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-vi1eur05olkn2094.outbound.protection.outlook.com [40.92.90.94]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 837BD68B177 for ; Thu, 23 Dec 2021 11:14:13 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KmoQCDJ7BERVtBs1PH6QafcnGlttQPKJrB/Fi3ptM5gXNL8Ix5SEe/+zobbK2QwajgKE1fg+dXbeYuOlP5y4Hja3AWL2HDDF64NU1NUSqF7T5U2hW/+5u1s2qzRvuu6mAzL+m9bKAlIaYSDMUqPxdnBHoj/Ib0OxLXBfCAJIZzLFs3dkzRMCsPeZw6hAW9Ee4g4mg/p5p7/I63lc3aPTQmgzvCNscJ4nI6vMVD5iqTeBITLgr2KdV+wH2W8ySvIGzLpy8dYcr/QDbLP/YviageE5NpeprIHLCK4FQtjgwImlbhom3kj036uk/WNMFT+SpEB0Ap6B7CZelof1XMiM+Q== 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=yTvwNoIGTo4P1t1kyBJ9+NCunsAS+ATK1oZjRa++L+0=; b=O5xB66qFptNsdGugkz0+ee4otCOClMbJ5IPZEK9i0SZTYnHqLw4wNaQtpDYXc4O9GSiq9YWToDaX/ZQWWhu1zokoAHDa6GdEXNmGNWISTUUBLuitj/MeYfeY4t5a401xJzy7pTRdXuVAey+okjLyizY7hL0su96+THFiL9Mb9GZ7hT6mpPGXMtaUMqAr5rXzPi9wfJ9aCefNB760sX2cCCN2s7IHjMTGb7PdWT/RW6NER1u4Eyl6RNK2JfWBPfVOrKPgmcGkrSw7v2NMOjQI4vHOg1dcmLSZxWHAGy0305GH7IdQk9PUoptnngThd+xTfeFKeGN5rOf3PuchnIk3sw== 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=yTvwNoIGTo4P1t1kyBJ9+NCunsAS+ATK1oZjRa++L+0=; b=W0ZTHslljXaYLLro37t9Mu93ENxooVoGSsYyAGnGm0D1U29eg/e5YhPra1rTmu6WiuOUIAzlLRyqhngVm3QP3gMQdwKzjG4npktSMfzcBqRu116+1v+xiEkDPs8FX8ZzCnMgIKBxRnyvRyV20qghuYjFvxXcXKy3MJNY4oOo7LfojtWkrK1zzkH3ZYSplLD3Y19FJ43YshZ4Ml2cqWBnwvFFWyGHas1LeSuvVUn0jxUdwFokE/q9+luOVayyvw8PmOjYsM877NHaH+V+4HMGVKVxv7X+KWJhmc3C0RsqGElQqgOX0QmyhKum109jd34LXUhoXLShwCQtRqaZ7pn8LA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:12 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:12 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:33 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [f8snEkO8toLwO31fV2+O5SLQoEhbjkw8] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aba24a16-cbdc-43aa-e3d0-08d9c5f49599 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JU824tqoqQYbhKvwxtwowR548qNw28oSsD7v0KXWUYD40V4cmisjGlTK3VzLQr10QOS5H+g+XcLOh39gwcnEqVT5m0gFJyKgnptyeXw9VClgirIqrZBhBwZUgNrGp0kryJtjeR8NZzvdfofeZATOhm0KG23oPFf0GlnhTlgwRHN9kbNlnpLZaQjjfhP1zcGqLDPNhPuqM3CZw/f0AqobZdlmDiEFOoDpTeXuNAheEU+3RWUXwbJaCtfD2daFSEGR+54vxreFGYbb/+XQwiquxvmSnzgIuE5r/rj/CEYbioT0W6kEilWiorGzt4VDelT5ucipyYqasGaEc1FohLK1WlxPuCU4SPQJxvqdEmvszgu+fu3f3keXIbKB+FQylYNv8Ct5kEKlEp05JklwgIyssz3EOfcu3GCnKL25HqnY/LhCatG0WxwD/x4hh9xWuxgwfrNnT7ZU7i/65I6wU5cy29Y2464+w/XO+2tmOlssEcj53CT4l4aD2cr1+exllXllzAlpCXivE2j6iI2fEeyXIMGvssmQrbSuElyY+8ui0ODoQNqzPuu4W9PfkESNT/d3oE9ce+avjBhgAe5r9K2ZQ2uVU21PpnMaM3jhr4DvaIvlG0hc2mNFnvcv4jXotCYFzdEbeU5C0vMWpSxSlQQ4U5G8LN808cFOE8U68X0VuwWvjRMV4nFo9O1EeRGbVa7rN9LH6UwZGsjNlrYQvCMNxYV4cwJjnwn2G+yPQQvBGY00= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Aikkh+UPDytRBD/b9RGhne31u6noQazwrmoaTmXCns69/sjzAzHjFALE6sqCfrJJdN3HB02+si5SW2Aq9CN6MsxXCy9SbM3bxDor869ljnVM+OqfsiqOoBghV5rgp1r2g9WzoKjbvxZyQXxTH3vlk5BSys7rUAZ2m6C5FBYCbIQYh1avIykVrpeJta3GaqfWc/GCBagZCNTCQQToQY3QpbnjGh7Rd1zSUXqkhh5WOcCbitBp9jmRRg/QfvSSUuOSA5ZJAXldDH6yzkfYrcew58KNYF4XsLZIp7QobubH9rxFvhaooTuKhe0WVF3XxCEa/gy7xuQWXRVgR69qocy+dAmsbPulSl88pVpSPYs/hjkMSAKVWFlE/qBH84ye2HH4byXTBlHEBOCiwnTUBC+5qYRDd1Z0z1M6XOe1TmoI+x06RZogTZJpLhKj5E/8J5CxZUpqrE7iMSdq1STxc/zaZRkzSqjjF3ORCUh2IJ3JZEPSm64vcmdMUBUXehi/oyTYTPyrCa48TFfiMGJNodjnUgpLRxBdqAIKjyN6wWGDqxBrtLKhEfFltpWyoF5sjEj7z/r/ThD9pOPifVnx3aGWbQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mqCCznr4cmBuvJ0lEnUbT14+Pt4XxhyT7Z5Q7f7X68ewZjKNIk3dag5y+e5bfmr7aeI9cF1RnndlCC+ZdtQYcn7adgcvxpR4YhA9c8KLY8VfDlroLT38cRiEsXAkaV7QePJb49zfbgYuOnZ+R5kjThS62BL9prhVRAF9NUEWsvXpCmfU4EDNbPrWKJAWcfAQMDgw6CCadAOkT8D7O4m4NxdZwvfzFhzMqkaTnBLoBA2H/aoMCJFbNnMDFXtnoPWavZr99SOv+jXhfNcmTDd4/uBu/+BUfzAHD44jZmUFxTgNsxrbLZsdH0eSH6D0PawKk75dqnW+DLpLtzvm/ijVDknrqnjTFVVdnDdZC80qfLovYbN9sT7GAErf9B9/XO9gxuyOohWm4qtAOYWr6wFyenzyubSiT/HPsKJ6e0RkwA9g0VVBtX0Dwkv/zEcCmt+K+1Co5DH6+IOduHo1mAwVrIixvf7RKIRdLvbRw78tB4MwxLVdFliGcmuHGE6zBqSaQpkPO7eyLBGHJ34bdzCl0D7Fba3UadkvtM3L+nBGF9gYy6cIiSlOWAdDgTUYwE/afHLLFeSpytGDVcCOZmqRC74EzwtwA0tUf8ziA7fhGRPJ+uXEhi9hPjqM4d1eulXeEVFxZ984JrWIaVTbd4PKQ2swJIws1bBC1djkcupD4CBN7p7dGnU8EuQI8yz3W7HTcPKWIl0+0WrfqCjWG6SE7UDo7GpHdNcFH8FvVx48gdI1QOZRy5jCkMW1Hdm7VxUK2yrUA+2ve/EFwevnXJrmpS996ah37589WHAauupI7LXk5XYiFswBfhK7pigravuLRo9XfPs+R94pGcB8WliG9BcNblWaVtTk5xHvTC0pOO7llSj8+Qim2FUXrry2/Ito13irubj2u8f5TuJ0LbOo1K6MOSK4L7i1vDCyEc4AWYKNjmo033LtFnNESBXLgCvUUpmQoe2k8mLQC9NUUTCCfw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aba24a16-cbdc-43aa-e3d0-08d9c5f49599 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:12.4093 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 23/30] avcodec/mpegvideo: Avoid needlessly calling function 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: DxYKn/S5b5Zq The very first check in this if-else if-else if construct is "if (s->encoding ||", i.e. in case of the WMV2 encoder the else branches are never executed. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 4c3e0fa8bf..3a42e08a04 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -2122,8 +2122,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } } }//fi gray - } - else if (CONFIG_WMV2_DECODER || CONFIG_WMV2_ENCODER) { + } else if (CONFIG_WMV2_DECODER) { ff_wmv2_add_mb(s, block, dest_y, dest_cb, dest_cr); } } else { From patchwork Thu Dec 23 09:13:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32863 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106341iog; Thu, 23 Dec 2021 01:15:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJwd+BezzPemK8BOX1Zf5M0ANrRAPAY9hk6s7FUmuorAMDJ/+vQ0n35JeEBOtTQb8noPKwaC X-Received: by 2002:a05:6402:5206:: with SMTP id s6mr1318614edd.2.1640250936017; Thu, 23 Dec 2021 01:15:36 -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 t2si1759199ejs.549.2021.12.23.01.15.35; Thu, 23 Dec 2021 01:15:36 -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=nbB15VUd; 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 8B51C68B174; Thu, 23 Dec 2021 11:14:20 +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-vi1eur05olkn2109.outbound.protection.outlook.com [40.92.90.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3E8B468B165 for ; Thu, 23 Dec 2021 11:14:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H46OQqZLmUF7gDaI9/7a7lPP9pL4gW4dP1DlUIREi33JX+l/s1akgaw/0Ezjce3qnv/94goteDfQd20FXFtKKDjvJinMGDHbfyoZw3ewb8//IrVepKrj3ZH/s1yQgsT/vTH7ZNkzB/0xL5NrXaxL3inNhIZSQSaaM7y6eQs6VPRsseJPu7sKfOsqnErM5TMxrlvRKhLXntB7KqhKWrN5aBn0fy4H3htrRGJyHTYV/KnpPrm9YV1qVNmskGd4jLCcPkxlO8idyHuJkqUum6/dL+8r2vgsCNv2s8eZ82+MiuN5xMYjZGOh8ZjFqCaDEDmvhvdckIr0ilfWDiBZ//Drbg== 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=ew8jM35owNhZh3lISdrlkLkwTWim6vuLRu/kMaO3IYg=; b=P+JtU8eR7oNL6wCbCYAp7IRdRXhdAVLXQegwyhjpHC8m1mejP7gMnEnJ5Ia0ySJUd/fmKGF243MVXDRLAScMR32hphKa6DHkFO4RK0wTI0FVewYIodiMYHqJa6ri6JH3vFT+JdUCLexJdkdjY40Lpc4l38Ax9lhmVlezdg9LnIDDB0WMCkOMW5u/7A6S+w/cPfU7My3APPF85AAj8fhN4OXVJganWEiyH0gk0LwkMZJC/hUULGyaBtfWAL6ZMS5/KeGTxkBcYvDV0J46ZXVgbyae/PDiVmBCxeTuerQKqaJ2giqYNSj1ITyBCLlx9CYpJJchwLBpxJguPWTrpRgu4g== 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=ew8jM35owNhZh3lISdrlkLkwTWim6vuLRu/kMaO3IYg=; b=nbB15VUd/Sw/mso60OSE6MRZ8ueLoD4Tbw1JdwriQntFoa8KnEIjERhp5WrVsAr8D1tseNZjAS+XaL5jg8IbZP3O/um5xWsWCYGEB6GOlpseqfVYJmgaklcIcA7XU54RsJHBSfM+dgP+uCSRrByTOxgnIOK4waxzfIs+QZPIrSHw0vnFcUUQw6AmUi8UuS3cLTUlcjnaTctrSv85Sww08+XQSWRm7OkZf2qQzkJjoi8ArNRt6Q/uft490iBg2/P4UVpRSa77OnJncSKTaZx6/TE9gOi2v+ZT9Ja96nzDiipXka2quVq9L3Q4UHnNqHZhwTrhZa7ycnNJGClktAT7kg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:14 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:14 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:34 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [xk3pUGPdXFGKVrzb1B3jLo8uCpH5YlDM] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2ad5e7ca-687d-4c08-7bcb-08d9c5f496f8 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhl9KIIMeMOs9++zsKlX5VTIC6dIk85Y1kep3ihBX8OYcFYNiK2SuuXovhrH0dH12F/HWlArzAihRPya24KP/uhGvU2Q+E5/nLij2TGo74L7MTp2xgL6cJHPqJ55sbsFbwTQC/sPbl8o0i44YIBz6PqDhki7QVFWzHvOE9Ridm/ZRMx/DMJqc8BlIQ37GSZpp2/lmPIu5QhgWEeMss7v/S2bMIFE974oJSWC9KFKyXgLjqaKQ6tbEaM8I5+/dLDomppL8ouTi0Si2gFba8P4Krh52S7yjFcneIbo+BQtmDt9Bj1c7lkYUg/Ogg8Ts4EBV7E9FD3mFQh85fuL/q3Lq1kDTWJdK5DjF8nhlcbAX+OxzLCjxraiB/y5Dl5blEZRCN+RIlMANAlEZrcP7zTx7BweC69oIvLZTtqZ+jA5NR63mu+nWRWr1VZ1PPfL3D+QH3bxi6dj8OYPFBIFMTfrs4cuGWO9+DIGwWGWO8nScW2RdOiIXfULVfVvbGgdMohOXYwQ/81Rlyl1mEQUyEohI+UT8nqH0iOUCicW6rCFKlm7y+msJ3GtCjtJ/MdbZY3B7W0+TeqI0eBpyR9ZJP8Bw3Z3+ADDUpQy/7ku96qh73SMzydYuC6vcpReisjxSZs/gHdhmXQF0mH3sSchFB3/nT3T5pM0MWy+e93I8s4P+oQZ3tIDFXULVpWn5v+Ay1Del56gnkoS8aiqW8= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MTwB/8DzeyfBa2dijMxmo6IjMKD2S1veCQ3VWia4ism6PUeebgTQG3IHSbnuGsH1PARS8gASfkq03XpK9R93pRaQpHyLzToGNPNXyQQd858kRQLaT1GCaVkDGs3x1KqFkssuAb8OtDEKLzqtFldkNfOtMc2D93Mz4z9WvPMyXr1QGW3d43kN36zZZVkjBrBXE1tVHcciZWpKImGsxscwbm9orm/JexhqPir0X/xqZ+gPivAjA1/vNzRjgtyg0wKeO1ekhybhKvEO0NWpobaHZf+kMHptKwxgw3O9QlHjziA5OguSu4JU/zjAbp9lcR3gO1VnsAfVAyhuva1rnJ0Pgbid6fcqdS0QsrBWIFJp4efONP3W3zMeIye5KtdQ7mw6RncL0SyLz2OJkzA7iT6rFMcIYD5qWDne4kCbPywWsJG3zz2P7LPY6pmivtNhVb/x4wKT5DRs02qgXQBVKjKft/hcti4BreC8e56Q4FAcKHf6vu36pPkyqtgvkDfaR2AgaIurlq7iH/t7HDvM9dTY4CyBVIkKQa0/0+sAutQWqsPprswa8y/2Ir1dNJyEu4voLWK3znokvG7suYTCajsldw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: eflGw+9TxNfS7UNNWenMLbssf5SIROIIeAOGmJw6K3oLszTU5/17pxsltEZ6iiH88pLHLPW1E2gHccQ1LHt4Se64G6qtFCEl7vbyFY4nRnn7UpCyA8V/Z8EZaKnGhKzmGMwUUtBWOHCNc54RrZt87FBNnwqy3uJvB56eDpKaFeg5Iz9qol3erR9eVjy2rKq0ZiPJqezkVRkvssfQmZwtluXwg7K7anmD+UmxPMCPaLhd/x1nK7jfF+54yZy5PV3QGbu8CcDNeheHwk9yArDXEEuldAbXcsi43HOQNLpVXO5n/gwhGQ6VNWz+m3OirGvqMHpPkphQqvNf8/4qL6Jjf1CFEIi5wgv1SyXM8F4pPEjr0xqLdgUpNs1hL+9OmnUMOy02E3xBTFOT2LIH5Z3Gq8giRMOojbuf5YKPOCXIGR6q166TeSQk+Q1J+pDUs1C/oLM8c6iqi3wWRpOrX02r3LtbXjLO4KQRBEobZAcAl2HmTExJTrDwcpdbe2qShRUStJh0y7DQm37QD+92AVzdkEBZjvRovYknkttqe8++DPRXqiAu3Mic9c8DFftNFyHRWi89r7vMYpCyTUbfTyHcqYEEqHAXruoI5K/xvR7HO29IRF4247WyrRJZwlEUiLD/A1/ujdEvthNjwcSpco7ji7bEuscnM7i4asr1vk6HzHaGs9CIRFq5vkU8Oj03p1dHjw3s92hPXFNF6TzVQNMg+raMnRhmlLZlQF2agCUx5guEPyhIz2vURoiCHg0BIecjCwGuPCbRF3ugA2PIx1KoUSyVxUxhulwmE+3EFet8BVmg79kf5jJMWbhVu1w3DEBIFf8MWDCmgaxuVdxmzSWtGsRmUfMF9RPwOqZaGpXx9U836GRBCX2giMJio8MTmNYOq7gqFnkLagKrqhjFbolZKHBQOWVziWtIg6GR3F8hNXwF9MuJommfYAnR6YYNjhmceTCPupcZO9slaTtYlTvNrw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ad5e7ca-687d-4c08-7bcb-08d9c5f496f8 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:14.7850 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 24/30] avcodec/wmv2: Move ff_wmv2_add_mb() to the wmv2dec 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: TD3kXbom8hTo Only the decoder ever used it. Signed-off-by: Andreas Rheinhardt --- libavcodec/wmv2.c | 44 -------------------------------------------- libavcodec/wmv2dec.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/libavcodec/wmv2.c b/libavcodec/wmv2.c index 327c5bdae1..fd64a0938f 100644 --- a/libavcodec/wmv2.c +++ b/libavcodec/wmv2.c @@ -23,7 +23,6 @@ #include "mpegutils.h" #include "mpegvideo.h" #include "msmpeg4data.h" -#include "simple_idct.h" #include "wmv2.h" #include "wmv2data.h" @@ -54,49 +53,6 @@ av_cold void ff_wmv2_common_init(Wmv2Context *w) s->idsp.idct = NULL; } -static void wmv2_add_block(Wmv2Context *w, int16_t *block1, - uint8_t *dst, int stride, int n) -{ - MpegEncContext *const s = &w->s; - - if (s->block_last_index[n] >= 0) { - switch (w->abt_type_table[n]) { - case 0: - w->wdsp.idct_add(dst, stride, block1); - break; - case 1: - ff_simple_idct84_add(dst, stride, block1); - ff_simple_idct84_add(dst + 4 * stride, stride, w->abt_block2[n]); - s->bdsp.clear_block(w->abt_block2[n]); - break; - case 2: - ff_simple_idct48_add(dst, stride, block1); - ff_simple_idct48_add(dst + 4, stride, w->abt_block2[n]); - s->bdsp.clear_block(w->abt_block2[n]); - break; - default: - av_log(s->avctx, AV_LOG_ERROR, "internal error in WMV2 abt\n"); - } - } -} - -void ff_wmv2_add_mb(MpegEncContext *s, int16_t block1[6][64], - uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr) -{ - Wmv2Context *const w = (Wmv2Context *) s; - - wmv2_add_block(w, block1[0], dest_y, s->linesize, 0); - wmv2_add_block(w, block1[1], dest_y + 8, s->linesize, 1); - wmv2_add_block(w, block1[2], dest_y + 8 * s->linesize, s->linesize, 2); - wmv2_add_block(w, block1[3], dest_y + 8 + 8 * s->linesize, s->linesize, 3); - - if (s->avctx->flags & AV_CODEC_FLAG_GRAY) - return; - - wmv2_add_block(w, block1[4], dest_cb, s->uvlinesize, 4); - wmv2_add_block(w, block1[5], dest_cr, s->uvlinesize, 5); -} - void ff_mspel_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture, op_pixels_func (*pix_op)[4], diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c index c500e3e779..f7745c5a83 100644 --- a/libavcodec/wmv2dec.c +++ b/libavcodec/wmv2dec.c @@ -27,9 +27,53 @@ #include "mpegvideo.h" #include "msmpeg4.h" #include "msmpeg4data.h" +#include "simple_idct.h" #include "wmv2.h" +static void wmv2_add_block(Wmv2Context *w, int16_t *block1, + uint8_t *dst, int stride, int n) +{ + MpegEncContext *const s = &w->s; + + if (s->block_last_index[n] >= 0) { + switch (w->abt_type_table[n]) { + case 0: + w->wdsp.idct_add(dst, stride, block1); + break; + case 1: + ff_simple_idct84_add(dst, stride, block1); + ff_simple_idct84_add(dst + 4 * stride, stride, w->abt_block2[n]); + s->bdsp.clear_block(w->abt_block2[n]); + break; + case 2: + ff_simple_idct48_add(dst, stride, block1); + ff_simple_idct48_add(dst + 4, stride, w->abt_block2[n]); + s->bdsp.clear_block(w->abt_block2[n]); + break; + default: + av_log(s->avctx, AV_LOG_ERROR, "internal error in WMV2 abt\n"); + } + } +} + +void ff_wmv2_add_mb(MpegEncContext *s, int16_t block1[6][64], + uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr) +{ + Wmv2Context *const w = (Wmv2Context *) s; + + wmv2_add_block(w, block1[0], dest_y, s->linesize, 0); + wmv2_add_block(w, block1[1], dest_y + 8, s->linesize, 1); + wmv2_add_block(w, block1[2], dest_y + 8 * s->linesize, s->linesize, 2); + wmv2_add_block(w, block1[3], dest_y + 8 + 8 * s->linesize, s->linesize, 3); + + if (s->avctx->flags & AV_CODEC_FLAG_GRAY) + return; + + wmv2_add_block(w, block1[4], dest_cb, s->uvlinesize, 4); + wmv2_add_block(w, block1[5], dest_cr, s->uvlinesize, 5); +} + static int parse_mb_skip(Wmv2Context *w) { int mb_x, mb_y; From patchwork Thu Dec 23 09:13:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32864 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106449iog; Thu, 23 Dec 2021 01:15:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJytXU+eq9uE8GC2Jwet9S5qIdqMNgbEN3Nz5z0qDsZLRVTOUJS9DyFdTirrpWD9etfmTJob X-Received: by 2002:a17:907:101b:: with SMTP id ox27mr1185587ejb.367.1640250946508; Thu, 23 Dec 2021 01:15:46 -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 dp2si2066544ejc.551.2021.12.23.01.15.46; Thu, 23 Dec 2021 01:15:46 -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=o0nKqeyt; 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 5792A68B179; Thu, 23 Dec 2021 11:14:21 +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-vi1eur05olkn2101.outbound.protection.outlook.com [40.92.90.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1940668B17C for ; Thu, 23 Dec 2021 11:14:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g3gRNWd3vNELK67g4v0cTMxrY2datABgFmbFupNC45dwrfrJZ9pnhTIK5ntHXgW6j34FsjGK7uagu9/RlI0af7ihCfcc6t5ashDi9Zj7vfnDs41C6RX1GSomTjM74z/rcveCjZHQEkn3OFt95SPgtWLHltvmlgCFOGPlNfuOP2uBPA6xSITbQ35psnGtraRtZk4GBZN5mJGpK8jMrRgV/pmoNRxyJD21w5fBQ0tXLE23ZHasKzs8ml1o+X+7ewhO+hKfu2jaESTIEVX+j2JpoMSJmCfWxxVcOrQBNahmPKwNbjGXN5qhnrmGCNMBdS9FMfsDK9EexrOsIXagxaGlng== 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=qVZbOryHLTfeCh0h+5SJ1qCr/ktTnbxbXQOD5LafpRk=; b=EpKqENdUzdngniwGvenAB3iAVfJsMJ3paH8MILYOsrR+9/inwgK5lYqYkAB9Qn+ucotwtkTj9jBWrwAR8S3Oz5fWWJz0D/zPDvFbXRclTbyZ+i9RVBk7Tx+3RRXtKNlMFUsYiYS3MsHQD52xMtkqGdymL4uXG6iQrcU0IFz5UShxbHaivPs6Ve4wYJkjQhyXTOxMQvaFLXryV2B2W4Gq4GY5UsnkVE7fXXo6ydpw8Dz7V+DK7EtfNsy+S636Vq+d0IPlIo0sxSaCQLspKiGU+CfRoaNSrnaEuoQ0b+AMt5hC1N5jG8yU3KW1kMJVBUE29pBMPRwsOdsoVf/XGY9i5Q== 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=qVZbOryHLTfeCh0h+5SJ1qCr/ktTnbxbXQOD5LafpRk=; b=o0nKqeytkhNUjq0+fc26tZmMHdAvzYMXtVRag1mLh6ymf2kse8Rx+0oGL3LPn5KIBqdKQDh1VjWYA9ov2OyKb2cln/R+TJdnVnt9Jo4zngfHENxdCxyG9LNG6cOL+sE4GmdEZKJ5x5ES15hB5CwnRF9IBW0jA3GTRc6EbUR35OATzkaEqVef7D8KVUqD9OHy1VgD175Q2lAnayRq9bL23TnxQQ0Hmprxp/+2EdK8At2IpdSVgUn0HLGdtisxCqoxnsw49xQFXnYnfAkFjDkrfbvNzinqDQgcqcLMANweXCvMENJCuicoOeEJBwGguQRoBkqeSLZNt10slY+sbZHhDA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:17 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:35 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [ENeU1bE32YymweZUSCid2WkZdjQumMje] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d0340f64-4517-4f01-537c-08d9c5f49852 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1Jea4qMszDx74JnbCh1uU+1t/wgcVnDOMfkXP2fBz9os38mV8IgwhDfUT105HRijDbuVSRECXk3f+FFYOCkkFBEKKsBLpvOPAItZbCNHR/gjwotVN/B6mqCAVHD8izsJ4cZZirUAHp6xpKjUabuBRmc18AMtHa60/YbeLFRdQSHU8ibzT8Z/bTxWxjsE7HO6TdOYXU6mWA+hMkKdJ4tNuKMpCmJ80fW6CLfeeKuX6HBbMuh+H/mA5DrrttEtE7qH304frLE8NWjwo+heRFHOhhpn3V6Tg0xqSprREpW1RGiExleKPsWC1RYJBz51HGPjC70jnK1e82QDg5St7h4EjcU2cdn+O4d9RyQDpgAY9buIgvIhsxg6nyRohbzGrENS+PZYC/bfCLYSQnCq8WN1S4ONZlKkldya+c5DBNRJuWVBT01QAr99PRilG/mAgzSaJDOgCDtoXEapzf4WNRlIzcaSsnPL9vzAqCMLk3zSXZVgMSlkADdBYy5MrEGhUpGZl9pp56Z9/GQc0XQyrizIXcPld2iLKqvtCMHx3EIE4UjjIwGSzFfjDkl7GPt3v1TJ+BivsuheEXzIOguGZNA7Bvjlg9f6eYvv0BkgmTyGBPWqAaTNtGTGTB55Zwh1VXbPMnMpwDm8ueokMGUbVS7nJsGCgqLteNE8TcGnLI01mmfXWo8E1E8MzpTcPC/gffpD96IsPSk/jL+Gewi6x69hgdlfE8Z6leocqqsFmWvClAlfg= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z2IvZbzFPANJm50u+DRh/dhpl6+Xc9LgXm+JzaPxM54UMq4MOEmDHfzxt5q6f9hH34aV3egGC00OznCHiUxue9L7xeIHp5sPQRwuELSBm+SN+v/trAXkCYEGQywqU16hlRc6KOhA3Pu3saoSWYC+5u2zTnm3PFxvEvPvDBbm2ZFIbm0ku/NU3UOrQYOk2cLT45e8EncOqvIQzv9K8jSjTBC6olKIfMuhMDxT8+hJcdw7sxSXRzgOODsNtWHPF4EY8hUkpdXAE9PDv6+dNjSDzepziLnLdKdwe+wGbqh1E7iEz2Zz3QeS6mOSw+6hv5qwjTasFnoHAG/2MvSv8nSbYwAZCS63dOCHIfdiXOukehCv1AooeLZnOW+H4lPfNf6R3u6Z8HQRa2/TZkMX03ApOQOQKW83h70B4seNybqv2y9wkcirnKm9CPJkJ81MWIS7o1IsFKMPafDzx04/vnKXhuV3ugOZLOCOTye5FXAcOkSqxdIuddv2Ihcfg3cECMRr0fnv2NK+HW0GCI2H52BBcG/fmJJEF3SmTOnT1WlNdGP5k/9kFzur+ucWRmwqqWbedo5ve73i13B4zaScZ+y6IQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1o8EV3c2p2NXWWYBt/FNKlSXUou8ZMB1K8y4CB7a2+Mwzfon1PlrWsRr75+Uh7mR0jJ4H1gcN+yzyOZrrQ9BYN28p4JT5I00R6ZSagLiEBFv3Xdl/oiaCP+XSyX6iz0M/R2i7BYEn6S7043GopRThxRbsjcwhNaebh0egpP6ydxlmeumI53rcfIgzXtTeUzh/dlg0d90VsKh2AuOEOlI04yypqlLydj//bDjEKnqheRw5yreksd4Gv9mxsddTYybivdNPyqUzkB8tsJAD9b9l5YozegZzUlxTAQQg1VRjg3jxD1ouM/S6VBld95khs4mxWiUtA9iS3/BbUHJRzz4GW9Y866GyHI6g9/MceFSTLHTTozDS6Kc5P7EJLMuHWTB65hAY0xJhSdjGZYF2Xpizfqb/RJe5qdE7yxT73ElDPOshJuvO6FtIYHZ+wBe4OEN3qXcxUfUygutuDPaVNGsL/l9Bde05A4HpOkiQbjmzyYT8s0JFG9JQbDt4JOVbLFnTFc9bJtCTUe3CHTcdreFlimc7hNncz3iEgb6NdCmkKMRHxe2Plo7w2xl055fwh5S0Sp935YaqgjHqmuljmxaAb7y124VKx6J3Nffdp31WcEZfbqihbDZs7kHRb6BA3CWIfpF5JTjX3sUp5fKTJFt/lAYXc835F5BIjhnXJz+3BJhsXXO4pAyiMhpaPO9pC9NlcmO3hzYJNzA/ZhEQiCtR+dNgAdv+ddmFlZiNB/5grQGaJKYzQlL4yy8DPQS/C9j3kut/yloWl1+wvr52gEGqgXOV1nJVMH8EGRWlVkHplnHPOHTohzc5DlaBk/gtU6bPoXVq8lEEmjbDSea0Ham8XDUIE+npqGVLe1PnVEBlbZNesNGJbyapvepyDRenIuW7uaWjef0Qrebmy6BItRhYcI1/U48GjhmUfPRXLyu9QwnhKatWwRFXSjkkPBdffM3GmCb2EUbjEKB8T65i+7+Bw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0340f64-4517-4f01-537c-08d9c5f49852 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:16.9578 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 25/30] avcodec/mpegvideo_motion: Don't duplicate identical code 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: Ko/jyG0xwmON Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_motion.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c index 427bc96887..876a7375f8 100644 --- a/libavcodec/mpegvideo_motion.c +++ b/libavcodec/mpegvideo_motion.c @@ -839,8 +839,6 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, int i; int mb_y = s->mb_y; - prefetch_motion(s, ref_picture, dir); - if (!is_mpeg12 && s->obmc && s->pict_type != AV_PICTURE_TYPE_B) { apply_obmc(s, dest_y, dest_cb, dest_cr, ref_picture, pix_op); return; @@ -978,6 +976,8 @@ void ff_mpv_motion(MpegEncContext *s, op_pixels_func (*pix_op)[4], qpel_mc_func (*qpix_op)[16]) { + prefetch_motion(s, ref_picture, dir); + #if !CONFIG_SMALL if (s->out_format == FMT_MPEG1) mpv_motion_internal(s, dest_y, dest_cb, dest_cr, dir, From patchwork Thu Dec 23 09:13:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32865 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106556iog; Thu, 23 Dec 2021 01:15:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJz2keqKbO2fpnfjBS1jz0mZnP5PqZwDpN+CzNIV1V0zRJSVl5813Xsmp42YRwh6D2T2pCYj X-Received: by 2002:aa7:d94d:: with SMTP id l13mr1278987eds.208.1640250957120; Thu, 23 Dec 2021 01:15:57 -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 q10si1781504ejt.668.2021.12.23.01.15.56; Thu, 23 Dec 2021 01:15:57 -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=JQG0rQ4Y; 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 A537268B18A; Thu, 23 Dec 2021 11:14:24 +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-vi1eur05olkn2036.outbound.protection.outlook.com [40.92.90.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 734D968B190 for ; Thu, 23 Dec 2021 11:14:19 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NEJ+0aN067CeaNz+3+FcpeL+0+0NkMx6Y6oj9CJlqkLBnTGPQ6s3KY7kSOeSG7GBJTAX+vt4vjk07/taSmAjooeVoSfrJysuMqwXEiApaMaWeH6IHfRROjULBkVUAlCsooC8Q7iBvG6kN6AzC+ZYQxhkm8Db6V69E18OcineJRIiFzbYO/+QdCKHSAQBc0ifwhl39zt+Ei2cX8LFavrcrb9e29I59feHo03K/PrdrAFvPFCK7rGIIMq2iSEns1c0m+x7SlpAkJkfBzpWzqeNs8Nf8nHmBcqw+FW2p3poWIIWjesmdnMDwd0J8VFX3F5ZXLZJTLviHj4aB0zIB1Rdtg== 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=uRbdu/SPFPh1Ix5RlmCpMtOEwAKPVBqu5jtCozMDN6s=; b=XLFoa82u1kpCuKZqfxXaszBSOCkkAozfMvW9credJeCBrHbUIPMZhUGFxI9WBwTP1Hmf6pEyycv5tvCA9L5mT1PVG/9DOMJ2pIsPhp8hg+VDpitnTa9DT8qveLnnPOL6bsQo4otqEiNEfBPPCkbt0+x4BaF/K5Xs/IBfsYfxG0nEfdY2ZtjuVlgQwQpj1xQGGmr9rVWzQ1PRjXB0X72rhgI7VCpm0YbBUGbBS+P9i+COcqFZANuFWYEGz8PtgwuZq/xOiEdzz9Osh47LA6AXWC6ouRcpk1ImUFGhv7Lv81rc9MXSnCCGDCpznFAudd8Y5hw8YuzjKjdtjaqguIwwug== 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=uRbdu/SPFPh1Ix5RlmCpMtOEwAKPVBqu5jtCozMDN6s=; b=JQG0rQ4YxLHCsOWF/AO7kI/zZqZxOCQpfpr0qMy9gtd8IwzS1ZuMIqbYGtvWH+KUJ07OORT17BfsRIRBFTKxcYk22c3D3yeXzqo+RXMMVF6i7fi86M2FrhxZ61cfl18GIe07hz6llflYvRjHPH+D6L3qTp2snIGktcZyRrMdlo4r+8qk3ciHk5AYtma/VdTmvuA1KioyvwzbZUBHdlx4vzn+8ZG24ZCbpyZ9ZTjn7XJN/SrcZxrzzNgZ2ehbtNFGxd3+lq6x5GilbDmU0IxN0+DZpPxmFmLSNzVGbCkIucI/e74eb3TTCExNotXUsUgrObT/9pikezGaax/83kIl7A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:18 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:36 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [cM5luj9OB+4Hc48ibKrnwuEcgsR/qLbt] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-12-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e952ce24-1b58-450f-bf43-08d9c5f4991a X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1Jm3P1O0EroPXx9Guf167VC31GoJGU4uizR2VQ0zugpthb5R1WBNRn9IUNsyWCZcVz5irjpNrtZNmjSK3MrG+Vu8NwbY1LzOnjb9vGVFzza4pW8gImim4jJxxnrZ6luacmv8Tjcw3bbicjnljd8U6pMYUdkh5gOppTj2hEqJkH3voPVANL1vBTHlcI7iv61UaLuMMRIxAtFcM7yjBN4wj3lhK/YV04MgzgvC/VIRxQwqFPFHdVheTJqMthFw6LHbVrnYLCdH4w2KqBx2uWvnXaLMIwJOLBvE/osZL1/Y+Zi32b4lwPT5QV/pq3xlTWyhIFhvJGoJ0ED+RA+kmjPRVkbvTKaYqOU03ci1Xbhvx8KIW1EB9SpTo6cJyWvXg16gCPRNfu0cBcEBwI+z39TykY10RrhHQmZBq3J8fYQ7msc1HxoIVgvlCHO4KTkCr/JujOuUdQFNmtFxpIB5jS9AgxU/Z1NEVNmqTjJjbBWwOGzsfu14yH5PLDi/7X4j6mJrt+S+5b5NP5CelpeBv6BDzlYL5tHiI614jE6sw4i2gorCZEthhmjApqHbN6EKx9n5Ui9usYbujRbV8xPPPwc4rtPWZuUWAshO4kJ86bHHeF9U5PFw5hFYH8KiacUsUyovE2gFlQmGeSl07cOWLBSOAst4LPek2IVn/xpY9czy2cFqJ0XahdZbGrT4ygFFxyY/5+yQ8QQPEmUfk57TC6l5AqpGCeUmxkl+mN6Q7/fIvPAjE= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qovmIkumjDAPkniQ2g/9t5KEr6VZgHVy7L5ViIXBNk3WI5sSuGmCKP3YgmUaNtNUfQ6k4tMIU8bTJm/RrTSjeMN88G7wmf3+sjOz9cDnqfiKbiKhwhgCCqd/mDXHbWCVOWuzqtgf/f0hpRZPYg5hgsazxMXmAtvq/poBdwC8Iw92q6Xdy/XIAVZad3/b8aKqlPrp/VGq1OU0538WwxXEM9widI1CbhpgkANQKLBYNkw7gHtFnUXCI2HOCuwTTNl03IrWNHKlW1DLyMfOUU3TdQ2Fql7ZVhjyc944Bvqv+idtmL91UcMl6ipIH5ncYw7iTicf2kjafs7nbhs8ytMOKgIPkEG+6UAiDjBBD+49+ZbgQqxumjDqAkHjU4BvIXwF8PvlthYhrVHoewjZPC7EZjE0fWBA7dOYMfaIjrEm29/FmWIPNxUSPxnuTjmzS6nKkhPFtwR306L4asseUBBt7INI5wQkOzexfSqB7XxnpgG0xWRvmgLCCvfWqsk+QLWaEHWKSnK/tBc1Y5/WgCPIR7OC7y8iUaNcc8Ya7Fsd58w7PhtTvj8N4pF2GwI4QlmQPbNf0KkfXeZuzPdwZm2+xw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JSz0lV3xzzUl5eYpguUy+1jUYGEYy+L0SSexmSc8yErXauC7zDfJMibwjp1OupDP8Fy0t7a12xm5iN33QKNrGKsfdxvcdZRbGqYf3DLcG+VxpCv8fGZo8hcSxHzoeA5KIwBDAqGQF5yfnFZIRp405+syoAXwBcpfANVWIjaim+tTKIVgavzr2+Cx3qN/JjVThHhkf19uSGofqMNEeoso5xXeSW/krkbu/yhcPeCUuNVO6ejMpuD04HyfN9sutTl3PbKA/8tQDYp6zmy8WTK1seqZ+/oDO3prnLIkjZWFZU/gTfLlq+ERH7/9vCp3H2Dq1+bJ7jfRhJfW6xnQHSEdfCLEIoLX4aRu7+8N3pwLtO1T2LWQrb4JwtFElsVMYVb0sgXjYTos9hrPc0W9aaH9qPd18QoBchRtHT9MjpiAjlJd73ylD0NKaNGYeyocHlkv7039aEz1J8VdOEdZwboDiPjRO5LRoNnuG4M9d52qkudcvaYWg6ZL/vxSx2IZc8sQwaNRwAofECseRn8jlnvtj2xwBKaSDuhDXUPfqZZxeMldlfe8KmWcXxiFXG0qTYKjLowSLcRAG1vPM+s0kXS8BD3JKevkcMgy1i+mJi1FAOe3fJxOtRfkGbFyUq2a/p9q1ekS8gY5qYjB76216jd87rur6AxsRjDZe4VQ/J71c4J/vUfpRPVrX9AJ9V5hy6sM6E1LBT6X0NcN6b9LAmRm28GF25mnpde0dkya2eQd032Rz8/UhdDt1RjcVdOX6VHFeq/BLPOFg3L9FGKdGmn/FtATlTJpyNpri9WhX1eCNwTVVEi82KuhXjhQhOG4EpdjQjT5JplJXr1mzoLQun/gcr1Hz/UYCqovHi2P1Y9eHigtc4HYgAX+e3FvOPoPJAZ3QzpbNp/AAPh3Tt1bGAvHo3Y53Su4ezUMZMbms4eE/Q/HSy3C2Q1N+0N3Qi1yvRwRG2O7HzRILlk5KTaYJ0ErHg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e952ce24-1b58-450f-bf43-08d9c5f4991a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:18.3182 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 26/30] avcodec/mpegvideo: Don't check for > 8 bit MPEG-1/2 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: F15iIIFeQKCP It doesn't exist. Signed-off-by: Andreas Rheinhardt --- Apart from the mpeg4 decoder no mpegvideo decoder sets bits_per_raw_sample. Should it be set (in ff_mpv_decode_init())? libavcodec/mpegvideo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 3a42e08a04..4e6ad92473 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -2128,7 +2128,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } else { /* Only MPEG-4 Simple Studio Profile is supported in > 8-bit mode. TODO: Integrate 10-bit properly into mpegvideo.c so that ER works properly */ - if (s->avctx->bits_per_raw_sample > 8){ + if (!is_mpeg12 && s->avctx->bits_per_raw_sample > 8) { const int act_block_size = block_size * 2; if(s->dpcm_direction == 0) { From patchwork Thu Dec 23 09:13:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32866 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106691iog; Thu, 23 Dec 2021 01:16:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJycnz3Qwp7U8OqWQ6Hr3rcTdogxoOR0iQHkwxiJcXl/AehOvR3DiEzsbsd36pfL1N6J9mKc X-Received: by 2002:a17:906:1256:: with SMTP id u22mr1171364eja.317.1640250968263; Thu, 23 Dec 2021 01:16:08 -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 l15si1862267ejd.293.2021.12.23.01.16.07; Thu, 23 Dec 2021 01:16:08 -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=F53VvV5b; 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 A52A568B1AE; Thu, 23 Dec 2021 11:14:25 +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-vi1eur05olkn2098.outbound.protection.outlook.com [40.92.90.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A09F668B18B for ; Thu, 23 Dec 2021 11:14:21 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=juJKGs4fuZKN1OnTMXziqb1AvNcS5Il+GY8CL4W80hFJXQeBMt/OYnSl9at43XfYff+0sb3TW7d2Gdoe5ZydEhX+4u/ob5O8oRrNlYLkZyoQzXbFdl1v43gaDObRUzXISi5zOR1q1Q4Hq3DnUueT6N1vTlkCU93lBIa850UBLFGEEwCuQSSNo/S5kH4LQcPXJRjcoJ9p0tSTRBUVfVjZcF5mjR4d97F0HBNRz4eEZZPBXWCYOPT2WcvWlbLoExyAY8kcoE05KhZaJf64Cp0F5PCvXZFajgh0IKIQaW844Hhnh5l4F38vtcSxgyAg0381o5xUhj4P2VKX99TqLyM25A== 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=v7etlJY94iK4YZzMDWO9ex3SpI9+x1NrS3VWTMLKDuU=; b=T5XBpA9iCevCfHK7yE/bSwka+5P4VqQZRaaUcwdnHw/EyFvh2z8zCwd4YEM5FPIBhmneSGfJShOJgWncbVz9TUIot/1JpEr/6oEnqaMAZL4NP8QlgU7TyxSXsY9BIT4aYnIcIpzWiO50DIFo0hoh4w3CvZl9HeVyYL4AXFLUhcFHdm/JLp9a3wpZmUtPDWFGL1Xw87SIEeFG8VqjuFv8YyjDXpvw9JH71DkA85gGM1CY9hFuLTI7LnbyGuN+J+D3bOY7dcMwNB6Nr7DxTYB3mMSUMzmuIna7qvI4h/sORm5bRTC47trvRL+UpWI0LIVFle5+0qNYuw1LqE9Fuw/3Uw== 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=v7etlJY94iK4YZzMDWO9ex3SpI9+x1NrS3VWTMLKDuU=; b=F53VvV5bG23S0tl1xUfbBNqCeFHdMOPSu4CEvt5aSscPTrebNfZ2GAcFukShOeIv6kZQfHEi7/Aj3hywwZIs5nq+HOa73rdAoTlC6Q3PfwokrRMF4bEccMh5Vf28b7QOSZ6BDQPEB3bw0qJP2wQ0/RXjBpLaINa0ZhC8HfdEByxkc6e4Fs1KDMtDD/7SzAE7HEaru2GimTsiMYxG7Bo4XwAd6+YlNNKhwJYUMtAwq5fUCMVG3voGA5ZS55lBC847tWpzfVRHbB0dW6RzoLu/5MzvVDLCDo1qiLhHB0VhGvI2uVHt81Hl/PNmqboyHnLekcpv15ub2k8K7vkS5Cy1QQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:20 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:19 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:37 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [fMR04nfqRRujOI8/3gXoD+ssSxDGSI+W] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-13-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 43bd43d2-1431-4eee-edc4-08d9c5f49a06 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1Jng1cyjo8kmHuiH96ZYGatgo1GgwF77bpn+3CiFmExjo5eN12q/GQybBW8NedLcZ6myQkEFWqouPS5gV/XWOYK9dBTMJ8SaWWCyTQM58eMG0SBJ5AyG73J6tAonCG/Cu56ti5VXNIMnFtMGeSfxEQw789GBCxWfgdiC08+j0xtLKEnkn3bARroOs2BcD1Ssy+mLfNQAIMTxTvoXUQN0Rfa5+51I17Fdv/vKqsFJXwBzjzHoyKbDWH/cj0G5HD3FS5al4mlopr58EyxyeAr3UjowIWLK0i/Q8bZshG1GOQCL4tCWvdMBkck4itgK6s6LdncNsRZFsNFKSIUrBw7pz/fEKLruoUPe3MpiMVuSMtijLl9SGU9LI8oB8rI30GHkLzOGg93aGy9jlmN1Qujb+fUoDabfVGUZ+QbrKiJRusvlr9dnxTCjXMplHTy6vaa8UOsfc5ZNNdgtZhoqD8829T6OR6dJZQN3wh2Xr1LFC5D505D8ghtzttZFODlPpxz+76zjwdQiwznLMDWOMGfQ2L6c/1poI/dabELfvefYqMFqJ18gkG1MSQ2uMrjDmXgNWxO58idQ/uQccoyARbBacgG7RPbhOQ6ki4XWxrPrPdhfEJcq+Yl1+SwoOeHAL9PGEzaQMeT/+9wgjv77VYvJE4wEPefTweai744TSoBjFC98rp9qyUtSI3wom7rkuK4BAzsle2gOXdWYU9Zg2tFnDUD8h3Sce8rTGhuYNDrAgDPgs= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vcWrSruAtnhFDG0whea7UCvHh/iSq1S30sbLgc3hweH3JnJbYrslewxX7tftILh1IGbClzjWenqTepxGKrtnX8chDCT9n0x7ftRjH9OSWx1g+SODMlAcMUWXkaXj//AnsJV17sxV08AdCpSL+nK6QeenjW4GZqheCZeycndPqOg7XUtqdFOjJ7QL5azS5ne5M5BPY4VacWju4hcMsXBRXMusyCPZ4SftsrdZZ3vzIB+JAe0Qfz8Xmtpj1qFYoT7t52rh04FcvOOiGqb7QlTY33kJYuLuIpwtkUUZWsqXGebawxkHyqCFIKFi3uVK/KQq6kkDSo52SlDU1R8C6E5ylA+esW0kr+26JKTakLnfVIvG0VO09bcha63S50/Z4T7a2AwZku3wR0WDfdzosEunZcT1pp03st8KklWLLfvifDXV9fMldgvAxrwa2yprDR01+zuW14GSYfUzM9egIWBEylhjaVSoeWesgVjuEQ+tT533juMGm5xLWZDiiQ0WZ/0ZV7DLM66ZV8eVfNB98JU1Qo5vwoNW8M7Jr8Soqg6PWUScfBccayRHv9o7PYOSUzEY4KMBIsaF71KGty2FXggrrQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: r3b5j9BxOKIUguPjsCMNuphuB4WFUMUQQVKLvJUQWHfp2bvcocpTLYAFNS69WVux1yAz7HMq3NlXmoP37kMNESlBz/q3BLqlo9tHuzlVj55DMH0y5U4edBCak2O8tdUukCMXnv4/L9Wz98fRXnCkH7/fqvkaIt67iltx8HALJ8QR+0d+lGWxof4p/jWP7IPbiOHyeyzscDQpPtR8VM+Ev+kPBX+d4OBiVSUs2qdmkfJ95dMs6QSY4LZUZMQYvNXtDSnUx8T7CZmzvq5yCycUM+49M95gI2wWp99/UfIsqXMNsf9nR+yocyEYm7akhvAZL1tABp6UqUkmYLvlqTgJPTKw0tNiiEHRSy2m2T06J4mFX+H9c0aY4jQGRlO90CcMtFgt/R4UGYVENQrPFkqhrlZ4WdE4D7C7qkbsaXiHvhm+5FX6PneKajO1vOu8SOZiad8QIcqA4TgOuhP9sr3rPSftzJeVrrPhQfWTYqIoBZfxri/quT18bFbG6ysPJiIC8VJdQzMhA4FRm34dPXN/y1SmAp0YsK2iKBQTF6oPk0JJX2DJq5BF/xrTTqxEeeWCVn9fn5RMIGj1NebNTEqM7lH0qb3CKSj6OuH+ab/BHKX4qFx+xUsjjoA50S+ralD1P4RGqkso1RfTwwL5xq2//7k9edQTzpsuIhvqJB6iUjmunDU737+7v3SU1XLy3FV1xAxvwpaIMsmz3ybPzai14XgT9SsEZ6VgrFdqMKVbObJRT86H63AHeWcOprs0OD/wWgGniIJy6oWZwS3oCbxdRh0/JdclDwfbh1nd8KUHPFuebVyr3R5PxAqDtEj3cxd1NMQk1sy8BLmotOX4gCi4MxbQItc8Q1NL4MPa1JvMGY6nshdiaz6aW3xbDwPZb4sAXXX7IoUJUWcMwJyJ7cqu0AFWRLDmIKocWdOuEDkI1vzo4ruRpUYe38UkOfyAqNsjwA5rgPLmDtbziElQiRacbw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43bd43d2-1431-4eee-edc4-08d9c5f49a06 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:19.9431 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 27/30] avcodec/mpegvideo: Partially check for being encoder at compile-time 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: 4M9xoYlTDrAi Whether lowres is in use or not is inlined in mpv_reconstruct_mb_internal(), so one can use the fact that lowres is always zero during encoding to evaluate the checks for whether one is encoding or not at compile-time when one is in lowres mode. Also reorder the main check to check for whether it is an encoder first to shortcircuit it in the common case of a decoder. Signed-off-by: Andreas Rheinhardt --- lowres is currently only checked for decoders; should it also be checked for encoders? (The relevant AVOption is not marked as decoding, but not encoding parameter.) libavcodec/mpegvideo.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 4e6ad92473..5e1a1522a2 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1961,6 +1961,7 @@ static av_always_inline void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], int lowres_flag, int is_mpeg12) { +#define IS_ENCODER(s) (CONFIG_MPEGVIDEOENC && !lowres_flag && (s)->encoding) const int mb_xy = s->mb_y * s->mb_stride + s->mb_x; s->current_picture.qscale_table[mb_xy] = s->qscale; @@ -1979,8 +1980,8 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], else if (!is_mpeg12 && (s->h263_pred || s->h263_aic)) s->mbintra_table[mb_xy]=1; - if ((s->avctx->flags & AV_CODEC_FLAG_PSNR) || s->frame_skip_threshold || s->frame_skip_factor || - !(s->encoding && (s->intra_only || s->pict_type == AV_PICTURE_TYPE_B) && + if (!IS_ENCODER(s) || (s->avctx->flags & AV_CODEC_FLAG_PSNR) || s->frame_skip_threshold || s->frame_skip_factor || + !((s->intra_only || s->pict_type == AV_PICTURE_TYPE_B) && s->avctx->mb_decision != FF_MB_DECISION_RD)) { // FIXME precalc uint8_t *dest_y, *dest_cb, *dest_cr; int dct_linesize, dct_offset; @@ -1988,12 +1989,12 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], qpel_mc_func (*op_qpix)[16]; const int linesize = s->current_picture.f->linesize[0]; //not s->linesize as this would be wrong for field pics const int uvlinesize = s->current_picture.f->linesize[1]; - const int readable= s->pict_type != AV_PICTURE_TYPE_B || s->encoding || s->avctx->draw_horiz_band || lowres_flag; + const int readable = s->pict_type != AV_PICTURE_TYPE_B || IS_ENCODER(s) || s->avctx->draw_horiz_band || lowres_flag; const int block_size= lowres_flag ? 8>>s->avctx->lowres : 8; /* avoid copy if macroblock skipped in last frame too */ /* skip only during decoding as we might trash the buffers during encoding a bit */ - if(!s->encoding){ + if (!IS_ENCODER(s)) { uint8_t *mbskip_ptr = &s->mbskip_table[mb_xy]; if (s->mb_skipped) { @@ -2023,7 +2024,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], if (!s->mb_intra) { /* motion handling */ /* decoding or more than one mb_type (MC was already done otherwise) */ - if(!s->encoding){ + if (!IS_ENCODER(s)) { if(HAVE_THREADS && s->avctx->active_thread_type&FF_THREAD_FRAME) { if (s->mv_dir & MV_DIR_FORWARD) { @@ -2075,7 +2076,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } /* add dct residue */ - if(s->encoding || !( s->msmpeg4_version || s->codec_id==AV_CODEC_ID_MPEG1VIDEO || s->codec_id==AV_CODEC_ID_MPEG2VIDEO + if (IS_ENCODER(s) || !(s->msmpeg4_version || s->codec_id == AV_CODEC_ID_MPEG1VIDEO || s->codec_id == AV_CODEC_ID_MPEG2VIDEO || (s->codec_id==AV_CODEC_ID_MPEG4 && !s->mpeg_quant))){ add_dequant_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale); add_dequant_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale); @@ -2182,7 +2183,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } } /* dct only in intra block */ - else if(s->encoding || !(s->codec_id==AV_CODEC_ID_MPEG1VIDEO || s->codec_id==AV_CODEC_ID_MPEG2VIDEO)){ + else if (IS_ENCODER(s) || !(s->codec_id == AV_CODEC_ID_MPEG1VIDEO || s->codec_id == AV_CODEC_ID_MPEG2VIDEO)) { put_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale); put_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale); put_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale); From patchwork Thu Dec 23 09:13:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32867 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106813iog; Thu, 23 Dec 2021 01:16:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJz1TaDafsKx/STQIQdJ2VxNxiPqHvUzvJbcA329DeyTMQ8odfqGoUdOYrHIEaCvFhpMq1qI X-Received: by 2002:a17:907:760b:: with SMTP id jx11mr1203808ejc.99.1640250979717; Thu, 23 Dec 2021 01:16:19 -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 sh18si2228204ejc.593.2021.12.23.01.16.19; Thu, 23 Dec 2021 01:16:19 -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=EBoMUrYv; 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 961E768A636; Thu, 23 Dec 2021 11:14:26 +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-vi1eur05olkn2023.outbound.protection.outlook.com [40.92.90.23]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 147D968B17A for ; Thu, 23 Dec 2021 11:14:22 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TTRVi5H9VSXvR2KweBb26rq9zmfzIUd7vT+1qOtgXeNIj9C1+DRtZq5vngKFolLxHu/o3obKmcMEjQTFaRoSnQSLkeOItx7AfQkdeMDxhITc80m5kSKLic/DSzoH92MUJ4uiRyxNgYrgZPZsqNFCPO2HnF40LG/cgR2BQmPIshpfJ3jaOWmQQ0tMusOv4k0pgdFjc6B1WqZ6UKD4e98RBwiuONjER8bZ0ZdzyFKM5KIcp6Won+6XDSccBF+Yam8z8BPGkZIiCBam+DC3Z+RWc+FIeU5jlMzsxugf/1nGfknE1drwv69fik8ZGDWcepcuyRMNfKeBiNGCJDUJIutnYw== 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=cxc0a6W2gVqWvMzph0CN3zbxRNnqGpZq7/GzVFXgZ0g=; b=YwKU7MeTsHZXcLdzBxcUaSIuwDGZCHIbspiL8WebszHrYc2OvOTy61CMdibY4Jy/42rNmYs967LIhiUGDwTb2mhJJ4tDFccP6Nawe09FPD73TofVaCb3oRvPJuwgaCHzboVt2jy7840AZxM61jXL8RgEefUA+NuU0CEQMbsVQP3n9PpJP3ayAx8qO+MaomfZpHARM6XBKdUTmMkiTygd3KrJdyWGDSne9V0kH9WBcD2q7vsyV8QOw9tkAs3H/P0aTZ1ulwGmC/yF/43QnCtbDDX8s8U/EgaX+5EFoWP/wBKKOtxm8qsh9PMsB2xLfDolsXH0e9wV4HSYHHRum9Ss4w== 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=cxc0a6W2gVqWvMzph0CN3zbxRNnqGpZq7/GzVFXgZ0g=; b=EBoMUrYvfF/4Wx6Spbfa0zh77R5uCG9DC0lUtCwbL+Gq4gaCvMUIxy7cks7VJShqqbgo3hRtYlHjmVQqxF46Bc7ibqzGPR2Uw0d01Pt1zvPBbowmxaPEvv5LOnj4hXEC/3zsM6ERI432FWrJNVY5Y1f1mMKIZu7T5d6Rm1XTL3tF+D0b0EcfeSAmC1+kXU27sup1ezLHfhiqDIdaWua9nlC7SRG0asV38CJMNmEQdhrdJpH1x4bLAVFM9xOnJWrrpAsAdxr01oUzVXDRJDrGXCfgcMiNvNMmNgZuUpqmON2xu+ehpOIPaoyMrH1HmGjY7DhAA+R/L7eJYy2lZOuHag== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:21 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:21 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:38 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [jyc/u0M1khhYA+L5h0qr4bn3d4SN8MIz] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-14-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5178b5ed-95ef-44e6-7d98-08d9c5f49b43 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JXOPMMpMEL1xbJ5shcvhYK62SabFWdRkuxTjg4DEASjoPg8zc1OnHmOnj7jHjQpWTmbfAM8TjPcFYmvXBDR6HsTM1X7tAJJAUPEjySR3V197gcKOuSLmHGcEZM6XaTkvVhbep/CTvHK4KDugObFRf3q4u+Giz/SGXcWv0SVkk8zu3cQlySzMIMK4922NrE3u2RWLGa1SSErkCPEj5kgB9RrKz7dJbhzBPcBoofTHlwaZax7dLbw+T0DZP4ydsGOxJI/xGM0WSziex1Vl/3e2HVhwBT7HRxfGHTwONvMCxUNNGEoD4gwkZYeR+XajL/zcpSzYHC0R/Wuy6y9PU4/7wLO7hwv8XKonf0LYSN/XbDyzcl20PPs4UBL2uHiVrXnvnWqjhAPj3CfTu4fLXNBvaFW5i5F5fKtgEZMSTAj9a80f960RrfYrLXESykZajyb3dAidStfQspsgJeU9n9b8/6HsnekL/JU4RnS20i49FOjkyZTzh/Kg+izkttWby7+7twEjaz64eMNGjON8C5p3UFbqHn8GLyzKLtGLkhKAsmSujKPcm1pUQmPj0/vLfu9f8SdUGO/0oTCfYTHxdU9+WV6Xjbvtwv+UIYyuoh3Kz26mMHtZubkzXpiN6iOcxJHLVSvEsqdX8LprapRgaopOZW5BkGei2AXOBjy88ffUBJVJ2yeLPrekm4d4K/hdi0Mb1X2jwwn+47mjJDCmf542LRsvhp4+DcPnAuBm/fO2Pwvo= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cpiu4xA9jtQiudR55f6vurDaJKSx2bgR7k1G2aWtbRq0LJQYLzJafxTpLyacByqUVGYyqWjy/1bPfmeK9ZDAXDzAnixsUqZbL2kbHofnCVyZOFBAANbv4wTRuulqcDc5pTjty9R4yTY8M48OBXia8U0R2lJujUqL9CQ27u5JXs+VZKjDmbw+GH3MzbLPips+TY2IzfLvDy0sxnKHNAvujrdu9AAeSGFyFtYH2zCDd4fqc+29diRV88/RAKVmzZxzCH2daD21XgcrvvAbHz8yhWpd8/dXrvMS7guBch7Q/9W44kQvcfR3jZ44HJx69U/mZypNKo70PbenIK3kKxAsjQtpdTFenEalcDd12wdWS7rkCpKAu59TsVQ3jVGDSUcHhnB37s2qy07ixfjwOKm8UWf1El6WFT2vaKSOpsBHND1IZKjBwB/6Dv1R/HS8HhtEUtelL6XuGwhjrFmH2nYQY+55aCeNXyiaNbC53No/aJ+2AoQx2oCA4r0vuA0GIIroy4/nZOj3eIA4c926pZUfLPrG+9IhoI0SrHU4vVfib2Kz3nB877IX4ydFv9QZzEJT8T004INNY7b+RfMokhh4gw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lMk8T8CgYtzIc6An8qWcP4A6vrmZVGUkq0YsMBlQleFpG5AyOtlAZ47DZAm4QGmzjJ0mI2zovGiYbZiRuMchbK3g+IzngSVdLguNnOBgNhyBr1SrFkCQkyMmgTXo9GbkfoCDiOtsi9018J5fiN7VwmyedWidVGCO+E+DHynUqydX8BRulobgP1ha+VEKD8nly9k2ZFL3HPMzK9jnqgBXY3k92nPJ7VvF4C+1c4yG3ycqU1B/uK+LWlcGtEPufLdsIfxLdYhJxGSvQKROF7IOAFakFfdB3BB2LxQkjOU9DbaXeLkZzAT3BQMNjjkEkbpuCTzD+P9ptB10PZsyRzFDW9wGoXL02Mf1HWv+oxRAx6oACnmc9tp77j+XenuEE0NwSYRzfBq+59r00X3ynrDypJW/kfE9JmzJ44IIV1ammWihRm1CVhpB9sT0jWu/MtLC9NmqCXHHpYb6r9RWWERFPaHUc9nbid+1HaNTTh5QiEkK0PPUobnls9ECH1cjKq47OlXJs8VsMVLCswcdu12sgrS+4kf+rJdFRVlJjPkYkn3zD3YWomnecC9ObiY4XXHXNQ1BP7eAFHDZb3JXMM6m2bnOYBqPbU2ZXV91PC5w5OktheKbTmsgYBCFyolhiqlnxPKpM9naUMt3mlKQswuLoButylCJvYtTnn+lVEzfl1IBRss98zXsC72aPRsgxY2wtXO8xkMe1aDJZuGneJ0bn4Zfg1kN0HKR7wIVlab7dShBRI659Bd0WCjzbbu+WDQFnHE7HuyqCq6NyW5+VhzeBKPEk8RNjHRngZ1Ap10SEghl+cBSNi6bMj4KeW2CkRp1P1WX3Xc6PF6IBV4zqTl0Tz/jMwDJxJb2oBd6MZ+rG+RmFAlBD0N/ppMEjf57BDkag4lTljMCFNO1RpU17YDtYAGlVdeXrYAa48O4yVuRa0oMM7f52f/wYKiBgFHv7za2Ho78Zayy7p0CX8iDlLhKtA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5178b5ed-95ef-44e6-7d98-08d9c5f49b43 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:21.9094 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 28/30] avcodec/mpegvideo: Try to perform check for MPEG-1/2 at compile-time 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: uPqhOXtLmIty This is possible if CONFIG_SMALL is not true. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 5e1a1522a2..73b91b459c 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1962,6 +1962,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], int lowres_flag, int is_mpeg12) { #define IS_ENCODER(s) (CONFIG_MPEGVIDEOENC && !lowres_flag && (s)->encoding) +#define IS_MPEG12(s) (CONFIG_SMALL ? ((s)->out_format == FMT_MPEG1) : is_mpeg12) const int mb_xy = s->mb_y * s->mb_stride + s->mb_x; s->current_picture.qscale_table[mb_xy] = s->qscale; @@ -2076,7 +2077,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } /* add dct residue */ - if (IS_ENCODER(s) || !(s->msmpeg4_version || s->codec_id == AV_CODEC_ID_MPEG1VIDEO || s->codec_id == AV_CODEC_ID_MPEG2VIDEO + if (IS_ENCODER(s) || !(IS_MPEG12(s) || s->msmpeg4_version || (s->codec_id==AV_CODEC_ID_MPEG4 && !s->mpeg_quant))){ add_dequant_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale); add_dequant_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale); @@ -2183,7 +2184,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } } /* dct only in intra block */ - else if (IS_ENCODER(s) || !(s->codec_id == AV_CODEC_ID_MPEG1VIDEO || s->codec_id == AV_CODEC_ID_MPEG2VIDEO)) { + else if (IS_ENCODER(s) || !IS_MPEG12(s)) { put_dct(s, block[0], 0, dest_y , dct_linesize, s->qscale); put_dct(s, block[1], 1, dest_y + block_size, dct_linesize, s->qscale); put_dct(s, block[2], 2, dest_y + dct_offset , dct_linesize, s->qscale); From patchwork Thu Dec 23 09:13:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32868 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106920iog; Thu, 23 Dec 2021 01:16:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJy+XHL2i+E+You9FuXJZSqhYofkdKg3GuJHRy62jW3bmHsQH8yslPC3MUk2ioJqmRw7/wAe X-Received: by 2002:a17:907:3e9b:: with SMTP id hs27mr1226940ejc.590.1640250990914; Thu, 23 Dec 2021 01:16:30 -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 w3si2282889edc.398.2021.12.23.01.16.30; Thu, 23 Dec 2021 01:16:30 -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=VMLNU2VI; 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 9482368B1A6; Thu, 23 Dec 2021 11:14:37 +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-vi1eur05olkn2034.outbound.protection.outlook.com [40.92.90.34]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9A94268B156 for ; Thu, 23 Dec 2021 11:14:30 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VPRbVOxVq6WOOzw5d0eIUQy9K08ANH+obSLDg7visOi697Vb2mzraQCrFKWGgvjadWwc/r+cd/AHmsaYg1oBwvv31KlfmmymAF1b7bzSjI7wI1iBsoozeivJGKq3+AZjM+ElGLiGV6w0kPY9YbDYz5LnCZpfLThMMySo0j53IgHC832mgmfZ4xzAkGo6COPAVZZect/ibpATpe9yRU503zDcT1i+nIYD9z9o6+o+zXQ+I8UEjbhL1fDtRhnG3FxFByuAxlMb1QAuu2qE0Fbh/kidR1iJrxN9UqXDY4gESrJ5lQbmYVr8kBSSmRpV64+S3QCrbeN++LvlGN6/m2IR1Q== 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=ldJn7n+Zc33wvtkmTNmrw9YuWqvXoXdPm8PNbvd7gqc=; b=gWNig0rmQ1aHwjPdlNJWImJ4PKQf9mhtBrtz3W/rHzXXH5TWc0dCygzi/r648fefE21Jn1uKMj0AiJYvxl8+7G37I+y8vTSmMeJ4d+RI2GXWEz7I17dNKeVABDhIWxuI+CLhrdurAzSZpE+tdVp96AkCmlAUy2jD2RFLySj7ABGw1YxGt0VDdlhhpfHhdGW9aiqPLnnjle69l27EG3THhS6BreXjFIhWN323Qgi+4BSZTsbiigbJJ7nRVEmMNj3AI5chOs7zKwAo/d3n4C4GNkK5FXvkWrsntR3dUGXWawE11Zh8a5AykCUqqTJzIPcyOkn80S2njaRjdOcCBNYxbg== 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=ldJn7n+Zc33wvtkmTNmrw9YuWqvXoXdPm8PNbvd7gqc=; b=VMLNU2VI0+eLzedvt9I72bprnY/BdKsK5HuqllYpVUEC2uRh/vDVvfzq/KGJU9N5SGmT1PQim6r0IsZ6B4NbLDFi3fX0iJZSN3esGJAm0DgwBO0gzckJzrRwkdV7pQUn1R+D8BmQspTj+8Vl4FmLdsd4g6uDizi5cdH9oIC918TG+OJB0cTnRe6tO3idQ8BuGGwEhaepp6pRGHQ2tDlgG824f5S9GlduBIuh/I0g6/PxZPElZeDjs2T3KLjTWvkv6S1CVnaJZSuVlGtGwhiOwA0BKpu/ZFMDHmzruVwcV2cXzpRyoL42qlg1+4IjItX96EJrKpjJaRS26cpvu4ydoA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:29 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:29 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:39 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [XEPKf32aZYYPGwrpLegcZXEBtnSJe1Dy] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-15-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6e2683c4-03cd-4364-f731-08d9c5f49f8a X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhl4WTFOkgzRnZWb+Y137S92QRcksSrev+Jidpi+nbpJUATCZ8FiCbldqLZBNl9ESZHSwfEEHQBnfGFS38MUz/li+ihE4JFPI80x6lvTDB46v+/0QLgmXRKEXjGeZR1QawhiCKlT9jPJ9AC0RF8k1LicuZOlDX4P2OaOQa8woyXnr4Q4yJfGpE+uNd1832l0KBQ17BcV+lqUmM7eZx303YAgJxQ/RGhzoW+tVIfeE7ZwPptJKBcqsycPKg/Z4ISjYrT7o3objsL7UmYUVDDNv5kctgwuAPVvgyvnH2b1bgEubHOkZYgQJrqtW3Wgba8ZlGjdbgTvOfmX57i9Txmaj1m2+iJjUYq0k6lyfHN041NfGsYuqM+ojy28eEMsqzWLRHBLZEguq6fB5nNxMwR0VbQU4toxDrfL1T7dTgme9QrWuiuJqhmNQM8az7GaYbEmxD+Xcvo9LlB8ZCdvLjAXInm7Gh1jnuSr11pKDIAf+2WVLsQEo0HAHvI4q1edr8pE/lLi0KynTjkET0IK96Jpzzooi+nDPmKHMn184VG6vdZUqLCdeZxpzhTdCJv4viKJXRbGWwMEidGVhY1EkT1g5/Is8Kfov2xxUIXZ8KAgcpW47gNcrMUyWvhxaz3tlb4AusD2QnIzPi3kgXCQAKOUyfTpJMoltJpOwUzPJ6srgpCpmayi9miNwI3Sn5fYFn1Cw9YiKe8X4SP9ms= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8OdaTbyVjX7Sqmus+diLcKoZDyTI4jLKlHIyidofXvISZtwZRo0b3kWlU15TR0CB5xqhCoVjQ0EHpYZ3cfAIMwHFSCBYrRvjdp6MQXpFyHLPwCunBabKbdTzvwvAt/T6u+lqa5Qs35cR1wTUnoyJrjLS06Qe/7XG4laF5cbptQUkFrqYgohdazQoMJdAxq8hf4k3NxIZOgLuTfNFIMc5vaAF9aexU52TbC+C4Vxx05N6UBsgcEDgvlwnbgUZaWjGpo7f/EFv8cgG8Utfj7ea4cjqaeHh8zndG8YHin/C0QMLpj8wXRr3flhzRGtF1x5NxzGU5n2sDnoC7BjWgVA+GrPKyRgaloxvpVbf4JMzChbzrhEpNrRD9vsM45sGPAqDtXnR4oXNyv0Tct9Kp384+lxXqZYz0mrDO8GE5xvZ3zkwRYPvcjf0N7iD8pKRpJD0EuVVrNC3H8oIwctd6nmGdEEcAwwtnsQRaoP8YNQMFfl6PtRFhz65K+fcAHtEXzbxi7tavVUdc96dquaahZ1Kh3pm0Jz4cPZ0cec+EUegA1Rvii9CFgn/vTUQGugLzV9XjuePyEZNFqdl4iPVfQekJw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 89au/fVBF+pHyBcqvVeuETa4mm1f5MEzDavbsThy+F1jrco86Lc+OHn+xbdKZIxcqV9/GJZX695zEO7bOSfoOy0vLOaNbV9nS3WaQ3h3AZwrSIlZFC9OvM3NG9fY6potTHwSb9w7aDUG2OLq/gtod71ibsDX6RHY5mb3molk+FCUQJ+2vWnrz7x6KsNkBGViOTyFpTpkmjVpKekNSpUqyyuDdh/YvcnGopPOZPjm1ACKC6kcUoh7QcxBl+2EXupBMbIY1JDcaoXR/E41wlgqoUgH6F+oLfMx/47h0OLmAMjw8XOxifg+koyaKZlLpnaIeeCK6n9MU4VGkr7CJRmZ0THCBCLJN3lcaQrTRNbBcbEpWOGWefvmnUUkPB+HIkEWibaa3SoF0bmDivlYxC2YWo1g/MiDj2NBLaOxAJNnICyIXPuDILxsoWXPF9tuz9RCJXU3viunZFEnN/cC1BONdI4sCFxfOGhb1cwkPDddgQMkLWULqEdDsx1SRK1AMv/smJmu1dRjD6vvg259g/OW4ogup9wt4tqtpPkrtE/8eNCayyqirTl6gNzDdgukUPS4o8DJhiydRP7oJjoBY4aRol6HXKOwXrjulHotZu5enSj/aDQ9+SCyD7hYiK6HleyLNCPZx2Jha/yV6i8ZYjqs4c+i5MPRggKhfCC2beRdRHvOkzEhRm89vL2AkTgZJorxhmVgdAl8wH8WXuDzXwoS/t90b+WQ/0hxMZ5Lcp7+GmiGDPar1XWUHx5V2WeoZxRr7hKBiTS763Z5/DIDCIW08BHTDqxkrjqYs8umUVgni/ZWdX46zh3mnaGGom5bfALEQr7eMTHhGDpkXzhQ8qZFoNI7EOznC/s7Hk4kpcM3TBed7IgA2/1pcYPMnsdn/Jo4nAMrhxsSyfEJ6lqvb98b54q4cirzzisvZ+Acf8z7q2Q1xSFor5NCItEQ6DGmGVMqMhKFONwn/1HnIhqVKY24Jg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e2683c4-03cd-4364-f731-08d9c5f49f8a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:29.1043 (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: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 29/30] avcodec/mpegvideo: Remove always-true branch 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: +tQUl6pctLcS Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 73b91b459c..7626f97be5 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -2166,10 +2166,11 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], dest_pcm[i] += linesize[i] / 2; } } - } else if(s->dpcm_direction == -1) { + } else { int i, w, h; uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; + av_assert2(s->dpcm_direction == -1); for(i = 0; i < 3; i++) { int idx = 0; int vsub = i ? s->chroma_y_shift : 0; From patchwork Thu Dec 23 09:13:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32869 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7107006iog; Thu, 23 Dec 2021 01:16:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJxkFBj9dTay3WvXXDBEBNhXRoyhWIpc/KKWZ3dyx2Lk7eUAg89+/ZhBKNsGMmUzHA4P0KuO X-Received: by 2002:a17:907:7fa4:: with SMTP id qk36mr1212309ejc.308.1640250999707; Thu, 23 Dec 2021 01:16:39 -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 ht21si1829236ejc.442.2021.12.23.01.16.39; Thu, 23 Dec 2021 01:16:39 -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=LhwF8zg2; 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 8DB8C68B1A0; Thu, 23 Dec 2021 11:14:39 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075109.outbound.protection.outlook.com [40.92.75.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1583568B164 for ; Thu, 23 Dec 2021 11:14:36 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PUpKZKrhMsqHkvZgIdMzzlXBkF6rBA3667Ce4hJwtxH7YOC1MguCfST4ESAPefXwTtWWlV5IKrCbVAE5CDrwQQHQOnAO218ZkmjOmj8tYz0zPznn9pS1O72R3BLHcoYHNWGMa+bRuUbpChzCv537TIq5KEdfoTDlrjmDSI9RcOL+FcFBawJEWsjFgiRC+qyODG4t659eD8ckVkXSJVLQ1FIfTr6WFmo6zQvA50oRupUPX3lxgWM2gTOnK5IEqy22evqkBgzeRIWKD6YV0gkROjThv6LX3pP4g3asboPPd2zyCQNIKe+IcZrw0yfWthYMJr4O1uQGCye21vjVKVt2+A== 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=7udnUeWw1zUQN/8KTHtGb+/EyA+2HiqrQfPNkUfxE6c=; b=XE8akIpmSNNdpKVDy0c+prKehfB3iWWwCuY1jTpdZnf7KK+C6mlT3PaO9X5u40XJj6TQ6pvl0tu7zkBHK6RVsydcSoobdPYxQP8CGfB/jFYzoL6tX0oH+g2jPipErw0RFTkSK7PVslbB+TvbDerPUKPz4eT8NMlPM5PhG4O8pvLpQlzkqSTNtUcZL8nkz2iMI8ZurDsJ/hERMNjG7067TezRzKlxg1uao3FbfVEF2TfQvqXjLTBZAEH3jyKBSxM4U3L5vOVtRAh6LT0ww2bRi2sIPnW//pLz1yO+fEJeN3NQ1EZv42OM6Sjn3N7VR3q2g1fdMRg7EBxXBCoujRP1ng== 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=7udnUeWw1zUQN/8KTHtGb+/EyA+2HiqrQfPNkUfxE6c=; b=LhwF8zg24yyrW0di9rCZtDKNMkhlfN+mCxxvLtviTDebTeGtoGhOU/TazZnBXTRtgOrkCQ1fU0iD/7Q/HU9CyBS0AZAs6PwAusiDpLKQ6rvEvQFAfE8QNkImT3GuJckn9uxGFQjTR+oS5DuhBMmlIQHjUxy9q1f3Z0pTThM2Viqwa1gIvpukf5SeaYr67nql0LP5B+yy2+vMuAoZCbtviJn2qObAUJX4FL9L9PQNk/YyI6PiqOh5bDR6LFmf4Ze+sSoQ5P7eGmCrBZOhxVOBfOmZywhO9gxaQxvHQ0JmRjk8wXk2vEfmS2XEdk+lqjpDVx30kFRQPILbnv02eqpZ2Q== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4614.eurprd03.prod.outlook.com (2603:10a6:20b:9::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.20; Thu, 23 Dec 2021 09:14:32 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:32 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:40 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [uFOsaiR6qB+Kx25EqlS5Cv952daSKcIT] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-16-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 27084e17-586d-4521-633a-08d9c5f4a14b X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JYWqBgP0Kj3pYN+sQ18JLA4R04X1J11oQnACHk4lDW4kYTYzdpsDhpNMB01xCi+aZNN0aeexhSVuFG2SbhNnReF4HV4XEdDJvcgv2I+UAxGlopzUyLzLBjPliMTqyJv+ETlMebfOmnewjUt8+6yiMloZl5MbkfRRZSl1alLQz80dMl9fMZjaeMzP+jkd7ho5bFYpuMBHLyb0OgV+p9KgJDtZF7vh3l4iVygXH6o4pnuPtza1HHdQlPAKFiHeSZEepUgKbutk1qbaFTBO4wiZyNn0mSiNgAbDtBwypJbOC4nZ+5vE4sAQnYPdKE+k/QmWuNkAiZXiA+hxq2ZQMJDKBDMDZbP0izTvzK0/GQVh1zEXQI4uweuffcifwAvsum4AIeDzQfWvcFQd+/n024S5spr3yYAqCrQV4NMfBNIJIA9Pz8KhUsA8fMti1I+rbn95hbZp4Im59JwlCij/vVZvfQ0NgkkmyRI+xgZXiaDuoCRcAWXnmtXkvfelGVrWnpR6Zd704QP90fe1bajxfSNT6E5cw7E4R2vnsYynmybQht0c6Pygx+ZCoGW0n0KyzRGMhrtv7ircegYGpATaQrolZjiitECC2zCKJRsgRBDp0FHGCBla4MllDIYWKTv5i1sBAr5BWBQg8Sy+DOwiY9K485qAabStabeAhIjftsot57p1fHm6bfQXppMm4t3HsjQpk3dXEPkDjXpGUVcfiWTLXrCX4jKTsFD28GN4yZb5kCic= X-MS-TrafficTypeDiagnostic: AM6PR03MB4614:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cXMxJmrH77v6HoDdYABRQJBLBd/68W7xDtqxpeU0a63dYXcUFFQelSd0GkFGrJJIfGwOG/hoQ/PZr3VBnNmu+NC97oSQJMXHMJYhRaUlh1HRt4zCoTR3G0ESpEn+w785ZXz4sDTrQq3B+k0pv3VoLaWMPhq4qtdOsLT7ANos3MtxDSDe1rbSHA4f2oTq0X8NiyOGutIr3RLCC2nVJ92liE7m9TD5wp/vwJwBOaItT7hIOOHnH01CVSGBl3jM8FOzHwrb4X2RMUDniUqTJKiLQCNmJw2fwpWOLOjSwCFdtp/IBBfdMF+8TiHqoV2iot53KscPP1BzwV3YF7FrDptHSJX4x+WvkFsm9wMISdZv/LEnU4hRR8kVkkq7A1ylGPsgFCDxExoufx99t8rmo+uGCc9dsE6MMPbKy4CKgy15ghllVd2dgRaA8owhB6SEsoOezOZSH7LdkXLoMpSTxfcrd2YR+3CNY+5Q3jm4pMkBvShtpcatxZ7xqu8On2R7yPQPRQalmV8DR/0W9bN0pUC8quGJWUFAqfJC+IXawYxLzbaBcMEX/aI/Jhdy+kD90NOIjyeqfipHVlL7o71pThqMZg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bsevp91IIg5ObLPhs5DklzZLxqKf/XZ7NP2CGK4DFhzU71m2nJePa/ZQvShZ5C4snRkHbSo3eqoFf4VGppg7Y1TELwvS55yT8ruYUlrA1QYojjQt9uP/n1klnubUkMZFcp4LFsckDQRtd/jaU72xPP4zkT3xPDAf58IYubV2XifRDm1zdfBSVzfEmfyiova+rehGL3QOMyGE3ayt6pD3/rG0GNVwgzCSCg9scoZEemCmCrOM/4xQTUsuXc6zzNBsVp9c7cTaTIOVfh3Oio+S0lsTWhJBJGnFYUx2Vox3+IySdQUPhHz59wbxVOYEJ34bnKN24iZUYev0onlbfqoek/GVxFEsLLf2+/SzbUDSzlUvfBBJFEdopF+XFHQnp6Y268xGLU9PRSHs+xnPJ5pkvhCcr0FDsC0S+hV4dnuX0RMayZvHiHwAjbpI1lnt32CowJCDo+Xt5HbzrxabzH/DO3ARhEiybOK5DPqBXemY9ipCWzI/0ndEltMqzhV/qhsXBuedPu90Vj4cS8IOppcCh3m/gP4DZ6fSHebnxqHAmQuvtNYUGTW+iI1tYq37NduGCYD7Y4cStfYjNSHonWOXA5pgPuwARF6cwYydndhuBYPcGbJPvwqvgkslDDymOEenAcSVwKO0cF0IGq5a82Usgu0MrItDx/yUBnkhEwAbxykJYtUlZg6fm9CSyALQU2n9hUAL3+lc+n21UNr85wjQIsrLJxk5iUyPHoh+wE/VpaXxyMTqO0voYJmXPnywedBVyrNf1bkLGYbeTuHpIMJCW3NJFi2iFvaQnF8HYjt+IOyxqZ94LlvlH8mvZm7PB1iJ1UYjxOkUUKUpdYTy2Z/150h0sOVOFR5WA4gDHC+Rwm+y53G3lEgGDVzM7sqRmq8L2vUKopaJw7+fYiazIupE+lf0lnX9MRAQeChruCgIPoMB6pEHCnPHAZ4J43wZ4OnHBDvjqaxTn1nQeH9IPil8kw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27084e17-586d-4521-633a-08d9c5f4a14b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:32.0431 (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: AM6PR03MB4614 Subject: [FFmpeg-devel] [PATCH 30/30] avcodec/mpegvideo: Check for no_rounding at compile-time if possible 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: gnCyidXuE35h It is partially possible if it is inlined whether we deal with MPEG-1/2, because no_rounding is never set for MPEG-1/2. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 7626f97be5..8b16b4ec0b 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -2052,7 +2052,7 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } }else{ op_qpix = s->me.qpel_put; - if ((!s->no_rounding) || s->pict_type==AV_PICTURE_TYPE_B){ + if ((is_mpeg12 || !s->no_rounding) || s->pict_type == AV_PICTURE_TYPE_B) { op_pix = s->hdsp.put_pixels_tab; }else{ op_pix = s->hdsp.put_no_rnd_pixels_tab; From patchwork Fri Dec 24 03:23:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32891 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7811596iog; Thu, 23 Dec 2021 19:24:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJxBG8NRxxvCv4DF8gaLsXujSee7YmTMwBc/9J3+VQLU+7o9yNw/sctlHZ1VOIYXD4Jorq2m X-Received: by 2002:a17:907:3e9b:: with SMTP id hs27mr4036899ejc.590.1640316242398; Thu, 23 Dec 2021 19:24:02 -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 r29si3084951edb.507.2021.12.23.19.24.01; Thu, 23 Dec 2021 19:24:02 -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=fIKxpOcv; 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 ECF1F68B23A; Fri, 24 Dec 2021 05:23:57 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075050.outbound.protection.outlook.com [40.92.75.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0107168B22A for ; Fri, 24 Dec 2021 05:23:51 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=feDVpi2H55nSRYWgShmZ76G9fxeM0ZmqHNDF/mg12BlmPLGSRbygt+BGSdAu3bvRPpnmX7Me72Xm6M1msvCiQy+42jrU5DWdopaGQd9EnR1xt+shuan4bkWFXAumWds+FsDQ4+vYUQ/17iRiodv0vyKy1+IFeH7ZsX28WPLquwrz3Au/xCbK0k98+LQ5Ab5D1AYvmM19/BzKndGjTZlkvxnzQx1k4YlnVo/sVyGs75ORND/xtonaDrW5tRor4Sx03ZJhuQ3D2hqggb2fttU+aPM4wtzwOSccujzr76YCN5urnSNXAOYea+H5SJ9pUhtj6KghWWYP+TJPg2S0gtzLbg== 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=uPhkwtrPHWFhoqZWL2FcuXbCR/Z1fKYmNds5y0RubVQ=; b=JiGS2taZ9mV+e/PCTslf3trXKpL060Rf7ZD/ot1IKO8Q8Boo7Tho5iuJfVENI+OSMZYtJlyULjrk1NiemFdF2Lia9LPq9PawbbjfYx0/jukAlkTNkLWHO/LTEG/B0xXgclQNMcN8zCq6cflFHJvZ/6OQ2eus08OmR5FntKmFEMmOV29dwvdnljk31d9JUpmbjexIMN76iHvOuKJVaWZ9tb6K5ZYFx3kbW6U7r6ITVK+jSzSaH6JqjTmJuyU9DjjoWsko11vfYeQxmewa/96EWeGBU+ZZXj7JDB/TH7yYlNvfiTmzd0UnqoByYnNXwmz3XxihbFudJcod7l0lD8aOfw== 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=uPhkwtrPHWFhoqZWL2FcuXbCR/Z1fKYmNds5y0RubVQ=; b=fIKxpOcvLYA7bnwadBYyZKMVcIb+si50mbzMH3oxTTn5YGdtstnFAAbfUHElZXAouuxRo5NrIMll4vyVpbCR/HEEHHdUf/HvBbZaK1aW4GI71CGX5EO/FWpwvRTPDx5f+jkfDRNDRFeQCX/KhTbrZHshNp95ntssSfQWLb7ZKSOfcptm/dn15U7c5i+Jk/qzq0HLysBnIPLy6JJOfvBN/sdjuYw7WFVX1SpRR57MLe94DFJtDfQnLwgFn0kVRUhS4ZU07TAMEJOoewGuwcs0jjOjt81kWwJVbjfALAfiRsCfKwJ/iz+9OQKqP5NatYTyMFHiEqD+I1vRQfCZpZWW9g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5249.eurprd03.prod.outlook.com (2603:10a6:20b:c9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Fri, 24 Dec 2021 03:23:50 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Fri, 24 Dec 2021 03:23:50 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Dec 2021 04:23:27 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [+blPUERvPu9YZvj3y7gk+BK0S4o3wdaf] X-ClientProxiedBy: AS9PR0301CA0032.eurprd03.prod.outlook.com (2603:10a6:20b:469::30) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211224032332.2104747-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5511a6e5-cc0f-4d9b-9c72-08d9c68ccd9e X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JMlIpjOXMRlkdkHTIRe0wcs2WwGn45Gi0W0zqnJBdIMhw/zlq+rIDQZBZwfbdhA6JSTd6QEw/VnxeuZosjOCuL8X5pI6zCy8+WmnG2qNIGBXI40tu0i7QAQ9gpNRcSIB4Du7SZ6o6jc11lGdJJczLE7TkSdx8rvSv7AU633q050eQw50TBVHAc1AIK5jltdbJUihdOiuTUR0jKwSANRSsjXjO8yyXCnSi2wlHkiTQvYQkQfnoinniJlIWPm7DTPCI1BSYTrxvYNsTs2I3ONibXIcFlOF7qSuMX+rUkRxZmgjDC9mffVx8H/5g5Gq0r3MyCGQie5MPRAfF+2Qy63efGtMWwlKpqI/z/mwonCSlkjYeZ3Efc94ye74NTs284ZYIptyeJo2v33ZMGK4Y/x23hWv3YjKEiQ9C4PsL62urSO71nny3au7F5hq+uX1ZpfoKuTD2pqZTLOnafNC8WptPcQFqMD3HWieV8u637iAHArabV5kMKqbhu8a8a86HnczEGNyL6vYojKpv1Y8nKdJlLnbxF97xXGfIUlB3eXvCO4Ycs0fbyEnP2MxHUrOf1RLFziXeyMTizBOrGCpuYHl/Rz06mQYun2sqTTKXl0HXl5v2IHgIg014XMz9SDu4ZWh0UVW0aly/f5NEtGf2py0EU+aX9P0zavKMxDgy4XxxC3dga/GmeSUITr4Cl+HegF0jwpoOJfCNbLsEn5o9JaohaKbSFCfEnsurEUk8GeKqXmw= X-MS-TrafficTypeDiagnostic: AM6PR03MB5249:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gdVTmSAp9wstV30+SefeBBI82SUE+LuVVKpDwb+JA8CR9coBick2FRayuCKHZXVc46myQKUbMpxTu17oLnXLuyAmljFOb33YbjesjAbUBwiJC304QZ0CUNIUfcN0jz4WVyP8M2e5TmMD1wkPoH3tfoccmMiA+ITegjrEHMZy9MaJ9ZRx75Vuu2b/uS+rMw4V8MpQu/V65/ryD3U7rXp9MgKJyXOp4PZ7DIbk7Cf+HEFR1eqypKCCyWNXz7B+fOzrPmRZO5eupHdEVCPf4WTLv7ypasLe3IVZntDRSFo30WEvRvnUBq61aGoCRuWug4MhHiaB+BBEx8zpkhBp2xR6exDiHhjZsavAgrk8QVK1ww8PLqYah5L9VRHdidAnZaq4YgfwS7FSnLnhuQ9TShcz+S5t2E+/RUksrteWbY4DVGwsA22J1sYGFnYYEojLMierqgNAXknT17Ws3Tu8oMoBWaPHlD3+YJX4yDGmCxEbm+n88ZatVUogn7tXEqmOZtZEzy/9Zym79gtfQ83bcnKWlPIZ/3Lz5oilY/ZBLQX6YICmZHViDRJP9nHPGvYYTg1Im0WtGYzu3irD7PrlYbyiqQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lUUW1Hgh9ZGzLG/2CrGyLpwQGQ8c159y7hPfro431Q54LxvsZebr592fXkQXsiUHwiHevYPcI/f842kGl81CroZ1lm/QAaEeUHXcURomRb3Apop6w36Fg53mVli985ViYqIhUD3AM+y+h0kCZhOaNhSk5jy5Bma5DAD7NG4ZIKzFameNXWU5tfc1xP2Xn80Upp5u/wtPM7ODK+qUrgREoDqtLws0hwiWIQE5F4P5D0WTMO2chZk3vabVZY2z7vaxgJ4ik724G/BqHGSvsh/baPVJBbquXucssonXToEte/NFx9TBhufgWaFJI5PZi81lJmZry1DdY8TvDr94gnHfQmPRX8i4PqOn3GjRNLxBD8DcInHIwDRcnspoaG7Na5JIi8dn8jlmjUePcuVgD5eKAGUT7vSn4OdNMXVu+Zd7FN+2pRCxRm/890deT9KaJI9wdwwGZDClF0Ym9IcTl4l0UHgYQ4UNQIsCuCEsh+hertM3knjLkqNQwGYb9oYU9noE4YnMoNTvi0wX402Co1k+YajTCp+5rhqJZCCRI8drVJdlEPS8Lw8/I1MI47gdm/YXICq48oYx4uFFOyLKlDgj4VyJtnEoIvaERO5BQA04zwbPfKZwfnc9jPle8J7vlFz2/3KS9kcee/wExUHmmxHDZM1WOKrHeKrKVGx3TBh5eH6Oyg/zgB5dvaRIo1Zv6R17rk2y+aFFU3qmZR4/oSgpQlmBIEF0Q2jeLOvMdC/0I53MJo5dZggtNRc4OlR16mtLzIXVFANv9px7kqiK2yxDdVDSEn+OvgFXW/TFxg61J4sWc10hG76RC6xM32dW0aeXjRtZquUyc4U47HFMFedrPe8nvdedBtxUmjV539G4Ssi/J5oLEMmTnLNaOBhcMkT8GJjoId3uAu3lhuXhe51WFtFlKEZQk2WsxlYcYGvUeo5fANczXbaJT0oIrcI0gN/b2hiezPvL3FWzIEFs5t/4yQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5511a6e5-cc0f-4d9b-9c72-08d9c68ccd9e X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2021 03:23:50.2092 (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: AM6PR03MB5249 Subject: [FFmpeg-devel] [PATCH 31/36] avcodec/mpegvideo: Don't initialize error resilience context for encoder 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: 2nAwKTRgd0QE It is only used for decoders. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 8b16b4ec0b..c0ba91e864 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -835,7 +835,7 @@ static int init_context_frame(MpegEncContext *s) return AVERROR(ENOMEM); memset(s->mbintra_table, 1, mb_array_size); - return ff_mpeg_er_init(s); + return s->encoding ? 0 : ff_mpeg_er_init(s); } static void clear_context(MpegEncContext *s) From patchwork Fri Dec 24 03:23:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32892 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7811695iog; Thu, 23 Dec 2021 19:24:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJxwk0BCO0ToycLwa3vymAclIQGuW9PlPsGCYojeIqJt0kJi//4V5kDlT7H1KEP3++2smGMQ X-Received: by 2002:a17:907:60d1:: with SMTP id hv17mr3883537ejc.384.1640316251247; Thu, 23 Dec 2021 19:24:11 -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 e10si2646523eja.244.2021.12.23.19.24.10; Thu, 23 Dec 2021 19:24:11 -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=WaylsAVg; 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 4441D68B247; Fri, 24 Dec 2021 05:24:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075061.outbound.protection.outlook.com [40.92.75.61]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9CCE768B145 for ; Fri, 24 Dec 2021 05:23:58 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ah/MP//ShTzzCcCvVWJj3nphlfPOQTOwl/RoYsB6ebXQhb05zj+owBC+RN+SFn+bHwvwcHomSUvXVpdp3L73uZpV9NrxZ11SeOM27YxOlzrxldiSUMFcd0b923540FWejGdkdsQOKwkV3AXwmRQ29HyCwbWwmPow72VHdycmeNoL9C8nv9MagUFUrdyvN34ezMQlU52zTOfhdtmgvEUIyCcgvIdGJq1i69aXfq3HZceBuAiQ/k5n62JTtLfjKZzMWxq0sOixuLCm+8GLO6wI4Lkrv0RE2US7tQL5ImpCrdMqDtC7uDY4q1J+lVulqzVCPf+ArsXwKyr7E44ATm528A== 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=KgFiJLkyNbDXkNPXzmq/5SGS5k9UpAIoGM+WfAv5Gyc=; b=oK13LRaG/tAsQMQKcTl1Da9bwKy+vl+VV3ht74Bvx5Ll/B2HBvotH2DnmuwTOswIP9uc9ZHOBI/R5QSeFdpfjNrNOYppcIR5v1tIIvLb7cMt2T7EGQVuV3Pud3+9xlj+ZNC+zocaxUyYKSr15+aZLrTwiEO1KITOmltoJRRRqIVhHxtW2jgZjteWsPYVOWV2bgphXqKvw71VMDLPWhWy6dwLZbuazJ83RVKKFkDvF6wBkqjAnK0c6kfQcn/h08XJJSoqBX9MoSftZQQlo3JCcV031kFFIOckLRhquEpQXaetmqVY+1VInSfuqQVik2ufJXFCmkZCNKa143jTU5UI8w== 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=KgFiJLkyNbDXkNPXzmq/5SGS5k9UpAIoGM+WfAv5Gyc=; b=WaylsAVgJ06K0RoPk8+gBax42Jb9k/WlKgYcTVFBpSCXTuzeUG6qFG2UvMqsML3TdlSK15EnsHw87p+gGfsqQRNTjT2TMIG1Fmg//7ia/S+RBEntLQ29wOeg76anvWcf17NNZkwA+gv8cBbBu1CIs5RAbL7wfhgTYWcng0h5/BLLW+RF7XrI9IbzT1RrDKQD3g0hexgeqxrLjinvwmIMCm4NTf8Rdkaw5Wdd2SVlKbPlgowMF6zHqxpLmaU1/4kPofdiX4ZMqGLtJv9FJQD7nXIHtPXRhazgy9wW2j49NBOLEc41SoBjy2f37JAAV36Y67PjO4d4jnvvILBVgfXZSw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5249.eurprd03.prod.outlook.com (2603:10a6:20b:c9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Fri, 24 Dec 2021 03:23:57 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Fri, 24 Dec 2021 03:23:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Dec 2021 04:23:28 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [IEZdzoJ171N4/H6/A5CEgIDQeg+Q4Sg/] X-ClientProxiedBy: AS9PR0301CA0032.eurprd03.prod.outlook.com (2603:10a6:20b:469::30) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211224032332.2104747-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 585f16d0-cc26-469e-2a7b-08d9c68cd261 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JnMoawukJsVc/PtEhUYGjV8j4VsOFqtK95gAS9hFECv7p60RwvjoP6FxB+zTmrsRfyV5DsgtZj8MRQIgP7zg6lzA+u8plcAf27IPCScltLm52zIMaBlswWKFjf9IZdwsrv/Rcb31oCtW4vgOCZnIcqeFFtF4XFZgo1vgP9ldWhDX700XHibKi3kVv/Zkwl+r3c9Uh2oJ/s7qdEiInQ+Sc3OWsKoMmT4N95Qj61CgCeB80Hssqp+subdL+JTCBRFCnaXsMnnZIDbmX8hhBxonUqBH4mY4NyVf07vX5BDIevHuRuGrBb3XP0VjyN5LgynejVQJUnm42ebU6c0ly1RQfvMP8CKXQmN1f3AmrA+KRlzP93dnF+cUXkzdLarw9Z8PEgTUlxShYff2EtsOHgRlXFeLS+RoA6OHsv/ybax5OAre1cwh8n+Pv/UTmNb4zN7LWY0uxL9VDogbwOQH9stjzFqrFJP0RZHlSvffxjPwKwXYFhDOTOfoQ0nyTC1dGKsN6/K8h6EgAhkSN5FTB+8KgaAQuitV6A1gpON1ZDrCVCZFGbeGn/bwtJxRbCnG7Jk8pi7x/HWs4xxM0jNRUFDJnvJeKhUd+bBOshJX1mGgK5SLcUgEjbzzBsKmDZiOJTfSUbJj/PqWT043cJMtfUevXTQ1vG5vlCyLjBRUW56nb9Pp1oBGB+/gNy1HDgcdPzCQ3Xq8yxzK/HJr4vipec3daW6NJJBVNkkFXsscMdTbqBaY= X-MS-TrafficTypeDiagnostic: AM6PR03MB5249:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rTtg3BhDCDVx0/PVUo3uLX5kMdmC6iJGuy2ey+EaDFCSMVujY6RxVQd24w4IJelFnYDT0SekhDzhT9NsgxpycHGqjILRHQEoXkgX9K4a0TJQWEPlPdnpwZkMdoEfetBAVvP4artKRwfXh9THXkGTadADFqgl3NnsXjSxdQQ+u0GOHtcMoeboWGLKO/esQahfwvMhDefZ0a5CyUORstKgjOXZx55jZMJZ6YLgCr5r87ArIpBl5OeixYIwYOV08pAaBse0L5lq4BoUGJdsOgJILZf1i7RSAHJD7YHkk5GYw1j7aJSh5rarClM2ou+5fzNH41PlFltR6jObpzQn2IBJzj26j9r/3D3PPK2bQ//teQ8Q1sl2hG+2zt4PKRLYSOkAl7LzLeP3edWy/3TN/FMceLGynd9IJPS3pGr4I5LQ6V23w91KUGcILnyXVfUOXWitbV5gccNev5itMolbL/Z+sDi4++zXDHGjp26b+xEC8x8GnoaeUpbEX67CIaseq8UdMEhvrplHvy+di6IaOgDlEwFTR0bemSgo0iG0h0Jamz0vxitT4GfUhyiu2QS7XI4uuyQDymXcCx0RyrFEw/k1Sg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /93i0j0cQQTFZ8f1nwtH/XRMRz3IqyYBZicSOHBGEU6U3nabzgvNDboVBKuZnLPde+sU9hW0gYG7oNPzvKztaUsutZIrjvIXzr1yrvy/psqZYAtpf9zTJaSShBIJVpcRq4Rn0SImjImUP+Av0bh+W04uKqbbKSr8It4AMosYKZqrSUt0dc4prlojVnuheknBYK/dkwary4JU/viyIEkHCJxieZGb6FdWph3tyxxVNwso3wj7QG6yOqmkjVS+txnaECfw5whSA4SRvXclFlM9svi+U83wPU0VvQci9lJo2AZ0b0xld0rUyJw5AI7hz8SnD4bXA8k4Ma/gZyITQi6Gw8BzCaUkIO7Rvu9xgH+ouB8O8V5RI1n3/N4WOX/h92b/cFxZ9uWJecMkRyBgscCzKX4Qcv81De0clicCiX0dW8rrz8DuxtbXXp8F4CSLhaOUg2+jVFwEcQWRTQyKx6godnBJ7EQ3uVJP/jikHJDQYg3Psms6DFBXdgUEHNYyCrEETMpaDVNq2Vh9oMzay3OVSGD93Cc6EipgAMtdBSO9px+z1i8DEXriD/yHHceiXczA9EcUwH3lV/VG5UN2QTp9UgUatA1rPRTZCE0gSH6y89IOOX9+8EgsrSTUKJJIlq3WjNzZgzhLkS/1wx1T3tp7bCk27ulSC5ZKIXbD5kpCDODBhFP4CJLgv9ZxGbMWvVzOUPx8ZKVT+4k+GE5TzRnWYtrvB8C1giZ26Ly+TGU3f184uyoHGtqBmftNk5VxDj7wsIKu21fPjm6goIiyOTxtMj/UQhynGvNY4WVAj+poe7cmoX+cQZTVmfrojOdcUzIcFls2cfgMrbR2K3ay4vieLIWM9SUl0691SmLP4eyxyzSAR46HvimGMNwftmZumPYu1YSZgc15MJ0M3/nVGCifhq9XavQh6ZMlc4Z2uR3RP/9bqY+nlEI2c1kxC7z1vVB7qIVV5/ryTmYtiKO3bc1vjQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 585f16d0-cc26-469e-2a7b-08d9c68cd261 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2021 03:23:57.8503 (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: AM6PR03MB5249 Subject: [FFmpeg-devel] [PATCH 32/36] avcodec/mpegvideo: Remove always-false check 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: SVFsBtyZY5Fu An AVCodecContext's private data is always allocated in avcodec_open2() and calling avcodec_flush_buffers() on an unopened AVCodecContext (or an already closed one) is not allowed (and will crash before the decoder's flush function is even called). Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index c0ba91e864..942952e46b 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -2318,7 +2318,7 @@ void ff_mpeg_flush(AVCodecContext *avctx){ int i; MpegEncContext *s = avctx->priv_data; - if (!s || !s->picture) + if (!s->picture) return; for (i = 0; i < MAX_PICTURE_COUNT; i++) From patchwork Fri Dec 24 03:23:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32893 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7811764iog; Thu, 23 Dec 2021 19:24:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJyn3gkX3E5HEvI1DUJFyUB9wtvrSVw7XpYGmKnwQ3OBzzXBXW8nDzm5XomjuR0/7OZPpwgx X-Received: by 2002:a17:907:7e8e:: with SMTP id qb14mr3912588ejc.525.1640316260928; Thu, 23 Dec 2021 19:24:20 -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 hc14si2919401ejc.365.2021.12.23.19.24.20; Thu, 23 Dec 2021 19:24:20 -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=mDM4eByh; 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 5A27C68B25B; Fri, 24 Dec 2021 05:24:14 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064061.outbound.protection.outlook.com [40.92.64.61]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E41EA68B22C for ; Fri, 24 Dec 2021 05:24:07 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WKkk2HrnKQjTLNx4WsuVhj0etvlTdSCW7YaIgRBPMTFm0U3k1SV0M0wLG8PS1XYkey4h829MW86dpTFvJ5Cin/hWCZOhh2+beu/H5ssRT3uyMJ4+0/Iupu+zgyuyeQ9/aGNoZpGwWt4F1HwuPMPaDkmguDkRKPQVjeXkB6EPR+6KrGfCATTLe7bzVaFOP0lLKWF0X/B902W1dou27KyBP4/I2rU4e/Z0onH5no4bewluJaCT7ssooAeMvokBu2OxgWisVac8KsvPxTbiJSJkf/U26K1HM54UUaJ3Dr3c1ptk/vnHxmjjrOir0vhhhOGHfXSocLqCC4S+XYBs9UnPTA== 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=nQOZK0ZP02/OZhkwsmxFniofC4YQdbFSJ7BxPIqjTHo=; b=hJes77Uty3rKeXDF4EEythPSfQiu09fg8Xw3xttXtMOgPOetWJnuupeeW5QVF9AyKNYbRjzwKEc/lwhh/TJr3nvPg7g+pzWoKCqcLBKCuxvi7BdjDlZNau0byyFDCJKZFmqMUvFyuPEvvdMEahkZAEF2SgrghjkkEfdNFRcvvs6dHCA2e0YCxw7n9RUIt9iQ3hXPQdCymbSCPr7jNOg4EYj70ka8PWGPUMKB5msZ4doVqhGua9wgGD1IYo9z2coiczH5T7A/aVDc7mK1EX6wk7nnXnLovJF4Aj97Bga6cdwEE5vwCWeyj6Rhz2zkfyictaBdEkgprQMkzG9ShVXYVA== 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=nQOZK0ZP02/OZhkwsmxFniofC4YQdbFSJ7BxPIqjTHo=; b=mDM4eByhUFYl51XzBcxKL+FuBLMkWKr4G8pwXIbaqUFc8erBhI+UEOXmd+wzSxQPr2p1bvfvL5gc+i0uL3PyoZAmLnou9Efckdl0fP59P+y7nt+42NdZk8dWpG4qr3Z05dih4GMlG9mBBBZZTymg8yEuYWwL8dAOSV0+yrQg8rYQtq3ePK7lEJP0VyK6jEdmoksVsQilxFQ6OLyjs8mVWmgQF0v0WMgYgCYEBTT+1he7dzQ6AMRphSykZTAlSYkUJx3mjiKEC3vx/s/le3CqQ05oRinWNy7SPHdsKNLVi8YbQfZwdSjOfvmUbDMVqbAz7vJVtGJYm3PbshcHay5B1w== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5249.eurprd03.prod.outlook.com (2603:10a6:20b:c9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Fri, 24 Dec 2021 03:24:06 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Fri, 24 Dec 2021 03:24:06 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Dec 2021 04:23:29 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [kSjjiAzinZcPxs5WQXC4hA0Y1CILvBMN] X-ClientProxiedBy: AS9PR0301CA0032.eurprd03.prod.outlook.com (2603:10a6:20b:469::30) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211224032332.2104747-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3dad59df-1cf1-46e0-ebec-08d9c68cd56c X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1J1V1JHOcR2sH+5Gj2ImwYHe2qnlE/W9ZfBMVbqpN+P65+7HkbliY0yF0CaR5mI/PYHzZzsltDv4nbrC3feEtfeXkMxnrGsIrOZi78d+D/AqVBsYM8AH9bk2lLXKKHWfKB7zVugo/040Bb2+LyNkYPcjagDvUnjS7RE1MBHiEtfVvz3d6cv2Yh3F6WQ3Y03p6OuiKrdhTqmBmcqCeVS+yPIfqlIXg2CyfG5jl7FGx9h+2kayr2nJ2Ug6PDTslpO0WQaxv23EMaBFBPzyGbz6tI+c0fWw3eKt7Gvg32eoGsXVwvQjwnVqHQhbeHZUd7WPOeU89+GL5p8HW0Lu0gHDOkeERLuP2BGUOcGg9AT8WXyTt59gC6HgfyxfKXY0p53F8ehH/hr2ePScLWI1E9Lx5d+MG8qQsoYu8xg2PZNCtkOqI/2AtLXJD37WCNmqurIF+z5x17WhhIJUS8WYom5nJTE6zUgYD9JB6i4rBhcwO97baVwLU34PY2qS/65igNZj9Ds/LXw3YSjCMra65l4NiyOGuCBMvDoKys79H34vkU/UiXmyYikzpu6GKpESHG4jPa/dc0NfGf20hoAC+cDU6D6/yR0abenx52avMkWD/ZYBp84neUaUHFXJJsGKOwiY1wmCdDJRKRk0f8BHA2Vv96jKtB0U5/gAZPfyMHc4obiXbsNc6EixKq26/EzDCbsIZONUixL9CVUi4PlTdhjiTLnYXE+hrUnXgsh1F4HnBxoQE= X-MS-TrafficTypeDiagnostic: AM6PR03MB5249:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XHMLxbGOi2cRCCq9p8alFDDsYNjQAwcmOo8BsN5Luu7SNYRq2qGr9NLPcbN+iAZN+LTrPR6qENTfJ9upEfLybF+QSq2BeDcgZ3uD6mKNjXRbwyQ53quKRe1E3HIwO9AK5wLe1kkrasQO8l3lz7Fra4FF2AATTiaA3PK49JoXuZEMgbMBqWtxfb8ljSFDXYk+R72zQnv6H+111A8uFiPMoINhaJfqYS696ggzOF11m90U5dsyCttH5Np0mYue4l84RxvaIsfYeyRmhhSThmqCs6w4OWKsHREjio1ok65qZl8hOHGgDvNcDUJyQYgYjtLs+DN8/ir430e/7jlBBXrT8mEekg5tPpyG+mmui4KyXCDBJC8quuy+7q0sWLZP+XMR3NoQEaf7IrzLhIpKK6PERIB4aJGo+XWQ4VE/Fq/63GbRJE5KwlS1Uwn4sAGfV4mC/ZkfOt7TBY3kzrRB25Bvsb8HHNRdKVd2UAkA16WtQl3oInB8jSiNXrcjU6cf7IydJGq2UOKiE55WMJRKssUVLDFVlyjwxGOgVMJi2vHV/lNPynSMhTfblj3QmgCrvBTeRP22g+QjDwEJVbFP9Fi67g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DdK+RdSPgbIwvyJ0UZ0GUJAcvF4ib3T8mmTK6j6CFcmK9jpHiwc8rOH3wd9xe+jrv8ZY5gEnuEx2JxWbrQn7P6qLz7gfxllpCVga7UD0cLjSBIjp39LEGaKJGK7nhdsGu7h0cUjLUib/bN0yIupsbAChN0M/ynxIY8z+23V2BvC8fu17uqftuGlSAEkbY4w6iwH8ZGmNCuwyPVCWpMReJJoAjfG8V3LTf1aCCC2F8AY1uIC2tnHb2Ba5hqmSIk602cV404nvg21IFn2P264X3Olhpg5j8JCpCvpwp+gG4FZ/a/2EdgjlgfsPBKKmR3cKZQSzNtdPrbyJ6/8kCgkGf9MqQXmNUrJuStIhqLwNgHkoyMnYMY0EkEK4rgEXVJ8QE3t8DpNf2cwM+1xyaB9u89J6YQ/j+2tC/m8U6mlKFxS+EKGEwNsyuCS5ZQHTleGSeRQUQncAvciMWNAg//W5D9cIZ5AARL3ICk8/3gNOj0d2Ik1GkBKNVb4/UKii6ww0L9mQenqnNj1zj37WZqZmJNcwc3JICd4Y6JVlBJ3ie1X3CJVXkUnvD2YM8JAKWyIpjV9VQbjA2YiUyYTo4RjA9+ghF9dnb2+hrecJqeab3k8RFUn8cbjiY2z7lJmLd3RfEbCp02IlfEhYxOUz1LSPBgZi29RpII7yeO/bhRaO3sRwDuOOgUTqqkuVr/GVR565SSwmfbiRQS7zpALGvjMHdhogp4ROkp51Zsr1mzoknjFhpXDefURHbwU7FfYlk6fiXNhZIC/iCtJd3Yqqvmn/yCD4TcBerShkILiUi/20v1RijA2Jd/dySzo9nOfzRJj7Z0j+PDIRVAwP5eU8o5YL1qXJV7HsP3f+NVikIe7l1enEIGQrlDn/zIu/avMMTdTtY/xZBsQBvC5FGihCOG8iGCTVrBXQS9AalaR6m0ocMkyAX2G32DjGU+yiDJEETyKRo1mHOekASaTDcsSkdw8C4Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3dad59df-1cf1-46e0-ebec-08d9c68cd56c X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2021 03:24:06.1344 (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: AM6PR03MB5249 Subject: [FFmpeg-devel] [PATCH 33/36] avcodec/mpegvideo: Move decoding-only code into a new file 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: TN6H6o56sytK This will allow to disable this code altogether when all decoders are disabled. Signed-off-by: Andreas Rheinhardt --- libavcodec/Makefile | 2 +- libavcodec/mpegvideo.c | 582 +----------------------------------- libavcodec/mpegvideo.h | 22 ++ libavcodec/mpegvideo_dec.c | 583 +++++++++++++++++++++++++++++++++++++ 4 files changed, 612 insertions(+), 577 deletions(-) create mode 100644 libavcodec/mpegvideo_dec.c diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 9577062eec..e7f1f110e7 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -123,7 +123,7 @@ OBJS-$(CONFIG_MPEGAUDIODSP) += mpegaudiodsp.o \ mpegaudiodsp_fixed.o \ mpegaudiodsp_float.o OBJS-$(CONFIG_MPEGAUDIOHEADER) += mpegaudiodecheader.o mpegaudiodata.o -OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideodsp.o rl.o \ +OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideo_dec.o mpegvideodsp.o rl.o \ mpegvideo_motion.o mpegutils.o \ mpegvideodata.o mpegpicture.o OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \ diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 942952e46b..a2c4e14b6e 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -31,13 +31,11 @@ #include "libavutil/avassert.h" #include "libavutil/imgutils.h" #include "libavutil/internal.h" -#include "libavutil/video_enc_params.h" #include "avcodec.h" #include "blockdsp.h" #include "h264chroma.h" #include "idctdsp.h" -#include "internal.h" #include "mathops.h" #include "mpeg_er.h" #include "mpegutils.h" @@ -345,14 +343,6 @@ av_cold void ff_mpv_idct_init(MpegEncContext *s) ff_init_scantable(s->idsp.idct_permutation, &s->intra_v_scantable, ff_alternate_vertical_scan); } -static int alloc_picture(MpegEncContext *s, Picture *pic) -{ - return ff_alloc_picture(s->avctx, pic, &s->me, &s->sc, 0, 0, - s->chroma_x_shift, s->chroma_y_shift, s->out_format, - s->mb_stride, s->mb_width, s->mb_height, s->b8_stride, - &s->linesize, &s->uvlinesize); -} - static int init_duplicate_context(MpegEncContext *s) { int y_size = s->b8_stride * (2 * s->mb_height + 1); @@ -403,12 +393,7 @@ static int init_duplicate_context(MpegEncContext *s) return 0; } -/** - * Initialize an MpegEncContext's thread contexts. Presumes that - * slice_context_count is already set and that all the fields - * that are freed/reset in free_duplicate_context() are NULL. - */ -static int init_duplicate_contexts(MpegEncContext *s) +int ff_mpv_init_duplicate_contexts(MpegEncContext *s) { int nb_slices = s->slice_context_count, ret; @@ -518,146 +503,6 @@ int ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src) return 0; } -int ff_mpeg_update_thread_context(AVCodecContext *dst, - const AVCodecContext *src) -{ - int i, ret; - MpegEncContext *s = dst->priv_data, *s1 = src->priv_data; - - if (dst == src) - return 0; - - av_assert0(s != s1); - - // FIXME can parameters change on I-frames? - // in that case dst may need a reinit - if (!s->context_initialized) { - int err; - memcpy(s, s1, sizeof(MpegEncContext)); - - s->avctx = dst; - s->bitstream_buffer = NULL; - s->bitstream_buffer_size = s->allocated_bitstream_buffer_size = 0; - - if (s1->context_initialized){ -// s->picture_range_start += MAX_PICTURE_COUNT; -// s->picture_range_end += MAX_PICTURE_COUNT; - ff_mpv_idct_init(s); - if((err = ff_mpv_common_init(s)) < 0){ - memset(s, 0, sizeof(MpegEncContext)); - s->avctx = dst; - return err; - } - } - } - - if (s->height != s1->height || s->width != s1->width || s->context_reinit) { - s->height = s1->height; - s->width = s1->width; - if ((ret = ff_mpv_common_frame_size_change(s)) < 0) - return ret; - } - - s->avctx->coded_height = s1->avctx->coded_height; - s->avctx->coded_width = s1->avctx->coded_width; - s->avctx->width = s1->avctx->width; - s->avctx->height = s1->avctx->height; - - s->quarter_sample = s1->quarter_sample; - - s->coded_picture_number = s1->coded_picture_number; - s->picture_number = s1->picture_number; - - av_assert0(!s->picture || s->picture != s1->picture); - if(s->picture) - for (i = 0; i < MAX_PICTURE_COUNT; i++) { - ff_mpeg_unref_picture(s->avctx, &s->picture[i]); - if (s1->picture && s1->picture[i].f->buf[0] && - (ret = ff_mpeg_ref_picture(s->avctx, &s->picture[i], &s1->picture[i])) < 0) - return ret; - } - -#define UPDATE_PICTURE(pic)\ -do {\ - ff_mpeg_unref_picture(s->avctx, &s->pic);\ - if (s1->pic.f && s1->pic.f->buf[0])\ - ret = ff_mpeg_ref_picture(s->avctx, &s->pic, &s1->pic);\ - else\ - ret = ff_update_picture_tables(&s->pic, &s1->pic);\ - if (ret < 0)\ - return ret;\ -} while (0) - - UPDATE_PICTURE(current_picture); - UPDATE_PICTURE(last_picture); - UPDATE_PICTURE(next_picture); - -#define REBASE_PICTURE(pic, new_ctx, old_ctx) \ - ((pic && pic >= old_ctx->picture && \ - pic < old_ctx->picture + MAX_PICTURE_COUNT) ? \ - &new_ctx->picture[pic - old_ctx->picture] : NULL) - - s->last_picture_ptr = REBASE_PICTURE(s1->last_picture_ptr, s, s1); - s->current_picture_ptr = REBASE_PICTURE(s1->current_picture_ptr, s, s1); - s->next_picture_ptr = REBASE_PICTURE(s1->next_picture_ptr, s, s1); - - // Error/bug resilience - s->next_p_frame_damaged = s1->next_p_frame_damaged; - s->workaround_bugs = s1->workaround_bugs; - s->padding_bug_score = s1->padding_bug_score; - - // MPEG-4 timing info - memcpy(&s->last_time_base, &s1->last_time_base, - (char *) &s1->pb_field_time + sizeof(s1->pb_field_time) - - (char *) &s1->last_time_base); - - // B-frame info - s->max_b_frames = s1->max_b_frames; - s->low_delay = s1->low_delay; - s->droppable = s1->droppable; - - // DivX handling (doesn't work) - s->divx_packed = s1->divx_packed; - - if (s1->bitstream_buffer) { - if (s1->bitstream_buffer_size + - AV_INPUT_BUFFER_PADDING_SIZE > s->allocated_bitstream_buffer_size) { - av_fast_malloc(&s->bitstream_buffer, - &s->allocated_bitstream_buffer_size, - s1->allocated_bitstream_buffer_size); - if (!s->bitstream_buffer) { - s->bitstream_buffer_size = 0; - return AVERROR(ENOMEM); - } - } - s->bitstream_buffer_size = s1->bitstream_buffer_size; - memcpy(s->bitstream_buffer, s1->bitstream_buffer, - s1->bitstream_buffer_size); - memset(s->bitstream_buffer + s->bitstream_buffer_size, 0, - AV_INPUT_BUFFER_PADDING_SIZE); - } - - // linesize-dependent scratch buffer allocation - if (!s->sc.edge_emu_buffer) - if (s1->linesize) { - if (ff_mpeg_framesize_alloc(s->avctx, &s->me, - &s->sc, s1->linesize) < 0) { - av_log(s->avctx, AV_LOG_ERROR, "Failed to allocate context " - "scratch buffers.\n"); - return AVERROR(ENOMEM); - } - } else { - av_log(s->avctx, AV_LOG_ERROR, "Context scratch buffers could not " - "be allocated due to unknown size.\n"); - } - - // MPEG-2/interlacing info - memcpy(&s->progressive_sequence, &s1->progressive_sequence, - (char *) &s1->rtp_mode - (char *) &s1->progressive_sequence); - - return 0; -} - /** * Set the given MpegEncContext to common defaults * (same for encoding and decoding). @@ -682,29 +527,7 @@ void ff_mpv_common_defaults(MpegEncContext *s) s->slice_context_count = 1; } -/** - * Initialize the given MpegEncContext for decoding. - * the changed fields will not depend upon - * the prior state of the MpegEncContext. - */ -void ff_mpv_decode_init(MpegEncContext *s, AVCodecContext *avctx) -{ - ff_mpv_common_defaults(s); - - s->avctx = avctx; - s->width = avctx->coded_width; - s->height = avctx->coded_height; - s->codec_id = avctx->codec->id; - s->workaround_bugs = avctx->workaround_bugs; - - /* convert fourcc to upper case */ - s->codec_tag = avpriv_toupper4(avctx->codec_tag); -} - -/** - * Initialize and allocates MpegEncContext fields dependent on the resolution. - */ -static int init_context_frame(MpegEncContext *s) +int ff_mpv_init_context_frame(MpegEncContext *s) { int y_size, c_size, yc_size, i, mb_array_size, mv_table_size, x, y; @@ -981,7 +804,7 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) !(s->new_picture.f = av_frame_alloc())) goto fail_nomem; - if ((ret = init_context_frame(s))) + if ((ret = ff_mpv_init_context_frame(s))) goto fail; #if FF_API_FLAG_TRUNCATED @@ -994,7 +817,7 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) s->slice_context_count = nb_slices; // if (s->width && s->height) { - ret = init_duplicate_contexts(s); + ret = ff_mpv_init_duplicate_contexts(s); if (ret < 0) goto fail; // } @@ -1007,13 +830,7 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) return ret; } -/** - * Frees and resets MpegEncContext fields depending on the resolution - * as well as the slice thread contexts. - * Is used during resolution changes to avoid a full reinitialization of the - * codec. - */ -static void free_context_frame(MpegEncContext *s) +void ff_mpv_free_context_frame(MpegEncContext *s) { int i, j, k; @@ -1066,61 +883,6 @@ static void free_context_frame(MpegEncContext *s) s->linesize = s->uvlinesize = 0; } -int ff_mpv_common_frame_size_change(MpegEncContext *s) -{ - int i, err = 0; - - if (!s->context_initialized) - return AVERROR(EINVAL); - - free_context_frame(s); - - if (s->picture) - for (i = 0; i < MAX_PICTURE_COUNT; i++) { - s->picture[i].needs_realloc = 1; - } - - s->last_picture_ptr = - s->next_picture_ptr = - s->current_picture_ptr = NULL; - - // init - if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO && !s->progressive_sequence) - s->mb_height = (s->height + 31) / 32 * 2; - else - s->mb_height = (s->height + 15) / 16; - - if ((s->width || s->height) && - (err = av_image_check_size(s->width, s->height, 0, s->avctx)) < 0) - goto fail; - - /* set chroma shifts */ - err = av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt, - &s->chroma_x_shift, - &s->chroma_y_shift); - if (err < 0) - goto fail; - - if ((err = init_context_frame(s))) - goto fail; - - memset(s->thread_context, 0, sizeof(s->thread_context)); - s->thread_context[0] = s; - - if (s->width && s->height) { - err = init_duplicate_contexts(s); - if (err < 0) - goto fail; - } - s->context_reinit = 0; - - return 0; - fail: - free_context_frame(s); - s->context_reinit = 1; - return err; -} - /* init common structure for both encoder and decoder */ void ff_mpv_common_end(MpegEncContext *s) { @@ -1129,7 +891,7 @@ void ff_mpv_common_end(MpegEncContext *s) if (!s) return; - free_context_frame(s); + ff_mpv_free_context_frame(s); if (s->slice_context_count > 1) s->slice_context_count = 1; @@ -1174,296 +936,6 @@ void ff_mpv_common_end(MpegEncContext *s) } -static void gray_frame(AVFrame *frame) -{ - int i, h_chroma_shift, v_chroma_shift; - - av_pix_fmt_get_chroma_sub_sample(frame->format, &h_chroma_shift, &v_chroma_shift); - - for(i=0; iheight; i++) - memset(frame->data[0] + frame->linesize[0]*i, 0x80, frame->width); - for(i=0; iheight, v_chroma_shift); i++) { - memset(frame->data[1] + frame->linesize[1]*i, - 0x80, AV_CEIL_RSHIFT(frame->width, h_chroma_shift)); - memset(frame->data[2] + frame->linesize[2]*i, - 0x80, AV_CEIL_RSHIFT(frame->width, h_chroma_shift)); - } -} - -/** - * generic function called after decoding - * the header and before a frame is decoded. - */ -int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext *avctx) -{ - int i, ret; - Picture *pic; - s->mb_skipped = 0; - - if (!ff_thread_can_start_frame(avctx)) { - av_log(avctx, AV_LOG_ERROR, "Attempt to start a frame outside SETUP state\n"); - return -1; - } - - /* mark & release old frames */ - if (s->pict_type != AV_PICTURE_TYPE_B && s->last_picture_ptr && - s->last_picture_ptr != s->next_picture_ptr && - s->last_picture_ptr->f->buf[0]) { - ff_mpeg_unref_picture(s->avctx, s->last_picture_ptr); - } - - /* release forgotten pictures */ - /* if (MPEG-124 / H.263) */ - for (i = 0; i < MAX_PICTURE_COUNT; i++) { - if (&s->picture[i] != s->last_picture_ptr && - &s->picture[i] != s->next_picture_ptr && - s->picture[i].reference && !s->picture[i].needs_realloc) { - ff_mpeg_unref_picture(s->avctx, &s->picture[i]); - } - } - - ff_mpeg_unref_picture(s->avctx, &s->current_picture); - ff_mpeg_unref_picture(s->avctx, &s->last_picture); - ff_mpeg_unref_picture(s->avctx, &s->next_picture); - - /* release non reference frames */ - for (i = 0; i < MAX_PICTURE_COUNT; i++) { - if (!s->picture[i].reference) - ff_mpeg_unref_picture(s->avctx, &s->picture[i]); - } - - if (s->current_picture_ptr && !s->current_picture_ptr->f->buf[0]) { - // we already have an unused image - // (maybe it was set before reading the header) - pic = s->current_picture_ptr; - } else { - i = ff_find_unused_picture(s->avctx, s->picture, 0); - if (i < 0) { - av_log(s->avctx, AV_LOG_ERROR, "no frame buffer available\n"); - return i; - } - pic = &s->picture[i]; - } - - pic->reference = 0; - if (!s->droppable) { - if (s->pict_type != AV_PICTURE_TYPE_B) - pic->reference = 3; - } - - pic->f->coded_picture_number = s->coded_picture_number++; - - if (alloc_picture(s, pic) < 0) - return -1; - - s->current_picture_ptr = pic; - // FIXME use only the vars from current_pic - s->current_picture_ptr->f->top_field_first = s->top_field_first; - if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO || - s->codec_id == AV_CODEC_ID_MPEG2VIDEO) { - if (s->picture_structure != PICT_FRAME) - s->current_picture_ptr->f->top_field_first = - (s->picture_structure == PICT_TOP_FIELD) == s->first_field; - } - s->current_picture_ptr->f->interlaced_frame = !s->progressive_frame && - !s->progressive_sequence; - s->current_picture_ptr->field_picture = s->picture_structure != PICT_FRAME; - - s->current_picture_ptr->f->pict_type = s->pict_type; - // if (s->avctx->flags && AV_CODEC_FLAG_QSCALE) - // s->current_picture_ptr->quality = s->new_picture_ptr->quality; - s->current_picture_ptr->f->key_frame = s->pict_type == AV_PICTURE_TYPE_I; - - if ((ret = ff_mpeg_ref_picture(s->avctx, &s->current_picture, - s->current_picture_ptr)) < 0) - return ret; - - if (s->pict_type != AV_PICTURE_TYPE_B) { - s->last_picture_ptr = s->next_picture_ptr; - if (!s->droppable) - s->next_picture_ptr = s->current_picture_ptr; - } - ff_dlog(s->avctx, "L%p N%p C%p L%p N%p C%p type:%d drop:%d\n", - s->last_picture_ptr, s->next_picture_ptr,s->current_picture_ptr, - s->last_picture_ptr ? s->last_picture_ptr->f->data[0] : NULL, - s->next_picture_ptr ? s->next_picture_ptr->f->data[0] : NULL, - s->current_picture_ptr ? s->current_picture_ptr->f->data[0] : NULL, - s->pict_type, s->droppable); - - if ((!s->last_picture_ptr || !s->last_picture_ptr->f->buf[0]) && - (s->pict_type != AV_PICTURE_TYPE_I)) { - int h_chroma_shift, v_chroma_shift; - av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt, - &h_chroma_shift, &v_chroma_shift); - if (s->pict_type == AV_PICTURE_TYPE_B && s->next_picture_ptr && s->next_picture_ptr->f->buf[0]) - av_log(avctx, AV_LOG_DEBUG, - "allocating dummy last picture for B frame\n"); - else if (s->pict_type != AV_PICTURE_TYPE_I) - av_log(avctx, AV_LOG_ERROR, - "warning: first frame is no keyframe\n"); - - /* Allocate a dummy frame */ - i = ff_find_unused_picture(s->avctx, s->picture, 0); - if (i < 0) { - av_log(s->avctx, AV_LOG_ERROR, "no frame buffer available\n"); - return i; - } - s->last_picture_ptr = &s->picture[i]; - - s->last_picture_ptr->reference = 3; - s->last_picture_ptr->f->key_frame = 0; - s->last_picture_ptr->f->pict_type = AV_PICTURE_TYPE_P; - - if (alloc_picture(s, s->last_picture_ptr) < 0) { - s->last_picture_ptr = NULL; - return -1; - } - - if (!avctx->hwaccel) { - for(i=0; iheight; i++) - memset(s->last_picture_ptr->f->data[0] + s->last_picture_ptr->f->linesize[0]*i, - 0x80, avctx->width); - if (s->last_picture_ptr->f->data[2]) { - for(i=0; iheight, v_chroma_shift); i++) { - memset(s->last_picture_ptr->f->data[1] + s->last_picture_ptr->f->linesize[1]*i, - 0x80, AV_CEIL_RSHIFT(avctx->width, h_chroma_shift)); - memset(s->last_picture_ptr->f->data[2] + s->last_picture_ptr->f->linesize[2]*i, - 0x80, AV_CEIL_RSHIFT(avctx->width, h_chroma_shift)); - } - } - - if(s->codec_id == AV_CODEC_ID_FLV1 || s->codec_id == AV_CODEC_ID_H263){ - for(i=0; iheight; i++) - memset(s->last_picture_ptr->f->data[0] + s->last_picture_ptr->f->linesize[0]*i, 16, avctx->width); - } - } - - ff_thread_report_progress(&s->last_picture_ptr->tf, INT_MAX, 0); - ff_thread_report_progress(&s->last_picture_ptr->tf, INT_MAX, 1); - } - if ((!s->next_picture_ptr || !s->next_picture_ptr->f->buf[0]) && - s->pict_type == AV_PICTURE_TYPE_B) { - /* Allocate a dummy frame */ - i = ff_find_unused_picture(s->avctx, s->picture, 0); - if (i < 0) { - av_log(s->avctx, AV_LOG_ERROR, "no frame buffer available\n"); - return i; - } - s->next_picture_ptr = &s->picture[i]; - - s->next_picture_ptr->reference = 3; - s->next_picture_ptr->f->key_frame = 0; - s->next_picture_ptr->f->pict_type = AV_PICTURE_TYPE_P; - - if (alloc_picture(s, s->next_picture_ptr) < 0) { - s->next_picture_ptr = NULL; - return -1; - } - ff_thread_report_progress(&s->next_picture_ptr->tf, INT_MAX, 0); - ff_thread_report_progress(&s->next_picture_ptr->tf, INT_MAX, 1); - } - -#if 0 // BUFREF-FIXME - memset(s->last_picture.f->data, 0, sizeof(s->last_picture.f->data)); - memset(s->next_picture.f->data, 0, sizeof(s->next_picture.f->data)); -#endif - if (s->last_picture_ptr) { - if (s->last_picture_ptr->f->buf[0] && - (ret = ff_mpeg_ref_picture(s->avctx, &s->last_picture, - s->last_picture_ptr)) < 0) - return ret; - } - if (s->next_picture_ptr) { - if (s->next_picture_ptr->f->buf[0] && - (ret = ff_mpeg_ref_picture(s->avctx, &s->next_picture, - s->next_picture_ptr)) < 0) - return ret; - } - - av_assert0(s->pict_type == AV_PICTURE_TYPE_I || (s->last_picture_ptr && - s->last_picture_ptr->f->buf[0])); - - if (s->picture_structure!= PICT_FRAME) { - int i; - for (i = 0; i < 4; i++) { - if (s->picture_structure == PICT_BOTTOM_FIELD) { - s->current_picture.f->data[i] += - s->current_picture.f->linesize[i]; - } - s->current_picture.f->linesize[i] *= 2; - s->last_picture.f->linesize[i] *= 2; - s->next_picture.f->linesize[i] *= 2; - } - } - - /* set dequantizer, we can't do it during init as - * it might change for MPEG-4 and we can't do it in the header - * decode as init is not called for MPEG-4 there yet */ - if (s->mpeg_quant || s->codec_id == AV_CODEC_ID_MPEG2VIDEO) { - s->dct_unquantize_intra = s->dct_unquantize_mpeg2_intra; - s->dct_unquantize_inter = s->dct_unquantize_mpeg2_inter; - } else if (s->out_format == FMT_H263 || s->out_format == FMT_H261) { - s->dct_unquantize_intra = s->dct_unquantize_h263_intra; - s->dct_unquantize_inter = s->dct_unquantize_h263_inter; - } else { - s->dct_unquantize_intra = s->dct_unquantize_mpeg1_intra; - s->dct_unquantize_inter = s->dct_unquantize_mpeg1_inter; - } - - if (s->avctx->debug & FF_DEBUG_NOMC) { - gray_frame(s->current_picture_ptr->f); - } - - return 0; -} - -/* called after a frame has been decoded. */ -void ff_mpv_frame_end(MpegEncContext *s) -{ - emms_c(); - - if (s->current_picture.reference) - ff_thread_report_progress(&s->current_picture_ptr->tf, INT_MAX, 0); -} - -void ff_print_debug_info(MpegEncContext *s, Picture *p, AVFrame *pict) -{ - ff_print_debug_info2(s->avctx, pict, s->mbskip_table, p->mb_type, - p->qscale_table, p->motion_val, - s->mb_width, s->mb_height, s->mb_stride, s->quarter_sample); -} - -int ff_mpv_export_qp_table(MpegEncContext *s, AVFrame *f, Picture *p, int qp_type) -{ - AVVideoEncParams *par; - int mult = (qp_type == FF_QSCALE_TYPE_MPEG1) ? 2 : 1; - unsigned int nb_mb = p->alloc_mb_height * p->alloc_mb_width; - unsigned int x, y; - - if (!(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS)) - return 0; - - par = av_video_enc_params_create_side_data(f, AV_VIDEO_ENC_PARAMS_MPEG2, nb_mb); - if (!par) - return AVERROR(ENOMEM); - - for (y = 0; y < p->alloc_mb_height; y++) - for (x = 0; x < p->alloc_mb_width; x++) { - const unsigned int block_idx = y * p->alloc_mb_width + x; - const unsigned int mb_xy = y * p->alloc_mb_stride + x; - AVVideoBlockParams *b = av_video_enc_params_block(par, block_idx); - - b->src_x = x * 16; - b->src_y = y * 16; - b->w = 16; - b->h = 16; - - b->delta_qp = p->qscale_table[mb_xy] * mult; - } - - return 0; -} - static inline int hpel_motion_lowres(MpegEncContext *s, uint8_t *dest, uint8_t *src, int field_based, int field_select, @@ -2274,13 +1746,6 @@ void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64]) else mpv_reconstruct_mb_internal(s, block, 0, 0); } -void ff_mpeg_draw_horiz_band(MpegEncContext *s, int y, int h) -{ - ff_draw_horiz_band(s->avctx, s->current_picture_ptr->f, - s->last_picture_ptr ? s->last_picture_ptr->f : NULL, y, h, s->picture_structure, - s->first_field, s->low_delay); -} - void ff_init_block_index(MpegEncContext *s){ //FIXME maybe rename const int linesize = s->current_picture.f->linesize[0]; //not s->linesize as this would be wrong for field pics const int uvlinesize = s->current_picture.f->linesize[1]; @@ -2314,35 +1779,6 @@ void ff_init_block_index(MpegEncContext *s){ //FIXME maybe rename } } -void ff_mpeg_flush(AVCodecContext *avctx){ - int i; - MpegEncContext *s = avctx->priv_data; - - if (!s->picture) - return; - - for (i = 0; i < MAX_PICTURE_COUNT; i++) - ff_mpeg_unref_picture(s->avctx, &s->picture[i]); - s->current_picture_ptr = s->last_picture_ptr = s->next_picture_ptr = NULL; - - ff_mpeg_unref_picture(s->avctx, &s->current_picture); - ff_mpeg_unref_picture(s->avctx, &s->last_picture); - ff_mpeg_unref_picture(s->avctx, &s->next_picture); - - s->mb_x= s->mb_y= 0; - -#if FF_API_FLAG_TRUNCATED - s->parse_context.state= -1; - s->parse_context.frame_start_found= 0; - s->parse_context.overread= 0; - s->parse_context.overread_index= 0; - s->parse_context.index= 0; - s->parse_context.last_index= 0; -#endif - s->bitstream_buffer_size=0; - s->pp_time=0; -} - /** * set qscale and update qscale dependent variables. */ @@ -2359,9 +1795,3 @@ void ff_set_qscale(MpegEncContext * s, int qscale) s->y_dc_scale= s->y_dc_scale_table[ qscale ]; s->c_dc_scale= s->c_dc_scale_table[ s->chroma_qscale ]; } - -void ff_mpv_report_decode_progress(MpegEncContext *s) -{ - if (s->pict_type != AV_PICTURE_TYPE_B && !s->partitioned_frame && !s->er.error_occurred) - ff_thread_report_progress(&s->current_picture_ptr->tf, s->mb_y, 0); -} diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index fabcce2436..1c14f5b0f0 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -679,10 +679,32 @@ void ff_mpv_common_init_neon(MpegEncContext *s); void ff_mpv_common_init_ppc(MpegEncContext *s); void ff_mpv_common_init_x86(MpegEncContext *s); void ff_mpv_common_init_mips(MpegEncContext *s); +/** + * Initialize an MpegEncContext's thread contexts. Presumes that + * slice_context_count is already set and that all the fields + * that are freed/reset in free_duplicate_context() are NULL. + */ +int ff_mpv_init_duplicate_contexts(MpegEncContext *s); +/** + * Initialize and allocates MpegEncContext fields dependent on the resolution. + */ +int ff_mpv_init_context_frame(MpegEncContext *s); +/** + * Frees and resets MpegEncContext fields depending on the resolution + * as well as the slice thread contexts. + * Is used during resolution changes to avoid a full reinitialization of the + * codec. + */ +void ff_mpv_free_context_frame(MpegEncContext *s); int ff_mpv_common_frame_size_change(MpegEncContext *s); void ff_mpv_common_end(MpegEncContext *s); +/** + * Initialize the given MpegEncContext for decoding. + * the changed fields will not depend upon + * the prior state of the MpegEncContext. + */ void ff_mpv_decode_init(MpegEncContext *s, AVCodecContext *avctx); void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64]); void ff_mpv_report_decode_progress(MpegEncContext *s); diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c new file mode 100644 index 0000000000..56bd6b0570 --- /dev/null +++ b/libavcodec/mpegvideo_dec.c @@ -0,0 +1,583 @@ +/* + * Common mpeg video decoding code + * Copyright (c) 2000,2001 Fabrice Bellard + * Copyright (c) 2002-2004 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +#include "libavutil/avassert.h" +#include "libavutil/imgutils.h" +#include "libavutil/internal.h" +#include "libavutil/video_enc_params.h" + +#include "avcodec.h" +#include "internal.h" +#include "mpegutils.h" +#include "mpegvideo.h" +#include "thread.h" + +void ff_mpv_decode_init(MpegEncContext *s, AVCodecContext *avctx) +{ + ff_mpv_common_defaults(s); + + s->avctx = avctx; + s->width = avctx->coded_width; + s->height = avctx->coded_height; + s->codec_id = avctx->codec->id; + s->workaround_bugs = avctx->workaround_bugs; + + /* convert fourcc to upper case */ + s->codec_tag = avpriv_toupper4(avctx->codec_tag); +} + +int ff_mpeg_update_thread_context(AVCodecContext *dst, + const AVCodecContext *src) +{ + MpegEncContext *const s1 = src->priv_data; + MpegEncContext *const s = dst->priv_data; + int ret; + + if (dst == src) + return 0; + + av_assert0(s != s1); + + // FIXME can parameters change on I-frames? + // in that case dst may need a reinit + if (!s->context_initialized) { + int err; + memcpy(s, s1, sizeof(*s)); + + s->avctx = dst; + s->bitstream_buffer = NULL; + s->bitstream_buffer_size = s->allocated_bitstream_buffer_size = 0; + + if (s1->context_initialized) { +// s->picture_range_start += MAX_PICTURE_COUNT; +// s->picture_range_end += MAX_PICTURE_COUNT; + ff_mpv_idct_init(s); + if ((err = ff_mpv_common_init(s)) < 0) { + memset(s, 0, sizeof(*s)); + s->avctx = dst; + return err; + } + } + } + + if (s->height != s1->height || s->width != s1->width || s->context_reinit) { + s->height = s1->height; + s->width = s1->width; + if ((ret = ff_mpv_common_frame_size_change(s)) < 0) + return ret; + } + + s->avctx->coded_height = s1->avctx->coded_height; + s->avctx->coded_width = s1->avctx->coded_width; + s->avctx->width = s1->avctx->width; + s->avctx->height = s1->avctx->height; + + s->quarter_sample = s1->quarter_sample; + + s->coded_picture_number = s1->coded_picture_number; + s->picture_number = s1->picture_number; + + av_assert0(!s->picture || s->picture != s1->picture); + if (s->picture) + for (int i = 0; i < MAX_PICTURE_COUNT; i++) { + ff_mpeg_unref_picture(s->avctx, &s->picture[i]); + if (s1->picture && s1->picture[i].f->buf[0] && + (ret = ff_mpeg_ref_picture(s->avctx, &s->picture[i], &s1->picture[i])) < 0) + return ret; + } + +#define UPDATE_PICTURE(pic)\ +do {\ + ff_mpeg_unref_picture(s->avctx, &s->pic);\ + if (s1->pic.f && s1->pic.f->buf[0])\ + ret = ff_mpeg_ref_picture(s->avctx, &s->pic, &s1->pic);\ + else\ + ret = ff_update_picture_tables(&s->pic, &s1->pic);\ + if (ret < 0)\ + return ret;\ +} while (0) + + UPDATE_PICTURE(current_picture); + UPDATE_PICTURE(last_picture); + UPDATE_PICTURE(next_picture); + +#define REBASE_PICTURE(pic, new_ctx, old_ctx) \ + ((pic && pic >= old_ctx->picture && \ + pic < old_ctx->picture + MAX_PICTURE_COUNT) ? \ + &new_ctx->picture[pic - old_ctx->picture] : NULL) + + s->last_picture_ptr = REBASE_PICTURE(s1->last_picture_ptr, s, s1); + s->current_picture_ptr = REBASE_PICTURE(s1->current_picture_ptr, s, s1); + s->next_picture_ptr = REBASE_PICTURE(s1->next_picture_ptr, s, s1); + + // Error/bug resilience + s->next_p_frame_damaged = s1->next_p_frame_damaged; + s->workaround_bugs = s1->workaround_bugs; + s->padding_bug_score = s1->padding_bug_score; + + // MPEG-4 timing info + memcpy(&s->last_time_base, &s1->last_time_base, + (char *) &s1->pb_field_time + sizeof(s1->pb_field_time) - + (char *) &s1->last_time_base); + + // B-frame info + s->max_b_frames = s1->max_b_frames; + s->low_delay = s1->low_delay; + s->droppable = s1->droppable; + + // DivX handling (doesn't work) + s->divx_packed = s1->divx_packed; + + if (s1->bitstream_buffer) { + if (s1->bitstream_buffer_size + + AV_INPUT_BUFFER_PADDING_SIZE > s->allocated_bitstream_buffer_size) { + av_fast_malloc(&s->bitstream_buffer, + &s->allocated_bitstream_buffer_size, + s1->allocated_bitstream_buffer_size); + if (!s->bitstream_buffer) { + s->bitstream_buffer_size = 0; + return AVERROR(ENOMEM); + } + } + s->bitstream_buffer_size = s1->bitstream_buffer_size; + memcpy(s->bitstream_buffer, s1->bitstream_buffer, + s1->bitstream_buffer_size); + memset(s->bitstream_buffer + s->bitstream_buffer_size, 0, + AV_INPUT_BUFFER_PADDING_SIZE); + } + + // linesize-dependent scratch buffer allocation + if (!s->sc.edge_emu_buffer) + if (s1->linesize) { + if (ff_mpeg_framesize_alloc(s->avctx, &s->me, + &s->sc, s1->linesize) < 0) { + av_log(s->avctx, AV_LOG_ERROR, "Failed to allocate context " + "scratch buffers.\n"); + return AVERROR(ENOMEM); + } + } else { + av_log(s->avctx, AV_LOG_ERROR, "Context scratch buffers could not " + "be allocated due to unknown size.\n"); + } + + // MPEG-2/interlacing info + memcpy(&s->progressive_sequence, &s1->progressive_sequence, + (char *) &s1->rtp_mode - (char *) &s1->progressive_sequence); + + return 0; +} + +int ff_mpv_common_frame_size_change(MpegEncContext *s) +{ + int err = 0; + + if (!s->context_initialized) + return AVERROR(EINVAL); + + ff_mpv_free_context_frame(s); + + if (s->picture) + for (int i = 0; i < MAX_PICTURE_COUNT; i++) + s->picture[i].needs_realloc = 1; + + s->last_picture_ptr = + s->next_picture_ptr = + s->current_picture_ptr = NULL; + + // init + if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO && !s->progressive_sequence) + s->mb_height = (s->height + 31) / 32 * 2; + else + s->mb_height = (s->height + 15) / 16; + + if ((s->width || s->height) && + (err = av_image_check_size(s->width, s->height, 0, s->avctx)) < 0) + goto fail; + + /* set chroma shifts */ + err = av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt, + &s->chroma_x_shift, + &s->chroma_y_shift); + if (err < 0) + goto fail; + + if ((err = ff_mpv_init_context_frame(s))) + goto fail; + + memset(s->thread_context, 0, sizeof(s->thread_context)); + s->thread_context[0] = s; + + if (s->width && s->height) { + err = ff_mpv_init_duplicate_contexts(s); + if (err < 0) + goto fail; + } + s->context_reinit = 0; + + return 0; + fail: + ff_mpv_free_context_frame(s); + s->context_reinit = 1; + return err; +} + +static int alloc_picture(MpegEncContext *s, Picture *pic) +{ + return ff_alloc_picture(s->avctx, pic, &s->me, &s->sc, 0, 0, + s->chroma_x_shift, s->chroma_y_shift, s->out_format, + s->mb_stride, s->mb_width, s->mb_height, s->b8_stride, + &s->linesize, &s->uvlinesize); +} + +static void gray_frame(AVFrame *frame) +{ + int h_chroma_shift, v_chroma_shift; + + av_pix_fmt_get_chroma_sub_sample(frame->format, &h_chroma_shift, &v_chroma_shift); + + for (int i = 0; i < frame->height; i++) + memset(frame->data[0] + frame->linesize[0] * i, 0x80, frame->width); + for (int i = 0; i < AV_CEIL_RSHIFT(frame->height, v_chroma_shift); i++) { + memset(frame->data[1] + frame->linesize[1] * i, + 0x80, AV_CEIL_RSHIFT(frame->width, h_chroma_shift)); + memset(frame->data[2] + frame->linesize[2] * i, + 0x80, AV_CEIL_RSHIFT(frame->width, h_chroma_shift)); + } +} + +/** + * generic function called after decoding + * the header and before a frame is decoded. + */ +int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext *avctx) +{ + Picture *pic; + int idx, ret; + + s->mb_skipped = 0; + + if (!ff_thread_can_start_frame(avctx)) { + av_log(avctx, AV_LOG_ERROR, "Attempt to start a frame outside SETUP state\n"); + return -1; + } + + /* mark & release old frames */ + if (s->pict_type != AV_PICTURE_TYPE_B && s->last_picture_ptr && + s->last_picture_ptr != s->next_picture_ptr && + s->last_picture_ptr->f->buf[0]) { + ff_mpeg_unref_picture(s->avctx, s->last_picture_ptr); + } + + /* release forgotten pictures */ + /* if (MPEG-124 / H.263) */ + for (int i = 0; i < MAX_PICTURE_COUNT; i++) { + if (&s->picture[i] != s->last_picture_ptr && + &s->picture[i] != s->next_picture_ptr && + s->picture[i].reference && !s->picture[i].needs_realloc) { + ff_mpeg_unref_picture(s->avctx, &s->picture[i]); + } + } + + ff_mpeg_unref_picture(s->avctx, &s->current_picture); + ff_mpeg_unref_picture(s->avctx, &s->last_picture); + ff_mpeg_unref_picture(s->avctx, &s->next_picture); + + /* release non reference frames */ + for (int i = 0; i < MAX_PICTURE_COUNT; i++) { + if (!s->picture[i].reference) + ff_mpeg_unref_picture(s->avctx, &s->picture[i]); + } + + if (s->current_picture_ptr && !s->current_picture_ptr->f->buf[0]) { + // we already have an unused image + // (maybe it was set before reading the header) + pic = s->current_picture_ptr; + } else { + idx = ff_find_unused_picture(s->avctx, s->picture, 0); + if (idx < 0) { + av_log(s->avctx, AV_LOG_ERROR, "no frame buffer available\n"); + return idx; + } + pic = &s->picture[idx]; + } + + pic->reference = 0; + if (!s->droppable) { + if (s->pict_type != AV_PICTURE_TYPE_B) + pic->reference = 3; + } + + pic->f->coded_picture_number = s->coded_picture_number++; + + if (alloc_picture(s, pic) < 0) + return -1; + + s->current_picture_ptr = pic; + // FIXME use only the vars from current_pic + s->current_picture_ptr->f->top_field_first = s->top_field_first; + if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO || + s->codec_id == AV_CODEC_ID_MPEG2VIDEO) { + if (s->picture_structure != PICT_FRAME) + s->current_picture_ptr->f->top_field_first = + (s->picture_structure == PICT_TOP_FIELD) == s->first_field; + } + s->current_picture_ptr->f->interlaced_frame = !s->progressive_frame && + !s->progressive_sequence; + s->current_picture_ptr->field_picture = s->picture_structure != PICT_FRAME; + + s->current_picture_ptr->f->pict_type = s->pict_type; + // if (s->avctx->flags && AV_CODEC_FLAG_QSCALE) + // s->current_picture_ptr->quality = s->new_picture_ptr->quality; + s->current_picture_ptr->f->key_frame = s->pict_type == AV_PICTURE_TYPE_I; + + if ((ret = ff_mpeg_ref_picture(s->avctx, &s->current_picture, + s->current_picture_ptr)) < 0) + return ret; + + if (s->pict_type != AV_PICTURE_TYPE_B) { + s->last_picture_ptr = s->next_picture_ptr; + if (!s->droppable) + s->next_picture_ptr = s->current_picture_ptr; + } + ff_dlog(s->avctx, "L%p N%p C%p L%p N%p C%p type:%d drop:%d\n", + s->last_picture_ptr, s->next_picture_ptr,s->current_picture_ptr, + s->last_picture_ptr ? s->last_picture_ptr->f->data[0] : NULL, + s->next_picture_ptr ? s->next_picture_ptr->f->data[0] : NULL, + s->current_picture_ptr ? s->current_picture_ptr->f->data[0] : NULL, + s->pict_type, s->droppable); + + if ((!s->last_picture_ptr || !s->last_picture_ptr->f->buf[0]) && + (s->pict_type != AV_PICTURE_TYPE_I)) { + int h_chroma_shift, v_chroma_shift; + av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt, + &h_chroma_shift, &v_chroma_shift); + if (s->pict_type == AV_PICTURE_TYPE_B && s->next_picture_ptr && s->next_picture_ptr->f->buf[0]) + av_log(avctx, AV_LOG_DEBUG, + "allocating dummy last picture for B frame\n"); + else if (s->pict_type != AV_PICTURE_TYPE_I) + av_log(avctx, AV_LOG_ERROR, + "warning: first frame is no keyframe\n"); + + /* Allocate a dummy frame */ + idx = ff_find_unused_picture(s->avctx, s->picture, 0); + if (idx < 0) { + av_log(s->avctx, AV_LOG_ERROR, "no frame buffer available\n"); + return idx; + } + s->last_picture_ptr = &s->picture[idx]; + + s->last_picture_ptr->reference = 3; + s->last_picture_ptr->f->key_frame = 0; + s->last_picture_ptr->f->pict_type = AV_PICTURE_TYPE_P; + + if (alloc_picture(s, s->last_picture_ptr) < 0) { + s->last_picture_ptr = NULL; + return -1; + } + + if (!avctx->hwaccel) { + for (int i = 0; i < avctx->height; i++) + memset(s->last_picture_ptr->f->data[0] + s->last_picture_ptr->f->linesize[0]*i, + 0x80, avctx->width); + if (s->last_picture_ptr->f->data[2]) { + for (int i = 0; i < AV_CEIL_RSHIFT(avctx->height, v_chroma_shift); i++) { + memset(s->last_picture_ptr->f->data[1] + s->last_picture_ptr->f->linesize[1]*i, + 0x80, AV_CEIL_RSHIFT(avctx->width, h_chroma_shift)); + memset(s->last_picture_ptr->f->data[2] + s->last_picture_ptr->f->linesize[2]*i, + 0x80, AV_CEIL_RSHIFT(avctx->width, h_chroma_shift)); + } + } + + if (s->codec_id == AV_CODEC_ID_FLV1 || s->codec_id == AV_CODEC_ID_H263) { + for (int i = 0; i < avctx->height; i++) + memset(s->last_picture_ptr->f->data[0] + s->last_picture_ptr->f->linesize[0] * i, + 16, avctx->width); + } + } + + ff_thread_report_progress(&s->last_picture_ptr->tf, INT_MAX, 0); + ff_thread_report_progress(&s->last_picture_ptr->tf, INT_MAX, 1); + } + if ((!s->next_picture_ptr || !s->next_picture_ptr->f->buf[0]) && + s->pict_type == AV_PICTURE_TYPE_B) { + /* Allocate a dummy frame */ + idx = ff_find_unused_picture(s->avctx, s->picture, 0); + if (idx < 0) { + av_log(s->avctx, AV_LOG_ERROR, "no frame buffer available\n"); + return idx; + } + s->next_picture_ptr = &s->picture[idx]; + + s->next_picture_ptr->reference = 3; + s->next_picture_ptr->f->key_frame = 0; + s->next_picture_ptr->f->pict_type = AV_PICTURE_TYPE_P; + + if (alloc_picture(s, s->next_picture_ptr) < 0) { + s->next_picture_ptr = NULL; + return -1; + } + ff_thread_report_progress(&s->next_picture_ptr->tf, INT_MAX, 0); + ff_thread_report_progress(&s->next_picture_ptr->tf, INT_MAX, 1); + } + +#if 0 // BUFREF-FIXME + memset(s->last_picture.f->data, 0, sizeof(s->last_picture.f->data)); + memset(s->next_picture.f->data, 0, sizeof(s->next_picture.f->data)); +#endif + if (s->last_picture_ptr) { + if (s->last_picture_ptr->f->buf[0] && + (ret = ff_mpeg_ref_picture(s->avctx, &s->last_picture, + s->last_picture_ptr)) < 0) + return ret; + } + if (s->next_picture_ptr) { + if (s->next_picture_ptr->f->buf[0] && + (ret = ff_mpeg_ref_picture(s->avctx, &s->next_picture, + s->next_picture_ptr)) < 0) + return ret; + } + + av_assert0(s->pict_type == AV_PICTURE_TYPE_I || (s->last_picture_ptr && + s->last_picture_ptr->f->buf[0])); + + if (s->picture_structure != PICT_FRAME) { + for (int i = 0; i < 4; i++) { + if (s->picture_structure == PICT_BOTTOM_FIELD) { + s->current_picture.f->data[i] += + s->current_picture.f->linesize[i]; + } + s->current_picture.f->linesize[i] *= 2; + s->last_picture.f->linesize[i] *= 2; + s->next_picture.f->linesize[i] *= 2; + } + } + + /* set dequantizer, we can't do it during init as + * it might change for MPEG-4 and we can't do it in the header + * decode as init is not called for MPEG-4 there yet */ + if (s->mpeg_quant || s->codec_id == AV_CODEC_ID_MPEG2VIDEO) { + s->dct_unquantize_intra = s->dct_unquantize_mpeg2_intra; + s->dct_unquantize_inter = s->dct_unquantize_mpeg2_inter; + } else if (s->out_format == FMT_H263 || s->out_format == FMT_H261) { + s->dct_unquantize_intra = s->dct_unquantize_h263_intra; + s->dct_unquantize_inter = s->dct_unquantize_h263_inter; + } else { + s->dct_unquantize_intra = s->dct_unquantize_mpeg1_intra; + s->dct_unquantize_inter = s->dct_unquantize_mpeg1_inter; + } + + if (s->avctx->debug & FF_DEBUG_NOMC) + gray_frame(s->current_picture_ptr->f); + + return 0; +} + +/* called after a frame has been decoded. */ +void ff_mpv_frame_end(MpegEncContext *s) +{ + emms_c(); + + if (s->current_picture.reference) + ff_thread_report_progress(&s->current_picture_ptr->tf, INT_MAX, 0); +} + +void ff_print_debug_info(MpegEncContext *s, Picture *p, AVFrame *pict) +{ + ff_print_debug_info2(s->avctx, pict, s->mbskip_table, p->mb_type, + p->qscale_table, p->motion_val, + s->mb_width, s->mb_height, s->mb_stride, s->quarter_sample); +} + +int ff_mpv_export_qp_table(MpegEncContext *s, AVFrame *f, Picture *p, int qp_type) +{ + AVVideoEncParams *par; + int mult = (qp_type == FF_QSCALE_TYPE_MPEG1) ? 2 : 1; + unsigned int nb_mb = p->alloc_mb_height * p->alloc_mb_width; + + if (!(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS)) + return 0; + + par = av_video_enc_params_create_side_data(f, AV_VIDEO_ENC_PARAMS_MPEG2, nb_mb); + if (!par) + return AVERROR(ENOMEM); + + for (unsigned y = 0; y < p->alloc_mb_height; y++) + for (unsigned x = 0; x < p->alloc_mb_width; x++) { + const unsigned int block_idx = y * p->alloc_mb_width + x; + const unsigned int mb_xy = y * p->alloc_mb_stride + x; + AVVideoBlockParams *const b = av_video_enc_params_block(par, block_idx); + + b->src_x = x * 16; + b->src_y = y * 16; + b->w = 16; + b->h = 16; + + b->delta_qp = p->qscale_table[mb_xy] * mult; + } + + return 0; +} + +void ff_mpeg_draw_horiz_band(MpegEncContext *s, int y, int h) +{ + ff_draw_horiz_band(s->avctx, s->current_picture_ptr->f, + s->last_picture_ptr ? s->last_picture_ptr->f : NULL, + y, h, s->picture_structure, + s->first_field, s->low_delay); +} + +void ff_mpeg_flush(AVCodecContext *avctx) +{ + MpegEncContext *const s = avctx->priv_data; + + if (!s->picture) + return; + + for (int i = 0; i < MAX_PICTURE_COUNT; i++) + ff_mpeg_unref_picture(s->avctx, &s->picture[i]); + s->current_picture_ptr = s->last_picture_ptr = s->next_picture_ptr = NULL; + + ff_mpeg_unref_picture(s->avctx, &s->current_picture); + ff_mpeg_unref_picture(s->avctx, &s->last_picture); + ff_mpeg_unref_picture(s->avctx, &s->next_picture); + + s->mb_x = s->mb_y = 0; + +#if FF_API_FLAG_TRUNCATED + s->parse_context.state = -1; + s->parse_context.frame_start_found = 0; + s->parse_context.overread = 0; + s->parse_context.overread_index = 0; + s->parse_context.index = 0; + s->parse_context.last_index = 0; +#endif + s->bitstream_buffer_size = 0; + s->pp_time = 0; +} + +void ff_mpv_report_decode_progress(MpegEncContext *s) +{ + if (s->pict_type != AV_PICTURE_TYPE_B && !s->partitioned_frame && !s->er.error_occurred) + ff_thread_report_progress(&s->current_picture_ptr->tf, s->mb_y, 0); +} From patchwork Fri Dec 24 03:23:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32894 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7811835iog; Thu, 23 Dec 2021 19:24:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJwQzvSMN+XDuMgUEhUj0fg4MbL2ogg1KHOVfcWeSocQwCMYqpHqGR937S91Eds3TrD9o6rB X-Received: by 2002:a17:907:94ce:: with SMTP id dn14mr3872493ejc.85.1640316272495; Thu, 23 Dec 2021 19:24:32 -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 i20si2671864ejj.658.2021.12.23.19.24.32; Thu, 23 Dec 2021 19:24:32 -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=dsp1RhqQ; 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 4E6C168B264; Fri, 24 Dec 2021 05:24:19 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064061.outbound.protection.outlook.com [40.92.64.61]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2900868B22C for ; Fri, 24 Dec 2021 05:24:13 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aSODlWAuCT4qPuTyxiQWN/VOfvNKbI13QFt0OhiuNyyq1SyIVonxpwFXmUJCerhj2uIgUoar4TYkNS21KhrkRHXYVYEEM05hWW+xV2bELjQhdQ+g1ePpM+wl+CdtDcgi201H6TT2OOuaJFYaX+xZYiGljvWKixripjd61XRJIlht+FlGBNcGyth5w14XyAsf0rH0rDHKPLmdcL8TtNJ0j6gV1XvfEWNU7ix7HyikoEUHgBtw9UUxAAC7GTCrbgkSLS0Q12x/MIP2+NG32yYOrAQWbzNgKvipb/jrLck3O85p95U1AT0xnUGM7WJNi9crFsZDLuU0VIW6S9tScqH64g== 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=8SAS6pE/4C07YVntmjxR8YFTIIY9JV31H3nFS8TMLAg=; b=IT+7t6OJ7xAPgTWiKV9Ez266vbQTR66WeLv2YnmpQ8PuLQ34gDvkAZwUSlXuBt+/9hwahwd6a1dt5zRSPTAmJdXSW8rvZ319ycqXEkxJF0tu25kQwJDnHKuxR+vhNk1qGBoTwYOXL+ioNAq9IfWqhF2xIrfhwQf15rMRWV1IVPR1QXkRALvjd9l5W1ZZBb5WO5e+3HJ+Vvdu6j6dyC5SFye0tmRbct+j894q/QsxlkJjTuvVktP98CVbGjvxI+FHLrQooCfhjd5+nU9nnEXs0xgGNULkZ0Ipc+lrwB1GmFIsFlh3HB1A5ZRcDH7Ys/EKAb+qOKHMVKRTS1Y+SKJWEQ== 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=8SAS6pE/4C07YVntmjxR8YFTIIY9JV31H3nFS8TMLAg=; b=dsp1RhqQ6DkmcedtrDG+X3LvTzT+8R9y9J7iRoY96+mhMQJKEhYWhF8fI4gjc2m0ZEHxecaA4KCNySX94mISn1uohQsGtZJ5s85KQd9Tu/XccasmOS6UdpOcaKwtflrAda4BTbDwBoM3AremM982HNhSC8t71vRGAncb89Gx4ZBWMsHGfjNwZIhKbxJaUYqGYa20HUNsOXCL2Wi+QBNfvuTs48hxjD5CvW/ezk7U2hEg6pXZ51N6QHr5uU5aIlpYOgk5dybyGKR/fzyaBRIoqBvNyKOCX1wlw1qUOL72KJsjkG8HTB+0CBdRBFxNwyXu0cYPpbPzNjghWQDUWAlYag== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5249.eurprd03.prod.outlook.com (2603:10a6:20b:c9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Fri, 24 Dec 2021 03:24:08 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Fri, 24 Dec 2021 03:24:08 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Dec 2021 04:23:30 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [FW8itKCvg1wwC90+5cCOuZeR7R6xJS4E] X-ClientProxiedBy: AS9PR0301CA0032.eurprd03.prod.outlook.com (2603:10a6:20b:469::30) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211224032332.2104747-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0af7523a-c329-4810-0ec8-08d9c68cd8ab X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuBoyQUf2rHPVuupI3Je4ybkkniQ49XJyx07B036V/QUU3UzXSpDZ6ZbpqC35PxY1/ImuQLaB0cZDIsc9dG7LVsh2smYd/6bfKRxLzRKJRrTo6zwPmmy74cCyvghPxvmpyUcO/VrEEFn+nF9utGMH3ezVJTTO2ptmF2k+kDUa5cd4zyb3IV6re4PHN6lLAbkpXy7cROgG80fr/Ntt87GG+SpNocxmAhdSrhpN0Kdk9AA7HelEzwY2VI3es2YXOhBieRGYzxUuDjCjHa/h5k6ABbK3qhpOV6NCCg3dtxoAsVapkPCSxun2RtbQn4qsB9MIZlRQtGcv1mmsUfcUCZm5cQqurZHThCewiEwyURZ6DxIztGvs4vEmQZGej1cDS1Nnb7SYkVSnsXjMg7m26fKZwcO5wYDwzUU+vGpZTeTE22lwWQFQ7RATdRvjbQZSdZ4G3HZBjhjVg+F03clkuPCyNmb0KjleUCoXP45IqkwPjmFtSHCiaBR4KdQhMp75BRsLsX7FjL1NARxJmX7RxSuCn67JRil2+NUpBr2F3iXKhtIBUz7bMge/B7i3v/s0djRUMJpXdZgdIRCXdCS/SfzglCdVKLkyfYcuARFx1tsdoFw+/MSxWL1Kg8rSEqXMwHtElQRziusW0sfruqJIIZmukf6+hZfXoaVxdLZVk8g6dBCkiaQV61wY6BAtsU1gVYUfrdDvvj6jiBi0lkfwLgbjogXqoYLVAiEtsPTKNK6bT7+ULMNmUsgJZ/dB+k3L1v5mS8pJmNr7k9B+iLsuwWmiof X-MS-TrafficTypeDiagnostic: AM6PR03MB5249:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: X/qtuTCvqhBdPzL+M2YPQrGg4LqQxouoQJep+G8g6TR4K/FJDOv4G/qPvrKx5w5i2pISoY2oo6NKoRsrtK1SjwBSPOlKfay+UEBzaRuOkW66BiE67WTpWTCeVsiBK8I/gthH0aWewIWgBWPTgBdI5AC5updOP1oNLCKEHGl+BFJ1KEP8wGeJxCit8QmJfeFcHxbPxj32Zz+/TJU54ZWm7OWiQPnEHXk7yGVIFw6RWScyN7QRsUKQ6DSoG8x4X/WAwAQwh1LBqjaP1Sp5MoB6G09kXIxQXJ71A6h+bmKaJ0vsk3mV23X9HHyToouVyi3YD9+I8Lkv3CCXHyjxald4bZsCyVsNjjZGMKoJOlIA34xquknHk558XA9cfCrua/OwZDF/s10PNrEvakqVuH+oZprs02nVRjP3CWJptJi8Ed/6skmtdNrp+gMxpoj/1uVqR/mBtLr0y5pkNYcWxDvMaoepLgR44XHihdxf0dIKoUPD7guADr8jECE/TN03/lW/6pjdofNWpY9pswJBnbLFCPHq47FRsVMGek+2FC0tG+RDs9+qI9gJkPMBFc9YXFGy83ehbME64fVEjzBqBzgiag== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TNt1OI4MrgZocNMNpFvJweMG1mX2H7vRYTVTnR+vQ+oEs726U3xQVNPVOjWXCL7CqI7CnWLb9uolnOOARO60tk6rMqUXf8pduw4u1MUrWWosztz0gPDXkQ3b5YOw9rRnjwmotLW21gycVBMY1AsxTlEBtoAC31JBulAT4Du1NFezOElZv3Zdldnr8GlNK1w3I2EtcC6PmAwGY1z/VC4+jv/Mol9Ai/3PrPG515OgIsmzZsiwkHflffLolfrAPAzIzfuXWBYcLG4Rzdk0tauH7YCMQREOvWZVMRdOal5d/hsfy7W9rDaAwrvBA8u7Z9Dj2IdZ0l0cor3J9Q7Ge0AXLH2sY9qsa3DSiAP3mYPTYIi/9koXrniv9mEDrSkLE1DsN+oUXiG/dGhOKDPg38i35gQTbDvWF9F+cqOhldGp42MAKzF+Zme0IR0QJGKZu4L6LyOvTZ93oiwNoYwMouwzFNlT2B+70/2FgCNP2yJD0EvtEAi0bUiunRsPH9y14/t+6b1QFXhqn+Tie3BLGMiijLuLF/71jS8QejlDBbCZMKuk6HbMbFibqM9isow07wCcpt+Ob+WDNHy1/wvA3YKMQzCc30VXUH3blDCREesGsRboKnMzChlPiWUeJ/OijU6GuEjtvZ5tNnov3s1mUy7J7BMB/rVuBpdZKzm49ETBjdwOFHXU8I0KUwr2v0xlPqRA/mmZMC5drW1J/pWdq77Bic2KCEcrqzOCvW5DR44sw8bQQ38uBpqoPlwZSBJd5ZWqo9eenHIq43j6jFCTDSmkZ3Dg+Qcxn+3kZ5lyPgY18Ii0/EPhFFeZTvXlsQX5BrchGq7GAhLTHAE93f6MGkNtLQgvxAGmGr9h6sP1H9IW9q6GUwCBgb0VY/LPAH0Opy2PKlNyexPSuZCytr2wHKbMNWAFMid40hpKOFW8DM1EZVJpAJuWciDJX6YVWVtnqOuqvGbzIWc472CqmkJLm6ieew== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0af7523a-c329-4810-0ec8-08d9c68cd8ab X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2021 03:24:08.4320 (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: AM6PR03MB5249 Subject: [FFmpeg-devel] [PATCH 34/36] configure: Add new mpegvideodec CONFIG_EXTRA 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: QuCCyqcbV8Lt This allows to remove the spurious dependencies of mpegvideo encoders on error_resilience; some other components that do not use mpegvideo to its fullest turned out to not need it either. Adding a new CONFIG_EXTRA needs a reconfigure to take effect. In order to force this a few unnecessary headers from lavfi/allfilters.c have been removed. Signed-off-by: Andreas Rheinhardt --- configure | 26 ++++++++++++++------------ libavcodec/Makefile | 3 ++- libavcodec/mpegvideo.c | 2 +- libavfilter/allfilters.c | 2 -- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/configure b/configure index 23ef2abc9b..f3bdfd2920 100755 --- a/configure +++ b/configure @@ -2476,6 +2476,7 @@ CONFIG_EXTRA=" mpegaudiodsp mpegaudioheader mpegvideo + mpegvideodec mpegvideoenc mss34dsp pixblockdsp @@ -2723,7 +2724,8 @@ me_cmp_select="fdctdsp idctdsp pixblockdsp" mpeg_er_select="error_resilience" mpegaudio_select="mpegaudiodsp mpegaudioheader" mpegaudiodsp_select="dct" -mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp me_cmp mpeg_er videodsp" +mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp me_cmp videodsp" +mpegvideodec_select="mpegvideo mpeg_er" mpegvideoenc_select="aandcttables me_cmp mpegvideo pixblockdsp qpeldsp" vc1dsp_select="h264chroma qpeldsp startcode" rdft_select="fft" @@ -2812,9 +2814,9 @@ fraps_decoder_select="bswapdsp huffman" g2m_decoder_deps="zlib" g2m_decoder_select="blockdsp idctdsp jpegtables" g729_decoder_select="audiodsp" -h261_decoder_select="mpegvideo" +h261_decoder_select="mpegvideodec" h261_encoder_select="mpegvideoenc" -h263_decoder_select="h263_parser h263dsp mpegvideo qpeldsp" +h263_decoder_select="h263_parser h263dsp mpegvideodec qpeldsp" h263_encoder_select="h263dsp mpegvideoenc" h263i_decoder_select="h263_decoder" h263p_decoder_select="h263_decoder" @@ -2836,7 +2838,7 @@ indeo3_decoder_select="hpeldsp" indeo4_decoder_select="ividsp" indeo5_decoder_select="ividsp" interplay_video_decoder_select="hpeldsp" -ipu_decoder_select="mpegvideo" +ipu_decoder_select="mpegvideodec" jpegls_decoder_select="mjpeg_decoder" jv_decoder_select="blockdsp" lagarith_decoder_select="llviddsp" @@ -2866,10 +2868,10 @@ mp3on4_decoder_select="mpegaudio" mp3on4float_decoder_select="mpegaudio" mpc7_decoder_select="bswapdsp mpegaudiodsp" mpc8_decoder_select="mpegaudiodsp" -mpegvideo_decoder_select="mpegvideo" -mpeg1video_decoder_select="mpegvideo" +mpegvideo_decoder_select="mpegvideodec" +mpeg1video_decoder_select="mpegvideodec" mpeg1video_encoder_select="mpegvideoenc h263dsp" -mpeg2video_decoder_select="mpegvideo" +mpeg2video_decoder_select="mpegvideodec" mpeg2video_encoder_select="mpegvideoenc h263dsp" mpeg4_decoder_select="h263_decoder mpeg4video_parser" mpeg4_encoder_select="h263_encoder" @@ -2880,7 +2882,7 @@ msmpeg4v2_decoder_select="h263_decoder" msmpeg4v2_encoder_select="h263_encoder" msmpeg4v3_decoder_select="h263_decoder" msmpeg4v3_encoder_select="h263_encoder" -mss2_decoder_select="mpegvideo qpeldsp vc1_decoder" +mss2_decoder_select="mpegvideodec qpeldsp vc1_decoder" mts2_decoder_select="jpegtables mss34dsp" mv30_decoder_select="aandcttables blockdsp" mvha_decoder_deps="zlib" @@ -2913,8 +2915,8 @@ rv10_decoder_select="h263_decoder" rv10_encoder_select="h263_encoder" rv20_decoder_select="h263_decoder" rv20_encoder_select="h263_encoder" -rv30_decoder_select="golomb h264pred h264qpel mpegvideo rv34dsp" -rv40_decoder_select="golomb h264pred h264qpel mpegvideo rv34dsp" +rv30_decoder_select="golomb h264pred h264qpel mpegvideodec rv34dsp" +rv40_decoder_select="golomb h264pred h264qpel mpegvideodec rv34dsp" screenpresso_decoder_deps="zlib" shorten_decoder_select="bswapdsp" sipr_decoder_select="lsp" @@ -2950,7 +2952,7 @@ txd_decoder_select="texturedsp" utvideo_decoder_select="bswapdsp llviddsp" utvideo_encoder_select="bswapdsp huffman llvidencdsp" vble_decoder_select="llviddsp" -vc1_decoder_select="blockdsp h263_decoder h264qpel intrax8 mpegvideo vc1dsp" +vc1_decoder_select="blockdsp h263_decoder h264qpel intrax8 mpegvideodec vc1dsp" vc1image_decoder_select="vc1_decoder" vorbis_decoder_select="mdct" vorbis_encoder_select="audio_frame_queue mdct" @@ -3246,7 +3248,7 @@ h264_parser_select="atsc_a53 golomb h264dsp h264parse" hevc_parser_select="hevcparse" mpegaudio_parser_select="mpegaudioheader" mpegvideo_parser_select="mpegvideo" -mpeg4video_parser_select="h263dsp mpegvideo qpeldsp" +mpeg4video_parser_select="h263dsp mpegvideodec qpeldsp" vc1_parser_select="vc1dsp" # bitstream_filters diff --git a/libavcodec/Makefile b/libavcodec/Makefile index e7f1f110e7..df118fd3e7 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -123,9 +123,10 @@ OBJS-$(CONFIG_MPEGAUDIODSP) += mpegaudiodsp.o \ mpegaudiodsp_fixed.o \ mpegaudiodsp_float.o OBJS-$(CONFIG_MPEGAUDIOHEADER) += mpegaudiodecheader.o mpegaudiodata.o -OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideo_dec.o mpegvideodsp.o rl.o \ +OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideodsp.o rl.o \ mpegvideo_motion.o mpegutils.o \ mpegvideodata.o mpegpicture.o +OBJS-$(CONFIG_MPEGVIDEODEC) += mpegvideo_dec.o OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \ motion_est.o ratecontrol.o \ mpegvideoencdsp.o diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index a2c4e14b6e..1c2b28f450 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -658,7 +658,7 @@ int ff_mpv_init_context_frame(MpegEncContext *s) return AVERROR(ENOMEM); memset(s->mbintra_table, 1, mb_array_size); - return s->encoding ? 0 : ff_mpeg_er_init(s); + return !CONFIG_MPEGVIDEODEC || s->encoding ? 0 : ff_mpeg_er_init(s); } static void clear_context(MpegEncContext *s) diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c index 26f1c73505..f506ef64cc 100644 --- a/libavfilter/allfilters.c +++ b/libavfilter/allfilters.c @@ -19,9 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/thread.h" #include "avfilter.h" -#include "config.h" extern const AVFilter ff_af_abench; extern const AVFilter ff_af_acompressor; From patchwork Fri Dec 24 03:23:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32895 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7811928iog; Thu, 23 Dec 2021 19:24:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJzZBowEqdpnOXR+i5zxoWUZ/UKMPlokp3bSsxDg2G8Ygq5J1zI1b7O7Y7eaDNuvrfsinSmj X-Received: by 2002:a05:6402:524d:: with SMTP id t13mr4412279edd.356.1640316284555; Thu, 23 Dec 2021 19:24:44 -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 a20si2846436edb.545.2021.12.23.19.24.44; Thu, 23 Dec 2021 19:24:44 -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=S7d7siro; 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 6A31A68B26D; Fri, 24 Dec 2021 05:24:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064061.outbound.protection.outlook.com [40.92.64.61]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5E31C68B22C for ; Fri, 24 Dec 2021 05:24:18 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H4aIPYTMhfdqQKFOLMRLhlvZZKsagTm1t4744aWzfg0wL9MNdZhCsm3vAIv236Bq3xUj0RC19u8S9e6qr+fVFg3ZqSpumyXk6BHvdSUYIhoR8brAmFqEOnPpJVLjPZ3f+5JC9roUxrvZxq3mayHbzYkx07BaSV+CaKrMbPoa8IxIBG6kqoSfzhUYTF0PJJ7BOWFLmF1QHDv/i7sYQWzbomvOJ56yM9dYVoUEkARIpNR9cR98piejJQfGE8gvUL3fX95SUybY3HLJquaweY2xkgCkDTNdyi8JVb8KXucp09cwe66ka9lkYmLaxSsQUPYxZsmIZof6Zv8Wj1oYw76l1w== 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=Ys0AIabaJO3oNpti0J+ZWQ99YCljR/aSMT7vi1YOO6I=; b=AIgfQVkOnRlG1Fi4Tx1YomlPYdwzP/OyjVt9XiLcPU2Zb/fizon1PhvQf/lJlc9pSJj4+64mm2WF0vl/WOnj3ih9Q8lqtYrV4Ar/AjLYyWBDGt8uz/PxmeDO4a7lgCgUqqNPLAeywMgx1qKvCn10h6NSlYIsFySK2LTUXP6GK89Wuj1K9Qb2GUMK4yN7LwKCs1Dk8D7A6yT7WnpLlu7gf5TYUTc/NEPhZIZGCcvBTLyuLphhLDQBw5yE2pu9u/TK/xhtQZv/KIfx8dgsyfPIMONL1Hgypck2yyvsd2f5/TxKO/qm0MUMX4UpfC4jPbmfbUu3Ku6baVH9pnPqT9GDSQ== 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=Ys0AIabaJO3oNpti0J+ZWQ99YCljR/aSMT7vi1YOO6I=; b=S7d7sirojMALgflM+hcIjDEIgOAy/PHnCvStX4Le/rqtI8ZGuSXGFMO0e8aNosx+bxKCd7zJBauvKkyZXtfMZutJbHoMlAozwHBhlJVfHi5/jbCpvZ4ml71na3fiUAXTKyETs77hsVerFu82SOxtWySMLzzMeZkwznxh2G9LrbjcTKRRxLyZcrZBeRH35Y449PPTeIaGJwQfLKUd5paP+3ZfmHaFcr//L5GSy84J3Np35MF8JAyyabE49TLQgmcXm1BJffRbjgFehfdFcrH06YAce5oS4jwB+NRMan557dlFbVG6zMDKO22Vs9C6DYZe/bsDLnfOonppeaz12NbbKw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5249.eurprd03.prod.outlook.com (2603:10a6:20b:c9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Fri, 24 Dec 2021 03:24:17 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Fri, 24 Dec 2021 03:24:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Dec 2021 04:23:31 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [X5UV49fsIL+Ih3DczgMKH2k3eATp7hNw] X-ClientProxiedBy: AS9PR0301CA0032.eurprd03.prod.outlook.com (2603:10a6:20b:469::30) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211224032332.2104747-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 591012fa-e5dd-446b-4265-08d9c68cdd5b X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlUZwqY0FFvGd7mlzbnHZt8XKa19AFzg33cVq75PANLReZYz6pQ6M8ScOqRV+6Ok4UNbtT1ikm+Rgx1qZsjwH+llAbx79QTv9ocvjIxecPhrtnn5whaZIrukATRmFj9x5vm7atT5RTcl7B+7vDpuV5v5GTwfDbrRIv6Qu0UZP/f/am6ttWcZsVazS8S2dpsJkF7GRnGpKEs9Ar64rem7UUarbCHTGCiyyxt2cZ+7P4SjbROKAj6gQMZlDxXbxRSWQWFYXSSPWC+WRAxMXlL5eDn3xHpEgNFx9rtFiUduHnDSBm+3JMFXCBaVNk/pKD/RUDPy0CQ9kwiB3SgBparZ6BxGgVl6Q/VXVpyNbK0rvsf2rST+Ro2fI7h0zhP+NgymhQoC9SM7813IZBJ66hbss9mVyMKx4UVf9NXr6wMD+CO2gn4lJJHbsrrqo7YGPgPoYVinCRFncn2N978tHAJx3mCAYqsDyyzLNXgGGkoNy7Vujp85EEKyJZLHbrVZFYtL5siW6lgzCKjRa2RRIY3qTaxEwC/M32b4/+X4mTSEgSAZhHh5oXlkvlr69FKMIuxNU3Y5jAAPCKEcGBvADK3xbLdq9X9EDn2k1+iO/4q4eZ08A1RdgKaS6uxmW198ivVaq5z4bSxcQuappgQE8Nk1jFPNCGdmrpDRkLK9Mavh17pqTBqMws5TIXkmjxCgguhubcdM8kxFOrUHk= X-MS-TrafficTypeDiagnostic: AM6PR03MB5249:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: t+I7yxlz32sxHtPqrwDlv+1hlXHaH7nkc567QyMkRq9AA2TqD8S+FCS0JTFe/eBoA15II4RtJzKstzE90kEICDet/CxVom3ZFIe+zeXbrBWd7lnoJ8m9wlzWc6u78OR7K+xUYwxTLa9SSn8Facmlj4XRHNG8FDnED3ixOaxZE+5o4SUKA5OViqm/+1IB8QOcRy58CJPdM5b+SFKCm5RVq87nDsYRG9ZlSaiVmjSrTc91Y031cHsaRyLvZ8uwXSiMbAewqP5RGFdl0Uh50meB0PjoZIlNSMk93tfRmCNYd87YvglhOhmqPFiyDXoD2rYrABXLGWYm0rtMHIuUIO098p+msmkmH24+8LOrSpYJIseNsZ5Voxp2i4CL9mmgYKcWLB/L1BaBgOjPfW8JOxe0dBUcKJX7TNBm2oPuBaHgWJi+Vx0u6ObPhLbvGdui5Knhe+0esjFmOlqzfEioK09W4kSJd8T0nwd9+Tjoqz/IZHshUmHCovQCiXFDY1z92iccpebbnNwcSNterN2//V0svJ7FFP4KZKirApJOvF72DZ0ywj+Ml+F7CthnEnwDbY8UOP/eaDp0yGD8XCnIQfj1ZA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kvtdyRkJrrP26R3REsQMcJaGQieaDSjxqA20KsCLZ+5mD4zUQGO4NwYZOxoHqQ4S3Vpm6L0a1mZ4JO/Pv26AcExfmmaOFrzLvbqpW5gU8PQ0e6/h2TSzkk43S1+GxtDQVSfkBZNCGTFcfTlTk/v2WLqbqg1UvjgnyITzgSDpe8PbWnT4pU8iG/i6uom6g9h6MdBBXvI6zYhmh+0zts7HinK+Y5yc+wcq4Zs+6LFUHtEhvboTxtunL5APwv10FXdl4Hn6YVsZNZnHiPAYnp36k5pjwsk01FLy8ISLLk4oip9NKj4H+m+iU3G7speBioKPvYs//osojh6CTL1WinlWrYQ9x6RYDNNpL6gqgY99tGxGnmltlasWImG0myy1oVINQqHDL7Lj6Jp979ftJuihBPR0DZbJ2S4Fk4JZwKMz0Gx5ee0WF3VrYUm7tV2yulZVjQSsXxmoDXHdBIVU6LpaLKLF5A1kxpzkas1VNrdohA/YLoGBhPAC6CE45ajxYY9lanHP5yf93+qq0LiI+ltzsm94pyL2QGwpRQYXIsVWEilLrF+lH6FCSpSiBfBXZeqVCASCUUWKblQYWLh/tz3oQNU8KxXa+z1jfxmodeCZIknZQ6kWG5f7ktT6evkeYrejTuESdVmlTYP8TErbBpsXu3iI3rtUfEC3IrMlbs8UtKwSZ3hEyyrv5PYwjzqSZkYFvnJntRA8oBLzasIXnkbbqgJ54UO1BgVBWw68v78iAWUcQGxPuy2e0K76glOMSUh0CFIVOvj6nniEvnJBTSVtA8cExrsmQ1ugPq5qpibCRDTk/Tk7J37MGZEACKCaef/CV2HSfFhLnrKcVPMDcoxlD1XPkBemxP72lqLXdAv0H+w9KkpVks9L2bqXz2rFU2BpG9o9z7AGGS0zKE3JvdB4txnRC8FJYfwnfw4vt1Ph8Df+eNgGMCnwVT6BskJtashY9+4RS+POwiWwRuJIY7ueoQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 591012fa-e5dd-446b-4265-08d9c68cdd5b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2021 03:24:17.5467 (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: AM6PR03MB5249 Subject: [FFmpeg-devel] [PATCH 35/36] avcodec/mpegvideo_enc: Improve inlining of chroma_format 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: tznSldV7fNWQ encode_mb() calls encode_mb_internal() three times, once for each supported chroma format. The reason for this is that some chroma format dependent parameters can then be inlined as encode_mb_internal() is marked as av_always_inline. Yet the most basic parameters based upon chroma format have not been inlined: The chroma format itself and the chroma subsampling parameters. This commit does so. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 0279816d3c..0ac8886246 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -2030,7 +2030,10 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, int motion_x, int motion_y, int mb_block_height, int mb_block_width, - int mb_block_count) + int mb_block_count, + int chroma_x_shift, + int chroma_y_shift, + int chroma_format) { int16_t weight[12][64]; int16_t orig[12][64]; @@ -2087,8 +2090,8 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, if((mb_x * 16 + 16 > s->width || mb_y * 16 + 16 > s->height) && s->codec_id != AV_CODEC_ID_AMV){ uint8_t *ebuf = s->sc.edge_emu_buffer + 38 * wrap_y; - int cw = (s->width + s->chroma_x_shift) >> s->chroma_x_shift; - int ch = (s->height + s->chroma_y_shift) >> s->chroma_y_shift; + int cw = (s->width + chroma_x_shift) >> chroma_x_shift; + int ch = (s->height + chroma_y_shift) >> chroma_y_shift; s->vdsp.emulated_edge_mc(ebuf, ptr_y, wrap_y, wrap_y, 16, 16, mb_x * 16, mb_y * 16, @@ -2128,8 +2131,8 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, dct_offset = wrap_y; uv_dct_offset = wrap_c; wrap_y <<= 1; - if (s->chroma_format == CHROMA_422 || - s->chroma_format == CHROMA_444) + if (chroma_format == CHROMA_422 || + chroma_format == CHROMA_444) wrap_c <<= 1; } } @@ -2146,10 +2149,10 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, } else { s->pdsp.get_pixels(s->block[4], ptr_cb, wrap_c); s->pdsp.get_pixels(s->block[5], ptr_cr, wrap_c); - if (!s->chroma_y_shift && s->chroma_x_shift) { /* 422 */ + if (chroma_format == CHROMA_422) { s->pdsp.get_pixels(s->block[6], ptr_cb + uv_dct_offset, wrap_c); s->pdsp.get_pixels(s->block[7], ptr_cr + uv_dct_offset, wrap_c); - } else if (!s->chroma_y_shift && !s->chroma_x_shift) { /* 444 */ + } else if (chroma_format == CHROMA_444) { s->pdsp.get_pixels(s->block[ 6], ptr_cb + 8, wrap_c); s->pdsp.get_pixels(s->block[ 7], ptr_cr + 8, wrap_c); s->pdsp.get_pixels(s->block[ 8], ptr_cb + uv_dct_offset, wrap_c); @@ -2213,7 +2216,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, dct_offset = wrap_y; uv_dct_offset = wrap_c; wrap_y <<= 1; - if (s->chroma_format == CHROMA_422) + if (chroma_format == CHROMA_422) wrap_c <<= 1; } } @@ -2232,7 +2235,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, } else { s->pdsp.diff_pixels(s->block[4], ptr_cb, dest_cb, wrap_c); s->pdsp.diff_pixels(s->block[5], ptr_cr, dest_cr, wrap_c); - if (!s->chroma_y_shift) { /* 422 */ + if (!chroma_y_shift) { /* 422 */ s->pdsp.diff_pixels(s->block[6], ptr_cb + uv_dct_offset, dest_cb + uv_dct_offset, wrap_c); s->pdsp.diff_pixels(s->block[7], ptr_cr + uv_dct_offset, @@ -2257,7 +2260,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, skip_dct[4] = 1; if (s->mecc.sad[1](NULL, ptr_cr, dest_cr, wrap_c, 8) < 20 * s->qscale) skip_dct[5] = 1; - if (!s->chroma_y_shift) { /* 422 */ + if (!chroma_y_shift) { /* 422 */ if (s->mecc.sad[1](NULL, ptr_cb + uv_dct_offset, dest_cb + uv_dct_offset, wrap_c, 8) < 20 * s->qscale) @@ -2283,7 +2286,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, get_visual_weight(weight[4], ptr_cb , wrap_c); if (!skip_dct[5]) get_visual_weight(weight[5], ptr_cr , wrap_c); - if (!s->chroma_y_shift) { /* 422 */ + if (!chroma_y_shift) { /* 422 */ if (!skip_dct[6]) get_visual_weight(weight[6], ptr_cb + uv_dct_offset, wrap_c); @@ -2341,7 +2344,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, s->block_last_index[5] = 0; s->block[4][0] = s->block[5][0] = (1024 + s->c_dc_scale / 2) / s->c_dc_scale; - if (!s->chroma_y_shift) { /* 422 / 444 */ + if (!chroma_y_shift) { /* 422 / 444 */ for (i=6; i<12; i++) { s->block_last_index[i] = 0; s->block[i][0] = s->block[4][0]; @@ -2413,9 +2416,12 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, static av_always_inline void encode_mb(MpegEncContext *s, int motion_x, int motion_y) { - if (s->chroma_format == CHROMA_420) encode_mb_internal(s, motion_x, motion_y, 8, 8, 6); - else if (s->chroma_format == CHROMA_422) encode_mb_internal(s, motion_x, motion_y, 16, 8, 8); - else encode_mb_internal(s, motion_x, motion_y, 16, 16, 12); + if (s->chroma_format == CHROMA_420) + encode_mb_internal(s, motion_x, motion_y, 8, 8, 6, 1, 1, CHROMA_420); + else if (s->chroma_format == CHROMA_422) + encode_mb_internal(s, motion_x, motion_y, 16, 8, 8, 1, 0, CHROMA_422); + else + encode_mb_internal(s, motion_x, motion_y, 16, 16, 12, 0, 0, CHROMA_444); } static inline void copy_context_before_encode(MpegEncContext *d, MpegEncContext *s, int type){ From patchwork Fri Dec 24 03:23:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32896 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7811997iog; Thu, 23 Dec 2021 19:24:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJylbVV6gtQ36D9uSOV0pa11BoHCzc4YGW5dS31mdhp0oK1wiUafentMqllxkw9lTEulplBW X-Received: by 2002:a05:6402:280c:: with SMTP id h12mr4438198ede.120.1640316295218; Thu, 23 Dec 2021 19:24:55 -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 dn18si2898304ejc.364.2021.12.23.19.24.54; Thu, 23 Dec 2021 19:24:55 -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=FE6OaxAD; 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 75BF168B275; Fri, 24 Dec 2021 05:24:33 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064023.outbound.protection.outlook.com [40.92.64.23]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3C0768B266 for ; Fri, 24 Dec 2021 05:24:31 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M8phvGwUjaB1WBtcT2816oGi2eyWQqk33UAIX7ktQz8lhv3nKPBeptD9RyG4TS/roCV9/Cch4Merj5lckKgK2uPwwJ4tKE9tCpQmmN65ZdhKf44dXghMPe3+vVfs6mEuFNQJAz0arHjkv597Ey7sRCsiaFzd9gX/lqUoWwl8du9D32VnjN9SizfTY6eyHn/KwFopKW9NTcFoRo658Yo+GN08ZaM3pYiJNGRkQEwbeSfc2c+cuYjzp6pw2bfEkvBwqlpGbry4C9L7bmF4EtpbCJCq7R9HDNdn5OvQKKIDjC5ZUd525U/ytelUhHaaRGhM+CipPTTR9BFkLybnzYBIOQ== 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=CWACitaE5qPPGygoaAAKD3hJfX7V0BzNjzaMZHrDC/g=; b=SJuu/Wrr78DoAn7c0KauCoW9qGa0BRVRasRs2xBiWf5PntutyWvGQ+Zvmzj7L7lZUfEjxGtGBCmOQ/UTdjrHWFP13pvRwi8otRhrjIzyO3t9zOEDu6A9bzmHrG3GmmRqvNEpK4vfX0KTKWXD3rbcE/xWCESzLrEGZ+RBckzsk5RGu/yY/vDNgTTkPKVSmLHLKeAeUW5q2wvje2qXaV9s3bIRMgnSENuaLg4Vhsz84bHn2x15jR//aI6JgY2zfXF9rEceSOdWHG2+j18fmD2b4OUtSiKm/dYJztdChBUL86j+KNKyM1xGiY7cY1dJS27Omta6fs9nwLewIqF1pgzO5g== 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=CWACitaE5qPPGygoaAAKD3hJfX7V0BzNjzaMZHrDC/g=; b=FE6OaxAD/KjxfhL+dodvpDgRvr9y8V8pdA5D1e99uohWhBYeCQSFDmt8p8LREC07L1P7Iv2KkgJ5t5tZjlvIcvLctBzU6PSDvoxrm5J237i7iaDj9eeN41Y1fdRftPRpBY7pdP266n/xkIPRqIYxlsR1fMZpH94OOrPrAi8JZMhb7wWhrIwIb0Wzrj2SqePabxCMJV4/+hfB21CGNxZiCRa9RjoPLE8BAxZTzTrnXgFFWDxxAEOeKTrbK4BD+Ec1MzxvC4+rD4h3PfDzuYJNgjh45ehtu45aGuN6q9tQu1tcEy0ugaI9+PTiylZ01+oO8Q9ulM6yvKJPg38gmYb50w== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5249.eurprd03.prod.outlook.com (2603:10a6:20b:c9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Fri, 24 Dec 2021 03:24:30 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Fri, 24 Dec 2021 03:24:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Dec 2021 04:23:32 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [JJR8Iy+175Bo/JjdqLJLG3eo58RrfJXu] X-ClientProxiedBy: AS9PR0301CA0032.eurprd03.prod.outlook.com (2603:10a6:20b:469::30) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211224032332.2104747-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0470b4a5-88fb-42ff-7714-08d9c68ce5c9 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JWcnJQnOnRCyJLEhpml9UN7xXF5xqxMikK1tkCXAbnaG4DqD5bk496bmN8TzdUsGV1w0mRSzPxOwAbnY7o89wlMaXRcGt4OJGWRzXB0/lI/iyhT5183RXeffkrZHejg51UYbGZrrEHXFD0EotgFX3J7CygeN5o4hyv+RmZrCMOczs0NyDNeI9DclH/O3xGl8ib1nb166YLnGSm8oPkxXdoQu4oVQTqwuLRICSPBn97v5e2ZdUq+E7vrvDeiJoAOeuPiX39kRyRWBfJajGfV/xJ1j3uUEb9+al97KAuh5AgcvqFEsCOsNpf6SH9kudwr9WRfC+E215t1uYrf5Xf3X3+tKuDVumA03mGHXn7RPQ/S+TR6e2+0uo7v5qtE+WzM7mPyfQJM9mz6eJoP1WdOautMZq/34VNxfA6NXs/y5Ch9N+QyzGkG7X1zwLbTFyxPzms/V9pgggS3IaG/d6X3TcaHaL5ytVKKViN88Xc3XY5iJyPRHVnRbfLrr0E53yyXW0mxGnhEC7+KYKZxW8TKDPTa7fCHy0xLbwJAZ9SV/1xx/FEyV4Nj1f8lB14S4sOcrSWZeiEdAy1nA2DDqA/7+myrSCopgLBbGu6pl8Nr0Z1wNJHDORmAov7XcIRd4GFkik2olVl2O1kfpFN+SI+6ZTHcjJtOw8P3FEuQAvFC9gaNccOIQiDeQx+JtqJAxqXhTnjyCmgyQk3URYg8zBJrNWHDGBCzTj0+x9t+UcG/ezriY= X-MS-TrafficTypeDiagnostic: AM6PR03MB5249:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TgTmrcGW9vbDfxWZivZYk2wpiUhMm9uVsmjzZ5zFUFnJ1Vf/thmNzMEcoaV2xK44hlcRuFScKvbQNcSFNfWQB87P9dmDLn5ljkOC6jW0gIGXwJPDZsuqNCs0AXkkEvLx3chZLcRVmmNntibwuylfcuxPdXyHC1hRd7cHnWg4A/ONayV2GFJ+n4muMsRvIFD/Of/KB9YKK+QItb86a+7WX7LvEomOzhIAZHwKo/qx6ZM4l7x3vrZ75eYiv5fQfQMHXSvtxe2U+FQStDyLA5GDgiPH5MiDV6AqIBYZjyWOe596/y/V/0xWpHREst4L7WRcpuRTSAfTWJFObcwWlcgouX2EXLn1Ol05uj/Z1RTZEs3BxiEkQCsjG2eb8Ia09KPiLRzUYEQQpuCcXNmEbMqFAdjGTHwfsm/vGmIqCp7yNm7vVbIOVOdkow9mnLjHm5pKeCIRhNsgPEoBcI4yIGZJuFlj/sGUrevvX4V2/Q7L773B93FRD4MlNva7w2RU/NLb1erJQJPB6kwCK843NshQ/s4fuVt62QZMZE2TKPRBy/e/sXXXVbg0IExNPQAYMxlXmby/JHrLSKPUlHqBK8JCcg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: a7QtcLyLe0DPTUirnO8JTVC7ZauuU36b7KaXewkVCZ2PahSt3JK3+PBNrH4l9ZyJj8x2tID+kFm3Bz6QJa04S499KKBhpnN7Tpp9cTxKW6pkOKJuP79z9iLwqX1BYfzBicuYgBItFl1LqeYjyp7iz4PMFm/vly8KYHONaxbGTKc8totlebNig8Z8SoYuSF0l1HSooibwFWBjKJMfoz4/ECA4aNKdkrRvaz9RD5GaTWQdrYn6ZvXG50hTA3u5/XNN1RxGU6J2ss2QouybL2Sts261PEQrDFOnKAG2cTcwxxMaG35mYlSM7Q1m1g2YwHGEQiSaissUbTd2unhmjey32zrRJB9omPX9VViQOxoae47ywGm8O8iZtCYR7IzZa47bLj78q1ZbODTKC4V6SFeKSCDmTKvSNYhA82wA08oH7tmQBhBZulpCQpov4MNlyQ0lv1t9HWAN0lgNYuHqvA2/F4lkgNfBoIjagMYDHlkiY67zAkDwlnSngg0JO/34O/H0QpaQgFNdv/o6ScYBfJVyoApaO64WTgF1QDtYRNdkJUTN7AgQb2R0RJGkYI64c4EX1bEdp283rzRluvbhAWNrk/W69Pp4GDVH8mSdQVyvhh0jipz/iNW9TOuBGyElH3H18vbXea/akV/y4lw1XO28hOuopNvr2bG100+zIBB8z4SomiLz2SPwrcF8oAYraGMQAMFDjewHOdSqGNdnH5C16yXEOPdXu1BJHnjI6wWuT7C4XoR+0IZR6SVrELHHCYbh6A3UUl4K0mF0tyHCr+h7mEgbh6OdpXQ7UEFBshxytyxWCJU3VrkN1A3HkPsYUu82AAFZY1CI6prhXOyMfPdJ79hCOlMa8vGAlqrPvKWunWneb1HxYYKMoGmHtWLRzWG4atuBaVWb9fPKbXr9E5zE8FPgmPIwrE2AFPZu7Ti0GmM9OO1RWIaaXQ33xZdYZv7EXfk1896+swcjUlQJznBAuA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0470b4a5-88fb-42ff-7714-08d9c68ce5c9 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2021 03:24:30.4104 (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: AM6PR03MB5249 Subject: [FFmpeg-devel] [PATCH 36/36] avcodec/mpegvideo_enc: Remove dead code at compile time 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: DiFDNIwk6PLT There are no encoders for interlaced dct that support 4:4:4. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 0ac8886246..15b6669e46 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -2035,6 +2035,10 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, int chroma_y_shift, int chroma_format) { +/* Interlaced DCT is only possible with MPEG-2 and MPEG-4 + * and neither of these encoders currently supports 444. */ +#define INTERLACED_DCT(s) ((chroma_format == CHROMA_420 || chroma_format == CHROMA_422) && \ + (s)->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) int16_t weight[12][64]; int16_t orig[12][64]; const int mb_x = s->mb_x; @@ -2112,7 +2116,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, } if (s->mb_intra) { - if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { + if (INTERLACED_DCT(s)) { int progressive_score, interlaced_score; s->interlaced_dct = 0; @@ -2191,7 +2195,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s, op_pix, op_qpix); } - if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { + if (INTERLACED_DCT(s)) { int progressive_score, interlaced_score; s->interlaced_dct = 0; From patchwork Sat Dec 25 06:06:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32907 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp8686024iog; Fri, 24 Dec 2021 22:06:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJzWiZYcXWVYL35AH4iM1idxfA/rMtm+VFFKA0UVTJYwNm4WB+9N6xjfSWrAjXzF+9o7lrdi X-Received: by 2002:a17:907:1c92:: with SMTP id nb18mr7203331ejc.157.1640412417261; Fri, 24 Dec 2021 22:06:57 -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 og15si3659809ejc.3.2021.12.24.22.06.34; Fri, 24 Dec 2021 22:06:57 -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=CUMv9ZSn; 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 926E668AFD4; Sat, 25 Dec 2021 08:06:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2085.outbound.protection.outlook.com [40.92.91.85]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F3A2868AE34 for ; Sat, 25 Dec 2021 08:06:23 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ql8XEbhvwjb4IlR5pRVx3/+DHmEBgU5i+Ase4brVKQjC6zAQ0iRWnnaTbhU8OZuIyrJKSTpjx+JDpGsSw9WAqO/ctWVfFqd7V+C4K9BNc3fMSUmH757blEG4Wij6zOXComZiT/ptyCxP38LNYj5rqEv2RJckE43kxBAAR8yDmuodlgaSggFgSxZxDZKMrhwzg1APXeRsGlXaoWmW0YWHYxawYDxSQo+Tc3Xu1XcF8l5kxT0GPUUPaxu9zKAv2ezm4RBv+PtfHQvDGX4oolNOMUheMf0RwPAhVM3SagNIZJyV6ogyIpKX0PrmvfKpx658ZsAv4wU/KKU+V9Hru8G0yQ== 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=e2hgXuevb0epPIqh8h3iSczhz/25W9qoW2l0TIjnt80=; b=C6LPfv1ven6neaG6Bjyk3xGdKMBMNBCCpIUglDPRitmvjNRFytG8ho5v2YXttS6We7D+ND4vL5+f1AzxZ8/LNm/PuCBXruELrgQ6glm4H+CT823B5tkiRaso8nzzjBCDtoUgqGx9V9VU15U+jAWsSF1jN3PGTr6qANZVzURXC3WSj7FPZSwzAtVKhEPLVpZeXiVZYSMDKsKOHXzqo/avx5YXHIiedSj/EP1kJ5n5LvqM3N9sYjMN7epK+lDyguHGTHhIrmYrjgxmdHth79/1M5u7esfaHnGnX4Npcuxr3hRIMCR0x5ySghCzzI8qwRC01AUZOFl+CX5ESH85xeTBYg== 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=e2hgXuevb0epPIqh8h3iSczhz/25W9qoW2l0TIjnt80=; b=CUMv9ZSneJulAEbawUpbuxdt4Uun4eJTEGJtL80u8e8E0BlN0myN59RUydGQufQMV97s6W7i9+GTMYxWEU7XuLUXE4dtxmPPDOuh6Kq/kWbmCZUjMgR7/p5MRJCT42ZNq3rjyd05iJtAu0XR9riEEPb+DnuGDn/AWPWgyROft/WriLNGIb0brwDoqLtnVly0O97o0EAobZ/NpnnwdwDcDN8m45SQh+ZGQvghUO7huQG3fwHnmcDcENQlBqtTQ0nPFWbPWoTIiDT7GM4SJuKQOv0ML4l/l1+dCDZWtIfYuMhL6hOZPDdHz7yTRw8a7w08MNAayC2HFPpl16Lsa45G1A== Received: from DBAPR03MB6664.eurprd03.prod.outlook.com (2603:10a6:10:17d::22) by DBBPR03MB5445.eurprd03.prod.outlook.com (2603:10a6:10:dc::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Sat, 25 Dec 2021 06:06:22 +0000 Received: from DBAPR03MB6664.eurprd03.prod.outlook.com ([fe80::8c52:d93a:8d07:9f77]) by DBAPR03MB6664.eurprd03.prod.outlook.com ([fe80::8c52:d93a:8d07:9f77%6]) with mapi id 15.20.4823.021; Sat, 25 Dec 2021 06:06:21 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 25 Dec 2021 07:06:12 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [3lqGrceM0vTJxkCXfT8lohp5jhOs6iAA] X-ClientProxiedBy: AM3PR05CA0135.eurprd05.prod.outlook.com (2603:10a6:207:3::13) To DBAPR03MB6664.eurprd03.prod.outlook.com (2603:10a6:10:17d::22) X-Microsoft-Original-Message-ID: <20211225060614.2345147-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5b40a6c4-bef4-43dc-127f-08d9c76cac8c X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JdHiaIs/1TneSHBWoLcu2lwOixX8VZ5GpU+Ivkx7BOdNsANDxTtEpS8Gd/4zbH6y4lYet2LPbf/qIRRSDLG908lgr69kk/ozZ5xlCCYuIUyKoigqcdRFODdPpivmjYKPPyROAfha0bldDxWSWca5q8ZEtGzUdKTR5nngn2oNnKkaJM3uW8b/jNusy3OleMwChkd0d+iW0br6rZuoklMDga0/pk+eN02jGlCGHyrbXuNKtkfae6jFoJOcYw9SDNLbKjM6FwEOHGFTfFVT+nPIp73PCNNkd4/6RNbvbfIfepP1cBVAYYz+jatLphyqOri+2OMmppW+1RryN3E4kmTyScE8bRNu05jWS684QV5diOb101rFf3VOu2xM2Oi3SL8a8bDb5PhUx7u0ILa/5LopnoH4wkAOnehWC1SZ7hVMisSVgQRVjpgXIKFaw8qUddhdWJwXzRIo+uzmRaTlIzddYXWuY+w7I9hjhkXQqoqTAHzWSzvijk0pG2LJw0QONZmsqjQHg+3CSF9I6oIRjBSd1Qo/kACSwmyIikyO0X8T2bcxbbd7PGEBAs2vRjiOXfNEBQACW49tEHDB3k2Vzl8ede/Ri2YirztlvtA+ozwErRqU3WWLzlHJ9+LFpbqwPcbZfnbpWoz9g7jQkbww7al1CVF5l45M3dNFYm4Fedpi5hICQRYzBopD7yd4bbsu5+Tl8p4qv7ull1+dIYBWb8t78JGQZYODKnllCItHvSCZwGZo= X-MS-TrafficTypeDiagnostic: DBBPR03MB5445:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CqpFMXyndpnSnW3zdgGxQHjCH0parD7ac+XaZm+6Dzi1FQ/IiVu87B08P2eonaRdcsT8f7q0a+SgJ2z1QTFm4BPqgvaqOWrG9Up2S1arFWYSyWcrkkASocp9Gf5jJkaSLdTJfM5ft7YApPzKqHH3/aj4tDLlmvYueXsYwyEv9X74SrCv0BJFwZdiL+GcHczWyqtp6W9U+8P/sbfeDHnNAUTTN0ySiGt4AuN/uGBouXqIAXpSL/KT5CXHewiuz13s+VM6/QqD3bLtBc47b+CJgRmjEwRt0q9RpKyjssy+yCIETeX2ua6/rwj8PhVHMlZqFRD+ynzVUdDi0psWxTeDL0vq5ZwagesnhlCTLvuHr1BAGU9hcufSCMiIqMKL9pE73M2Egr5EHgwrNHS3EO6Jj7voZJ94kkKi+IKKkbybm2ZLQ+Ubn6WIdtiWl1k4HOgXdB8B3nrjkJPAze0pi1dp0S+49xCxf1liMkb+VkhYSbR9KbWiYECOGNFP4eUtnSJuilbunR81zZEhGZxEtPMHuwY8FJ/m0heaCNqE6aUaOCf2Y0iqAafk14FolXY59yGqgi648lgiiWQIKRkQRv423A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h27zHx4grbY7FgxAuZlh67/u1I5/wswqy7eIo/OMHc1pRCFoetGkcmUMZ1jJtWQK2qDMdTkTgtA4q5evTTfvjlzARTEmurVwCyBpOCwq0J1lIy6orRzh40M1bCzau5jSWrha9/UrT0+LlRBJ7oR+d1XEsK4ZpYnC22zPmac6yB3sHqZJnN5/YLLpnFEY8dpIlBVGQy3RHfdFdcjnsi7o3ADOcY1KxcaUi5GiB+f5H/HSJfBgKs3n7F7sk7fWAYZPrV10MxbQ4z1/Q6/Zjswq9UC+ki68yffeLqCL1vNQmt0MKWVCRNCEbaXqfodYF+WqvfQzD0J2jWevyppR+NUaYlNwmZc3sFue5zZ0SxSk9bxkIT0glslYGADFy1+WoY7ZIv6Gzn6+gjOpnQ3dJlRAMoZCLPxST2d/8k6UzkozXKaa4+sqUpbRQmn4qEJQI+KNETfAVGAVXBg/aqdTk1qLmAEKDLsi6d8ansHf3SMdk3VOFKqJYdXmurYQyVvyZfVkH7eljqqk4eCSXYruhgOJ26JYQ2ubgwwOqj24g2aAph2VjTxmrTFn3136/MUcHks/ogJaPGCEjrk8Q2crPGCjupYxfNi7arJuAk/Nu3ONGOp2xdXeb8NydPAqCU41Wkm+m6mSyj53MCDWUflDo8IEc6/0iZoeQ3oQgi5PN0s98QjqWQJqjUMBcRRNhbADQYV+jnevSYYkKGwu7LGiC/GNUwpZshfnYxattEgJzNFgSgJ11R+pZnZH+K1eZCoNa4H7lxg0XDDIUZB0VBlyB/ag/uqc6Vu+Ztb+v6S1OqGNUJMy5HHtuhKibtx23eliKBvVZX9rOUnhgJB2VgLSS0Yqj2hTm2a10kgLrv2kJrkgAgZLAdeHxobknxODzxjzpHpzeRHNJEmvejRQThgzMJRsWQ+GIbJ3Csby/GHaud9biehWxiHVc/vF1TxtkMA4+63JaI5jb2b08Zw7SotuMWQj9A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b40a6c4-bef4-43dc-127f-08d9c76cac8c X-MS-Exchange-CrossTenant-AuthSource: DBAPR03MB6664.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Dec 2021 06:06:21.8953 (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: DBBPR03MB5445 Subject: [FFmpeg-devel] [PATCH 37/39] avcodec/mpeg12enc: Also inline chroma subsampling 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: LKUfW8gSYSZJ ff_mpeg1_encode_mb() contains two inlined calls to mpeg1_encode_mb_internal(); these calls are supposed to inline the properties depending upon the color space used. Yet inlining vertical chroma subsampling (which allows to remove complete branches and blocks depending upon them) has been forgotten. Signed-off-by: Andreas Rheinhardt --- Looking at this code makes me wonder whether inlining was ever worth it here. libavcodec/mpeg12enc.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 3692494713..1437ac421c 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -773,7 +773,8 @@ next_coef: static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s, int16_t block[8][64], int motion_x, int motion_y, - int mb_block_count) + int mb_block_count, + int chroma_y_shift) { int i, cbp; const int mb_x = s->mb_x; @@ -918,7 +919,7 @@ static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s, s->mv_bits += get_bits_diff(s); } if (cbp) { - if (s->chroma_y_shift) { + if (chroma_y_shift) { put_bits(&s->pb, ff_mpeg12_mbPatTable[cbp][1], ff_mpeg12_mbPatTable[cbp][0]); @@ -1025,7 +1026,7 @@ static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s, } s->mv_bits += get_bits_diff(s); if (cbp) { - if (s->chroma_y_shift) { + if (chroma_y_shift) { put_bits(&s->pb, ff_mpeg12_mbPatTable[cbp][1], ff_mpeg12_mbPatTable[cbp][0]); @@ -1052,9 +1053,9 @@ void ff_mpeg1_encode_mb(MpegEncContext *s, int16_t block[8][64], int motion_x, int motion_y) { if (s->chroma_format == CHROMA_420) - mpeg1_encode_mb_internal(s, block, motion_x, motion_y, 6); + mpeg1_encode_mb_internal(s, block, motion_x, motion_y, 6, 1); else - mpeg1_encode_mb_internal(s, block, motion_x, motion_y, 8); + mpeg1_encode_mb_internal(s, block, motion_x, motion_y, 8, 0); } static av_cold void mpeg12_encode_init_static(void) From patchwork Sat Dec 25 06:06:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32908 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp8686123iog; Fri, 24 Dec 2021 22:07:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJzWc+kDYop/6NdY2KVYurlr+GoalCvr4c6ychhaRGzYWXSnB6CqCcyaf+I3IRFIyCkOVF+6 X-Received: by 2002:a17:907:7f9e:: with SMTP id qk30mr7234010ejc.238.1640412424845; Fri, 24 Dec 2021 22:07:04 -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 i10si4267755edx.463.2021.12.24.22.06.44; Fri, 24 Dec 2021 22:07:04 -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=qKGCv+XZ; 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 A374E68B0A9; Sat, 25 Dec 2021 08:06:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2105.outbound.protection.outlook.com [40.92.91.105]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3E65768AF00 for ; Sat, 25 Dec 2021 08:06:31 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=apek8V+y0/qLckBaYJptQ3hcSWoZLlRzsyqs3/I/DGp1owZcY9tGG2D0pO5O2oQY2GrfrLdXGKC7L2w5MBerR7oOPyXUQQ8hF7vtLbZ6K7N44e3f3tNKFxDAsjX/kiKMV5D3wyz0hkQGgl4P8l/NIiAOlzd4zmVIgxY5gIdetcfrJtvotoVjDTOWKEeJkktiBjkUudTO/fZNgRAGIRgouILRRJ7iO/+ZvK3cDCYxHmHpz/b+Ygeg4KbTIxwgvuDeHTEe9TIsu6yZd6ipWZPcGw8PBVji04+9NTtfQA8d2VxoIKN7u4RP/Gr+mf+V8KsvQtbHPnIb/bEaajTpjiDUjw== 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=1P2Temmq1LD5SQTmf5R1ksfjZMTch0AtwOHkSQ0CGG0=; b=nxnGJ726mYIQ9nPFBuT0W/L35iECWfQXr0ybFgLxb/m88RqSVVcY8TPfEe4aK0urR70amXVEIGnewvKF0StvYFs7D9NcUvj1LFhwPRbn0zrkG8jlkSfczsM7Ex+u1s/gcKxR5Zl+PgF58lbnmrfcP2iuqTd2tcOoX7xoOIf3irO+OY6yLRGyPY3cQ0kzRR7fuOzq9kCs9UWIhmNPnIabMJFqrXXPj7IhLhqEI1d8NcHyXC+FEToBBWfpQaVjBPd0q4aOlVtduEOHKfyLzWefXeb5kxGuY1Y5dqBl6gx10USMbHlbk0Bx5VNowk8dI/yJxfkfs/Sa6RZQHK7aVZp3/w== 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=1P2Temmq1LD5SQTmf5R1ksfjZMTch0AtwOHkSQ0CGG0=; b=qKGCv+XZiNq1Krh2WihYDspGkBM9vRn52YWS5DX+LqdWGJmA3diOxyB3bsdBMHGIjhHmonUIUwKXLjP6Z3niqxRQhNNVdBYO+k0gXCYkzIDRJ7/Q1r1IDZy8ip2iazt4PmOi0R3TPPdMW0rBIGn+EcWQCEAsiKrhqEAAwffHg9Y13Gpaixh/VLnUlkHsVdkjOP6ow+9KonCuelnYeCAU/jJaiW55JNOzfZMoazI8YWJ5+TIdtLvhIPMadZwf1C8AeDk1dcOm3fYCgF+eya7wvXitBLNaP2Y9AvdhW50xvAWLuxlsHZX9M/zZUhj1DDbJm7oWhyDxISn1MKiYFxkkqQ== Received: from DBAPR03MB6664.eurprd03.prod.outlook.com (2603:10a6:10:17d::22) by DBBPR03MB5445.eurprd03.prod.outlook.com (2603:10a6:10:dc::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Sat, 25 Dec 2021 06:06:30 +0000 Received: from DBAPR03MB6664.eurprd03.prod.outlook.com ([fe80::8c52:d93a:8d07:9f77]) by DBAPR03MB6664.eurprd03.prod.outlook.com ([fe80::8c52:d93a:8d07:9f77%6]) with mapi id 15.20.4823.021; Sat, 25 Dec 2021 06:06:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 25 Dec 2021 07:06:13 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [dWMNv2QsTq+tW9mFx64cDa3Cf5XnztQK] X-ClientProxiedBy: AM3PR05CA0135.eurprd05.prod.outlook.com (2603:10a6:207:3::13) To DBAPR03MB6664.eurprd03.prod.outlook.com (2603:10a6:10:17d::22) X-Microsoft-Original-Message-ID: <20211225060614.2345147-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3affb2ae-c846-40d6-71d3-08d9c76cb19c X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JPWEVVi+qcp9vt2rpLnj9R86tma4zLgf5WM/ECoE5E5JUmvb9wwQr4GV97e+UpgsEdW2WzrGgCKW5wRjVNWbwaPD0TwYHND5RMcYH10MWeiIWCZEc3G+9L7W99/nZ6eciLsHPiVPaRPnvE//4bQOVh9Edl9juS05ge0xcrYs/oBU6OexWxzqD0Nksnku/5xSxpLCpS0JaFRmuAUIiAkNQuI3FKdkI2BzwGV9i8F5gFe8ZHTPnvJK9c9LA29TLlS4nfebIvD1EkGaeq7YN8UYBWiYzhfDWoAn+RtXxkxTPlV9L9hEzvavHBvPMq45FpWMHKoo++5M+XfvRqFMrUHBWehE/X1HUSIvvBel+K6W3MXnwsJmVmC7srDABR+ZbDA8eVUmIpVhXm2cQkd5LUQ96JQpIHQjpnpMc+ejdBby5ua9hxzisQME2JUCNMEauwnRyF65wtdREOBnD747GWQqm643BfCG4medDAHVmfGygzd0tSjl8kmnb1VP5DsZ+Mg0VupCWldzZJyBUX8VfPMmuzXU8DVa8UndEgIciCq70P9qFc/PDFUxgVgWdHrk3DbatjJVaosEsllY3PgT/DFAyXVesV0Ff0GgkFysl+QzS7ULdyq3qSdlXI4VfmLP7AO69NYvkkiaSKLsyFbtVCf90K2Z5YFMJG5nAmq4YIvBHNW8Is8KObe4GcHrxEkOOCNSF8u2imkQsJsv1uX/xyrVo/vtV8MmgMLFvC/zvmvm3Z9c= X-MS-TrafficTypeDiagnostic: DBBPR03MB5445:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tWapMtJ/sXEOHKKKU0dQ1X+exe67nAlh8GX1f7BmEXtp4gGcnk+jiDLQZllpvwa+gvfajyHYY4r8VX/7/N5lyoFH/c71ouSLRZ85Pd149IUF7VGDnv4t2djT3yaqIBa79XKuOwytf/m4sCBktnNuHANiN6onrj5SeMRb68M1gB+CwmL+voTmWJdQqLt8U/nsk9VyGDSvZohPwqltUMxwZcnE90+a5dt2WZO5s4b0eTjmXT04UcnQalBVmVpanXbqCfFLHmpGrp4HwLTIygPr0qJO37iY0J9SaQtzlVcJREtTXUEGrNPQgEG6/Xb+0sqXYS48QNkcDePpIqt8Mtf/EgjDvN/zK3BwvIIPe03L1NMXzLi4mMrFWjyJZjvu56ceHdoBaS34xACppMev0faGzMkj88cLazb79wjHMnvhvljIPap9bPUvwLaidkFKQtZOnvk5uY/16j7s7MTELei2TvP1BixxzqG7aL2qQP3FOhZT3XSF+wnyYPHINt0UdyYJ9fVp/+K5MO46gOY+8/NMH0CHnIPfvr9pazuAaMKkaNA6DMMfmVw5vYXenK9xOAlhxaroPScwnqc4YxWqtHyMXA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ObFDw58U2Wb0bBfXuYfkSOtYcAW3+7bP150MojybXzAhrNs8v3+IMyuwhSZOPurtxtciFOaHKCly2o12HcA2r5LgPTdItqjC7C5lwjednqG6wA1nYij3G/cFgWfiaoinijXWaFNqeiEjzaQfY5uAXzaGkqwWYSq9b9eHS1EXEMAfUvx2umAXkvd5TufGUr5CpibxBSmCBXXpwiCSir5NbU6aqZf00fMW8zfjYSZ249n0+9zDdEmp2tjGSfaXbe0JKrbplEsbPX5FaW2VVUTdJ2hxaDpGlsT0iiLnamK+pL0qmoqK2Q+cp1wacIvrqkxzXsDc/fTzS0SOaP+UpvaTQChwto8WAvxLzqdoEf9ww3dNY2rpZ41McULRSqSg0xXN0jpZvSngzyPiWIQSClvd+k3vx2X0P7Cy/H9TznEZ4nw309h2umX96SkSPngleVag+iTem/ghOlF+HU5fwX12Uq4Z7voc50U1DZHF5OX4QOcyg8Q3LHT+NffF527pMwml3kQOBSHQMvMcLrrt6Xgfb5aNeHoaTuGaWtcFnJT77+QuEY2lhakfXQRpeutfj4Ge/G/hW5Vy1l58BBO8cjmxyzBPgna5UUHx0qXzvsr7/lmS7rNIT3mTI3yK/xl6si2Tm2J4kqRE1ihEyFY0kd0yjCX0jaset1QWc2igACAAzAIoc7JcDvzXC3gBEuK5n1znTpPr827JjXq+yHYUngc7UutSGMzgnJZkOLEmKQYVuY0WhiJbqfzaeVwVsp1u28FQ87RowyjYXsjrGUfzYL2MiOagq58L2ci9/KlPR5P1bPAuoOsPviifc+zZ5SDaymLtJshdHSFE2OwvPzE5C50BEShNkp/aNWlIn8cBuR4BUpheqQF84Hey+oq/oxQS0e86IOPFAbD9tf5kq9d75EL+bUc6VSi1WfXB7heUBsoaPXYDJ7es6O1OJISha/qZWqdS74GK9K07Zm4FbEQKyE8ovw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3affb2ae-c846-40d6-71d3-08d9c76cb19c X-MS-Exchange-CrossTenant-AuthSource: DBAPR03MB6664.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Dec 2021 06:06:30.1582 (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: DBBPR03MB5445 Subject: [FFmpeg-devel] [PATCH 38/39] avcodec/mpeg12enc: Partially inline whether codec is MPEG-1 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: S/9E/lGSAWKX MPEG-1 only supports 4:2:0, so one can optimize away the checks for whether one encodes MPEG-1 in codepaths that encode 4:2:2. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 1437ac421c..97d497d619 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -776,6 +776,8 @@ static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s, int mb_block_count, int chroma_y_shift) { +/* MPEG-1 is always 420. */ +#define IS_MPEG1(s) (chroma_y_shift == 1 && (s)->codec_id == AV_CODEC_ID_MPEG1VIDEO) int i, cbp; const int mb_x = s->mb_x; const int mb_y = s->mb_y; @@ -789,7 +791,7 @@ static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s, if (cbp == 0 && !first_mb && s->mv_type == MV_TYPE_16X16 && (mb_x != s->mb_width - 1 || - (mb_y != s->end_mb_y - 1 && s->codec_id == AV_CODEC_ID_MPEG1VIDEO)) && + (mb_y != s->end_mb_y - 1 && IS_MPEG1(s))) && ((s->pict_type == AV_PICTURE_TYPE_P && (motion_x | motion_y) == 0) || (s->pict_type == AV_PICTURE_TYPE_B && s->mv_dir == s->last_mv_dir && (((s->mv_dir & MV_DIR_FORWARD) From patchwork Sat Dec 25 06:06:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32906 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp8686000iog; Fri, 24 Dec 2021 22:06:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJzhgC2GpIFXcaaDY+eb1/Uu2Ml+No27szq0qVtlSi7sWS1ktzOGmF7WHRgTKjYcLxjAh2X/ X-Received: by 2002:a17:906:c1c2:: with SMTP id bw2mr7596784ejb.499.1640412414352; Fri, 24 Dec 2021 22:06:54 -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 fy1si174440ejc.625.2021.12.24.22.06.54; Fri, 24 Dec 2021 22:06:54 -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=kS0wQDrv; 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 A57A468B0D1; Sat, 25 Dec 2021 08:06:38 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2105.outbound.protection.outlook.com [40.92.91.105]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9337368B037 for ; Sat, 25 Dec 2021 08:06:36 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WtYWxPJl35+tV5sQ7DRAdd57vi4u/EomEZGZwSO9Usk1CVB0j1ICBaj5zJC7rBtX0OpyVAXoTNVCykCJ9fTDCgJHSOar2mx5hwMRQjAsfYHSHXMEoxZGBmNO65f5z8L/5VPnJGJVXZvW4/PWk3sFy1FcVaIfaK44HJAq6qdnWYdVirCzzel7xsRDiOEwpycZQrArAp67lIksXawgrUQ48j6yfi62OixHJWxTOKlNoLaRKvc/LGmCISvMhz7KP2Hd3ozR0gapuKktNWwvDDMFejLmLreVtMl8NWMp++pHUYQbXCdIAvSwsGKv8enYF33INYokqJTRy31JaEExzR+rhg== 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=UUkkVq2g3BHvQnHwIgkMe4RLqIuIeRpKFcACBvTCnxA=; b=f2rcy4mXATJoojqzhDazZMbDhUT8uH30AjSvhTzkWYqyY8pIpLMFXePAefaPXqsMeffaWYUYKGhvZNZCqJeFxszWNfySPn73PLRgQzHON7LgCJc1d3KA3vj7iGYDod4Yh7L9C8oV8E9gwnKrQYTFnR9NJjW8LftoN4+1pQ/khXffQFWrxq7EXPFUGT3ck6o5+iM6gJdroMT8vnmtWat4SWrtIwRSolmxfSeOJBLIjaVIHW1Hj9kDyqyqELUF36qsOjS5y2HibDI+WvoYfSA9xyrr7tLHrbI8pGCmoE6LYkLjOESyiHl+ukDSwMYAuF/tlGz0CyAMyYwo6ZHQn0ordA== 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=UUkkVq2g3BHvQnHwIgkMe4RLqIuIeRpKFcACBvTCnxA=; b=kS0wQDrvNgbQPAgh8NJjqsnmnxr2yri+kG0HyduIXKTYIx4AmUQ2k7QFig+oy9l+hgjKIYjCehCB1StP9aDN6Rf2RqRisLgvBW07BxqyguX8OvtJPBnkKFE8GGTuabVoyDMlwUOSYq5Km4wf1C+mEr1iW4QBDprSbvdVNr+clXxef+UvJqNl77atzEXqEaOeGn5EOcw0aHOm1Qu/BvIvZzJX7Mwp//4lAueVVcMOg1KOnBFFTlpjLpNoqb9bsuvoopt9CFrsugNAVdhmD6wthE71EEnd63ijpf8pUxFqwaEofpoPwsVoBBn1DFZh7VmIMXGz86My2EfNm2TsPb8ppg== Received: from DBAPR03MB6664.eurprd03.prod.outlook.com (2603:10a6:10:17d::22) by DBBPR03MB5445.eurprd03.prod.outlook.com (2603:10a6:10:dc::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Sat, 25 Dec 2021 06:06:31 +0000 Received: from DBAPR03MB6664.eurprd03.prod.outlook.com ([fe80::8c52:d93a:8d07:9f77]) by DBAPR03MB6664.eurprd03.prod.outlook.com ([fe80::8c52:d93a:8d07:9f77%6]) with mapi id 15.20.4823.021; Sat, 25 Dec 2021 06:06:31 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 25 Dec 2021 07:06:14 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [ZO5PfvvZ9CclUKvNeMGCsk2jb+6IsEH7] X-ClientProxiedBy: AM3PR05CA0135.eurprd05.prod.outlook.com (2603:10a6:207:3::13) To DBAPR03MB6664.eurprd03.prod.outlook.com (2603:10a6:10:17d::22) X-Microsoft-Original-Message-ID: <20211225060614.2345147-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 25b714aa-9bab-4bdb-59ac-08d9c76cb23c X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhlhjadYyK+ePWStyXeZJo2lNLge5dmtruAVHrq+iQACQOHWmg5lb310QMIdnSTGPSCWJ29yddJREGieza+0+UJJLTEESER2U/j0w/B7qzktRxVCZ/FdZ/jRuljkAj6Cm7AOwIOhaicvjj/Z4/8/Kq73HR95D1CUjl11i7dF5W0L9wTy3r7VlZy3BZdy/ls5Sx+1WjoxGDWh1Qea+eZS2su0QEbZw5o2TnDViLu1s8F1nyc9jXcLzHH4YNSYmSEylV2lpTeJnQdTU6kVEVtCIwvFfbkF5OQo/9LrH7zmzW+tQghlUPoABi7jDZOMWR5HXjsMkmtSnvTeMO+i2Gdc3LxssOGiAWq1mCS2X+mc0JBRo0JfN7ijOspqkTM2Shp8IOMiLgOXucL+C87OpHRLq5Qt8cBV5LvGQYf/EZ51pzy79+FgOU3lq0FylHZ0GAvKddG/FinmDkYzAqcYS7Bl0kzxH4lDU/mk8fPfeom3JWXLyXkwf7K9LkLXccewdPcTJXVidO/dE29Jymbsk4ZWmNWI3hUH07Rd/f/4+rKyjhS9+Wr9tIQf6ppcAhscVF6VgRY8lZzTABd16Y4uVLYAeAEUx9b0jDvnaf9ZT2pUkKPlXZzN83wc1mmte9pQ2vvdCd+A2RgYlh1imsURMm5ONqZT7QURUVZEflVPS335mhr2f6pigLiU6CdgjE1UB21vRaFyuWIUQUKF2o= X-MS-TrafficTypeDiagnostic: DBBPR03MB5445:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y2u9t5MepwqZv/ZzYNazNRyKfz7N7Yy6L0ZViW6PixSJWP51jFETPbeCl5I2gYwg0LJu66mq9oR6ZUsQXWSTvqZ7E+Er2NwnKbDqHRmAiwFbrqCbNViCUWGvo0M+r1qhG4zqRc+iwZ5pXq+BJgx3E1Lo+SAowVyFLN6FxfZnN5tP2OpeUg6VR2vw1ZEFNMqHEOW1261Yn2/SgqtQEiNnO/xuX0FUOWFoo0QmAuj+QVVTpSjh0ap/pu30nLvtpRMuQg0Y3OCGLq93kYEOHtOUuzZ173LtsbEJ/v2X2c+OI0xefaBnh8I48mNljCQbUf9FDLM72x72tUWfsJ4ifjY10PRiImBMXd9JK/F5/gIfOMiYQmxdv1ayVIbPJM/kqIPxcOWGZT4Drc9gXRynCDYgt9bi/dN/pAHM1tAFuDbgxyzj9Sr3ZfrVoGS9JL6l5b5oNDws0wAwP2St3oRk8VP0Q+S1f4R7BXkiUtPTtQ9tI6pDkdGwrvUhUzymGu1h22vo3RhaUcLtsW8fRO1z8fc8ocMKEt7goPkUqDxJf6D53SiXLMjW+zgiegNhCH0mUq2lNa6jTXg9ykDto5Z7992O1Q== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: x1IFj/lQn9ucOjxwp1u0jGMpj+EseMfdH6/OlDsBR0vgJuetwJucjcNjOz3o9lXj2/Li3ReR+1XfeKzx8F8MBkyR0oKDlP0ZGdir9ATsxGnYEyLLO9YeQLcSYS4his+JHdXO8l9raM6lH+mp2bHjaZcfqsw/UHmm+qyfya2yJUx4c+aqKX2bmsBOUsgmuAjmunR0sumsyfjHnBS4wJnzD/CGQtLhG+D93cIN0WqLe8s/6EOYixK96zVqVI6bx75uk7eLh91LcAbHERq5PXpQLqRf96vFFSoI8QWE9mFJauy/qnt6T3x2SVtal0/l1O/uXY6Is8jNnSVQQ3gOutf1WnuwtUxcfsuJ5I32tB7hQcM7qL1aEJCaJNWlq5oOSDAWaq1/dEHcRh/SoQdyw1MGnfUvgyachxC2vP1Yoz7JHtHYda1xZ31fC7/Ri695Wnh4ZerP5qf5sq2gVBNUo6tQuhMOCmJFAOH/vGw1rzf3x/d3WkbiB/rI8ZxTin6j6JjE5aQJg5vIxTvMsejiIssS7G6dyj8+lHEmggGVvDnS7c7axkUZ6BLbpfvz7NnkEFgi8wLgQHpicW4oKWDvGzwXPv9Daoh0AKEmkiMreUP58h24qvWT3+yA+KsuCBkTR00wlqJUrbBUGscb7iMpiJRKCIOqcxu056AvTPBLTfxFLtdrFPXy4Bs5T5Q/UTcBSzEc67XCGIc20jmpUV6nh2Z6WqceoNQrHTswJZdRTH7CYXx1Fi4tpBSiG8q74F+Av1cHlsZqlaMZOKmlv4Er3ntw4CtLLPK0fnwNf7KbB6XM40hy4zCSCIdatCoWZWGGg/3Dxv3JacXuKkAQ0HHMFvnG3k0g31iNCA40jamxrWYJ+0Skqcelpr46i6kOEBTYEoqTBCok7BhlfklQF3Y8yBbgED3T60OByPOcJufijO8rS7Wu1tVZnvPWng+ejdeeSpXXw5me1iL/gBr+6RWL2SDAkQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25b714aa-9bab-4bdb-59ac-08d9c76cb23c X-MS-Exchange-CrossTenant-AuthSource: DBAPR03MB6664.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Dec 2021 06:06:31.2830 (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: DBBPR03MB5445 Subject: [FFmpeg-devel] [PATCH 39/39] avcodec/mpeg12enc: Inline constants 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: a2J2pTUl+dY8 Signed-off-by: Andreas Rheinhardt --- For a long time, ff_mpeg1_init_uni_ac_vlc() has only been used to create MPEG-1/2 tables and therefore some values (namely the number of elements) have been inlined; yet nowadays this function is also used for speedhq whose number of elements differs. So it seems to me that one should uninline this value in ff_mpeg1_init_uni_ac_vlc. libavcodec/mpeg12enc.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index 97d497d619..e28aa809d2 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -621,10 +621,8 @@ static inline void put_mb_modes(MpegEncContext *s, int n, int bits, static void mpeg1_encode_motion(MpegEncContext *s, int val, int f_or_b_code) { if (val == 0) { - /* zero vector */ - put_bits(&s->pb, - ff_mpeg12_mbMotionVectorTable[0][1], - ff_mpeg12_mbMotionVectorTable[0][0]); + /* zero vector, corresponds to ff_mpeg12_mbMotionVectorTable[0] */ + put_bits(&s->pb, 1, 0x01); } else { int code, sign, bits; int bit_size = f_or_b_code - 1; @@ -746,8 +744,10 @@ next_coef: put_bits(&s->pb, table_vlc[code][1] + 1, (table_vlc[code][0] << 1) + sign); } else { - /* escape seems to be pretty rare <5% so I do not optimize it */ - put_bits(&s->pb, table_vlc[111][1], table_vlc[111][0]); + /* Escape seems to be pretty rare <5% so I do not optimize it; + * the following value is the common escape value for both + * possible tables (i.e. table_vlc[111]). */ + put_bits(&s->pb, 6, 0x01); /* escape: only clip in this case */ put_bits(&s->pb, 6, run); if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO) { @@ -1097,7 +1097,7 @@ static av_cold void mpeg12_encode_init_static(void) int len; if (mv == 0) { - len = ff_mpeg12_mbMotionVectorTable[0][1]; + len = 1; /* ff_mpeg12_mbMotionVectorTable[0][1] */ } else { int val, bit_size, code; @@ -1112,7 +1112,7 @@ static av_cold void mpeg12_encode_init_static(void) len = ff_mpeg12_mbMotionVectorTable[code][1] + 1 + bit_size; else - len = ff_mpeg12_mbMotionVectorTable[16][1] + + len = 10 /* ff_mpeg12_mbMotionVectorTable[16][1] */ + 2 + bit_size; }