From patchwork Tue Mar 30 22:34: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: 26668 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 49256447F01 for ; Wed, 31 Mar 2021 01:34:31 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1EBCB68814C; Wed, 31 Mar 2021 01:34:31 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073088.outbound.protection.outlook.com [40.92.73.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CC973680494 for ; Wed, 31 Mar 2021 01:34:23 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KA7QnXcaB50jhFFqiu8aJSmXgCSFPEqMrIuGNKxOfESInigBa6OasF/xxxKbqXXe3yJbcBQ+dLPKtkS9TGyhtOvmAX5R85bdesThnEguY9yVt8rG9KmOYZ3wwpFhN8Je2I1Jykv7mgQn7nkxFgFmmY113OOCTrAC9huIWMDxGBuG1UyASnXPWcNgy0X7wOaj+RRbA2tAweFRG4QHV6Tq8lGnApIEmRvhq0bs2Vx/mBt+5fZoJvIGtwEF2BHqaJ478wzzwAUGWwoZ1Ods9vGu5UQLuyPwT2MSOcOFlCFTL1wEX6ekcMeyi1s5O+4gEMiHeVxny3D2XB7jESCK5FVtnw== 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-SenderADCheck; bh=1A9hcMhIINf8Ru5nMMQckFLdE0fWKqunj2Mk4i5oHDc=; b=bofdVEo6jyw72LbQVu54oWqqsd+fEJOMNwOiKM/PvZqwTA9RhSbAu3Dh1wQQZl5IjmT/XlP9Ew7lWOgKmdLqDI4gnNogIaDXCTd/m7WEzyP5LfH9NXDOsTEk9ChazEyDfP6tfDK+jzFlC+EtI+13ZePNWAbNlgOoJeg1+7pc0Skr8GZ4JGpPYDKX0YvAlc8kwEjn/q0f6b91UpFFeg+RcDfLjdYXv9ogYgwDldK4sIjlpiGrSCrfoeMDG9D/1cKPg6rJYnF68beUOoldW37W8S6Dbu+NFW1O5vBxqVokaU+SP6fQOT0ibzu1DvbYh2XXPEGFrhmwje45caYL57/H+A== 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=1A9hcMhIINf8Ru5nMMQckFLdE0fWKqunj2Mk4i5oHDc=; b=mthiTz54UiQTy84QWXRWrPDU6FbxKSireVzwIGNgyAupddlDXl54fE8wPbHBTSDVfKn48Q2ygtHoIp4c9skAmgzk01yohzILRsOhtIHw2/S0eZNxI5lWa4np+pFdrAH5DbiQAIKkdVVwEtx47vOZX3ZLEbHD5DrhWevKNU8WI+JBhLL4zlE7YF+cFEXE7+2pF1tjni6zIv+e+s8KM60f+A8fDLFS8iOaHcojMjH3+VVmlpUaVYA9Gyw4rbRR3lqFqHiZ3WSbJqtkkYINCkW+EW1Wt2OLZ2BjMH8wDmYMmQrzh/QZGAR+V5rPnp5t//ihdW6JVzElJsoHs+J7zxRaLA== Received: from HE1EUR04FT029.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::4a) by HE1EUR04HT071.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25; Tue, 30 Mar 2021 22:34:22 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:7e0d::43) by HE1EUR04FT029.mail.protection.outlook.com (2a01:111:e400:7e0d::288) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25 via Frontend Transport; Tue, 30 Mar 2021 22:34:22 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:F7388A2E70D5B173E0A8C0EBCE3CC68FE328389B190C694290B7F4673CF2A951; UpperCasedChecksum:FA6297E1EF22D7909A27D89A1CB1D12ECE3BAA742AE972FBA3D3BD0154D4E1B4; SizeAsReceived:7384; Count:45 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::8128:5de5:4e94:9a21]) by HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::8128:5de5:4e94:9a21%3]) with mapi id 15.20.3977.033; Tue, 30 Mar 2021 22:34:22 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 31 Mar 2021 00:34:13 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 X-TMN: [b6SVx6HB2e2k0ydw7Na71L9pBWsAThbm] X-ClientProxiedBy: AM0PR02CA0129.eurprd02.prod.outlook.com (2603:10a6:20b:28c::26) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210330223413.1192826-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.137.96) by AM0PR02CA0129.eurprd02.prod.outlook.com (2603:10a6:20b:28c::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.26 via Frontend Transport; Tue, 30 Mar 2021 22:34:22 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 45 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 554badaa-57ab-4dd5-acc9-08d8f3cbf719 X-MS-Exchange-SLBlob-MailProps: tBYDyRQCPcntoCyaKijSyt42l9wfk8+83bspQn3GrKFZvpNy7/h47BtlOk/dpH0QAc0sdsMwW5vvX/XRdFS4uUa2gjJ1mHV6MoCarp4oDPJZXH9QqD3FWKKSu+tUhejYqYZfFBMV+hL2rIVS5azxiQp3TbJsxGI8PGWwTY249GFphtJHVDQhjljcvfpCukIBzAK0XhJ3IBMxDNSmBZth9TZOY0UIPJ3G01sPPW/+m8k3X12h7U51io+850wraKotuYKoruBthCYtPlKxxgmWreLAiekIxGC+djgaVYguXqCYBRPq1Aozu2zYMCtTBV8KBEyPC4jd94Q4oiZ2AJdiBX3cX98dG2guflLavJtXbcz9gpLLRNbzPfJbzwwL5mq6x4G9sl9Gf1A7UWv/PKl7nBS+lJ0jdCoHHWAAfhFFvPrP5Gf5s53oTyunQNWt1AT/iyhpXJSP9eK+IQrMfbZliuv2CA1IzAFjixDwD1aZ6cmXuqbtNuyMBZ0JPPQPu6dd8zmmebegIh+qFN31EjS8peWxkNkXWbrcEQuGPvg41ffufivSsB0qjcR2KK3IIgbAi4Bozbjyb50Nm9k72iv1JSzKgAs+VpK1ERKTCGIGYrNmVAhPzJVkdAWRPO0HO5Vw7hPKozpJHCqcPmBBID3lrg0kHbl3kPHG/ccgMnIKNl1ieHXMWfWujBrIUgPBb40WCbQtnO+iDXaysYVZx7T+ZSsTlPlGMeFEhoO2QTNYfOsPTnYRw2Lgd9tj5Mt9cTAq2bS/7huLgog= X-MS-TrafficTypeDiagnostic: HE1EUR04HT071: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xSiRKK5miOPKoMOZzn7sPQSoTOys7v5BM8ZEOgdjoIFq4O/OqKcEZ/zalZSn0m5NJbuOOTdBLj9ONjNpGZ6YjOLTTEuQNj4t9SuDgofkrs5/OAWhWG4SyiiuQ0nHpX3epCpqbY+Wf8rOyO746ttqpiKXzxy90qbJR4uRJ+O1VKut6ohNii9Ea/YVOpkbpEakWP1MDaDv37tZbBEZ4pNN3E8Pj71w0diGwYkuiit4+g+JeuotJBK1e1JyZOup4b3D6Degxhb8ZQAaACvqDzwgNL6BtRg86yq9nVMu8xesveNdPgqbxpTXTjkyp1QquOXYZxt4BYM2XXKvG0L2bSHXzpH/GNcpn6HOOoP9lWmgKaKSoRkAjMs+y4YFYgSPHry5pl+aTXZ3Dhf2b34uhAjMow== X-MS-Exchange-AntiSpam-MessageData: p7Brm4HPo0kIlT/KTp3ZJF1m6Xin9RmsmfzFAA6WSUrh7QZ2R6pHwjrU57SFDcCvdhbr/QuUqJdGBP+Y3CERNyfVcBE4EzrXzcpj9ZmVCl4I8dO7NxRXTaBPKYLI14cMDNjk4VM6cafTrdHtxUgj5Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 554badaa-57ab-4dd5-acc9-08d8f3cbf719 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2021 22:34:22.4060 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: HE1EUR04FT029.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR04HT071 Subject: [FFmpeg-devel] [PATCH] avcodec/mjpegenc: Remove dependency of AMV encoder on mjpegenc_huffman X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" Using optimal Huffman tables is not supported for AMV and always disabled by ff_mpv_encode_init(); therefore one the AMV encoder without compiling mjpegenc_huffman if one adds the necessary compile-time checks. Signed-off-by: Andreas Rheinhardt --- libavcodec/Makefile | 3 +-- libavcodec/mjpegenc.c | 9 ++++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 33a280cf69..4a597f727a 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -199,8 +199,7 @@ OBJS-$(CONFIG_AMRWB_DECODER) += amrwbdec.o celp_filters.o \ celp_math.o acelp_filters.o \ acelp_vectors.o \ acelp_pitch_delay.o -OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpegenc_common.o \ - mjpegenc_huffman.o +OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpegenc_common.o OBJS-$(CONFIG_ANM_DECODER) += anm.o OBJS-$(CONFIG_ANSI_DECODER) += ansi.o cga_data.o OBJS-$(CONFIG_APE_DECODER) += apedec.o diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 596b7544ca..e5d2e24d66 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -65,6 +65,7 @@ static av_cold void init_uni_ac_vlc(const uint8_t huff_size_ac[256], } } +#if CONFIG_MJPEG_ENCODER /** * Encodes and outputs the entire frame in the JPEG format. * @@ -171,6 +172,7 @@ static void mjpeg_build_optimal_huffman(MJpegContext *m) m->bits_ac_chrominance, m->val_ac_chrominance); } +#endif /** * Writes the complete JPEG frame when optimal huffman tables are enabled, @@ -186,11 +188,11 @@ int ff_mjpeg_encode_stuffing(MpegEncContext *s) PutBitContext *pbc = &s->pb; int mb_y = s->mb_y - !s->mb_x; int ret; - MJpegContext *m; - - m = s->mjpeg_ctx; +#if CONFIG_MJPEG_ENCODER if (s->huffman == HUFFMAN_TABLE_OPTIMAL) { + MJpegContext *m = s->mjpeg_ctx; + mjpeg_build_optimal_huffman(m); // Replace the VLCs with the optimal ones. @@ -206,6 +208,7 @@ int ff_mjpeg_encode_stuffing(MpegEncContext *s) s->pred, s->intra_matrix, s->chroma_intra_matrix); mjpeg_encode_picture_frame(s); } +#endif ret = ff_mpv_reallocate_putbitbuffer(s, put_bits_count(&s->pb) / 8 + 100, put_bits_count(&s->pb) / 4 + 1000);