From patchwork Tue Apr 6 05:40: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: 26770 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 AACE544A9DD for ; Tue, 6 Apr 2021 08:40:46 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 96116689D59; Tue, 6 Apr 2021 08:40:46 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075058.outbound.protection.outlook.com [40.92.75.58]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A3968689A8B for ; Tue, 6 Apr 2021 08:40:39 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aSOn0sG40nZuVcOFw5wV8G7v5SJZQPUJhgvKL9QRXARg5hQvovubY4BXAq4gAxOkLWKnGkKl76GLgO3Ls3WbmGrEUsW27n0PLcPckvMe3rAFdlAObvcD5wXSpxo7ur+BD1DtNgBBP22RHWn7dfjCTG/vzpExmOAVgoc4kfcjGGB3+qG8dlYROqVNgjr5UKK5TT5YDLpEPFAehBM05qxOsfx6vlPSuQwhlvOgSewUwPyt6Jh0fhuHsEfkHivf/23mBNg3idtq7bgfg7M+EtYtDrrzRzt/A4MsFZRLCtLFkq5JF68DUh5QbnIZ2YXzqws1WL3Oa8QY7FQuniZcVb/0uQ== 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=6m8QYCbGvaNvEc4LhadbWXjp9oLIxutdqymWkG27E2g=; b=Umpay856nWfIhK4IpqrQNbfMepzh6Rl8jfMqNZfQicO5Jqn70s7Bw0tUyQdbbXqg3BpS+JLPbCNIGenPd3uga/RE2WeGI9p2vyqFrZTdGSHm85UNJNupiL/mbleLRo8dHWBIpN/swoWmgYSkHTaLr75ibz7OB+r7YWmPvN5yJ17JVlYx11m+ks7T7FBCnkHu3qA3D1E4kGGegg4ChjuFu2tMzqiQse/PM2mbx6miO4e9Ciguy9VFiuhzNO0oihlldy8EgxfaeOXKZ4kwYF+rM3LxKBNaqyutQcUxRtoEoyuVCBwWlRVNv6QF2xmk2DmQwmUH1cIs9mhkTWd3k9CIbA== 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=6m8QYCbGvaNvEc4LhadbWXjp9oLIxutdqymWkG27E2g=; b=NIqoYSIq3CPbKOeMIksx2cf70Kvez7GafLpOqUyZUZOs1+3K3nY8vyPx1AKFyhHbc4TtaVh+v7/u61xOAQo3sS0n1h59dwY3n05NY5lgaNAhcquXa6zUY5+DwFc9Eb0KaR8Wf5o5VG2yOJzYTq+sSRwji+p0aUcPXzqmbmGkxXl83Sc1KkywbsgAMOCMa/HNxW/RPbNs/M0+5HaIOa66Rfa2UwwEfDNPnNjM2Amvz4RLkHS5qze04D07WIyUGvfnE6B54X88tsF6NhAElsXttQH+UIIjuXlQ1zTsdosHSyJgxaOqoSXcCjpIVBlH8OcPDW7gx07jEQ77Aw5Ovo/39g== Received: from HE1EUR04FT014.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::51) by HE1EUR04HT077.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.28; Tue, 6 Apr 2021 05:40:38 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:7e0d::48) by HE1EUR04FT014.mail.protection.outlook.com (2a01:111:e400:7e0d::164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.28 via Frontend Transport; Tue, 6 Apr 2021 05:40:38 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:D178276DE311E23024095E7A4C6BE9CFBB3D291E335FD68B8F908F2B481AF2F6; UpperCasedChecksum:4F7021E5786008BD9D7D14F0DBA54A8D716FB6F2E5D97D6C164FC07E78AD9751; SizeAsReceived:7607; Count:48 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.3999.032; Tue, 6 Apr 2021 05:40:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 6 Apr 2021 07:40:10 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [SK4k0mD9Xw9yyyITx6I5wcpbU9+E5Jav] X-ClientProxiedBy: AM0PR03CA0024.eurprd03.prod.outlook.com (2603:10a6:208:14::37) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210406054016.452174-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.137.96) by AM0PR03CA0024.eurprd03.prod.outlook.com (2603:10a6:208:14::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.28 via Frontend Transport; Tue, 6 Apr 2021 05:40:38 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 6169d206-ce96-4c37-0954-08d8f8be8243 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSbyvoxwwqtt9ZF5aXTIDASFJxCeCCX3MJ+71gqSc+FSTFZJ/CXghpO8jdt+/1ICq8KkWa4hSHxazcIaHSnuezJEnLNZAG3iU78hmi/XNnWJV5HhRRvG6g9YSVdcGDYLO67ELS22WY34gJ5SPpa9RBOAuPTzlZdH3hZqgc8kYL6Vmdru/00P4zAlLBYevtcm+VvH0V5IuVzSnT7gB3iIeyXpUld4EykTBynFooEnbLoRd5nAHJpiWn5DEady45BL56tuqq0ZZMAe8/wnjkwMOyAz4jUKZKb5rkJoCSShl+yBuQhl3sT+4xowr903l8O1k59CxNaPEU1ggrj+o8OkC1SZKdfm5iFH/cjfSqmq8VgoGOgXDC6dGoF/WW0QQcDchKlEQAqPLnyPLOrMqynoHKxVJEb8+5crUACM55wB2atbsJseAB3DDRVrEoa2z/vKqWmCmcvAsyidO4laaAafi/xahmpHct8L8ekZBuIlEpXOuyLNJlrmHPBoJ2EC6/iV4FPCHKiHErPP70NGFzQI/75u1hPWszejK0QoG5CHwqbkrzrnIrOLv+hjHYXkawd/qMDnIX9Uc7ZGaLDIy9DLTi9PH+7u17IbJzG8U8SNWN/bHXoo5yIflyt1cQJgx9Cgo40bVrH7F7cuTX8oBylAKNkM8mpufkYBEYf1PNrIByHAlFbJeugn6OZy4k1K89dqx/0RvUrfEBE2qd1d0sVrbk0XpfpU517K8Uhi8D55cl1ywPEWUOyGBBX8VskyycIvog= X-MS-TrafficTypeDiagnostic: HE1EUR04HT077: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2F2qIg3S9wjfAx3+pgSUHMAG5Hvvb6kdmJEWAUy+FuIJPqu00GE/hexr6jydUaLHCEF8B/eRNQPqyrJHMntZHfgTAInxQe5+LT1vOmf/ynB1mzR+g1c/u4EPxh4zL/D/GpzBm/XrBj9B5ceGpWC9rUyxzHjvG3kXp0bhVZ8qTEQC4Tvd2paJgLOtqHAnWh5J6b1IeWFQ3zp23a6AVvq44+wSedlfRl3AHtXZNFvy9WzaWgBVtJnqJBVo+dinUpPtQz17DLlZIFVhUhPqf9vgZ0PqKJ6n1NZYD5y57IfU9GfrZxyCi5qJC2AKsmRjUhCB9vJZdeJ1/c5KTu0yGv9YgJRx9Iw0MogZ11qDc58/g7njApH7gZdBZVB7LEae9Pkyc0erev4Q4ZyFUwsfup8arg== X-MS-Exchange-AntiSpam-MessageData: H3uLqB7lBaYJQqPe+ZIkEwIhdReJS2o8gOwvvsBTBCqZlCqsibLZb1R1nYysGkkZH8qAX8S40IOKia0b1M0IXeRPpWS0uTVc53UdZRwWSIFpmxom3zvzerTLlnIJMZHLN5EB7Zl7MdJubpoLSqX57Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6169d206-ce96-4c37-0954-08d8f8be8243 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2021 05:40:38.7470 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: HE1EUR04FT014.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: HE1EUR04HT077 Subject: [FFmpeg-devel] [PATCH 3/9] 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 can build the AMV encoder without 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);