From patchwork Thu Oct 20 08:45:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38852 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp46207pzb; Thu, 20 Oct 2022 01:48:12 -0700 (PDT) X-Google-Smtp-Source: AMsMyM57+f/t0E/xUkgvtJ86f/YQ+e/mMPg+AkE9nUXMaFt8beeDenX4hGiZkDUsUv14TNK+XYMP X-Received: by 2002:a17:907:3188:b0:741:4bf7:ec1a with SMTP id xe8-20020a170907318800b007414bf7ec1amr10307941ejb.448.1666255692260; Thu, 20 Oct 2022 01:48:12 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m10-20020a50cc0a000000b00458d94f1a45si14435471edi.413.2022.10.20.01.48.11; Thu, 20 Oct 2022 01:48:12 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=W36iZLNl; 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 751F068BEB5; Thu, 20 Oct 2022 11:47:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2040.outbound.protection.outlook.com [40.92.91.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E597F68BE13 for ; Thu, 20 Oct 2022 11:47:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=merSqPfVq5eOClsotqh4JkdGvEoMXIlCNzt4TikVyrp9GOxndhubRLtSP9VJfDKmfA2Gi4x0AKgtIRGGqkS7JxdBAyAWCsxVYsmyjnTYLyROaxeNIeoSEQwxjr+GlWzrQZ7bZuOMmppHLS10POyoBXSTOUMEOC03pz2gPdeogoaXswUA5SNWXG6HD6csW2LlDHsjENmLVTvnNy9fGnbLcwBdU51t3BKynfEgUQK4wEV4Y0GBkXUNldIEYxKvtcUk8Av6HQHwuOJylfwhcFcKXjydm/k2l/s3FiDJWpvq8m5d/S/yXlSQWORp0EqfuQhXf/kElUUv4jgLER5scB+YIQ== 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=3ObfPsM0/oQfifIw1K0M8oPtAv9rfHi686e6v/DE9Go=; b=dhwxXyFAdCIFSW+WB4jRdQVDGIryHz2B1wSJz3EMXT0USNNY/64EwlTWhJelmc6k/xyQSGeDvsl9GANapO2OVkuz6rbqnIj5iWcZ0DyTKmrVnMmx3WAIw4qNu1E6jtFtwobZdyHGGqopdm95UJTgxDwWG7etsGNWDhChfIrkPzVDM8kOF7d55HYMMy849B8sR73JFiRAc+bGomFNX40SQLUZYJmD7pyoG7kU39R+mNRnxVi/nR2eRqWjGe7bVe1NkL2zCMZXflZcANoqRbaosXM7/9sJZ3yKrI5G5VnYzFJY3z5Um7MYaowjoxS9pMwD+U1agggjisQB70zlVlQCKQ== 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=3ObfPsM0/oQfifIw1K0M8oPtAv9rfHi686e6v/DE9Go=; b=W36iZLNlXdqLOnAFUt0xi4tkBHuqjwkOj6+O6hRLfZWMJ73PAneIQQ1+vJiOuxoSs3MJcctUg/10Xoi7YL3BAjhy3yrKfF288xin+WZJpLJPDJKEgCCYqlFEZ+h8mZvJ6cGGfc0DztPaS1zA7B1s+JJMW2WfOil+6I2dXF+Zb3ytSottzKABWVt3qo+bGqdMf4/2Bew4S2GOpKtL4/Mv/q6zfZnDMYu+2rnIhxnczwiDe9eXzjZmLD1c7ixgetmQvoaiB5ytM6nzzigaefNExjebqdmA6XnA7YdN1qWI16VJ80n9nxmAclRdClAR0VcA0V+fIvK9b/Pvi/9Yb+QKDQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by GV2P250MB0825.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:aa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Thu, 20 Oct 2022 08:47:05 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Thu, 20 Oct 2022 08:47:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 20 Oct 2022 10:45:36 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [gIZ29ynX9vVMIcZ++hFruoMWpFt13+zCRx2SYQ1hV2M=] X-ClientProxiedBy: AS9PR06CA0774.eurprd06.prod.outlook.com (2603:10a6:20b:484::29) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221020084540.2378553-17-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|GV2P250MB0825:EE_ X-MS-Office365-Filtering-Correlation-Id: 0bd52450-7b4e-4c05-7d25-08dab277aa44 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqqpqVHbY8r+ej275oS7ZbBgCH91cB8Z1lQ31jsBtBvPITrtQuS+vjuvoHlwzPZq3dVzrbM5CAi1wTNC1CPXy6P1WYGJWg85noUcDbpg7ALqTptD8k06kFZD3CdJUNKsX041SFhHC6DotzRPX1tkOua19AvMH2AP8cFpeM3r54ycsSbqWNH0akuOzWDB7iosYFm6sWGk3n9LMjk1NtPRchT6QWKAG7JEiQ3YAJpSzzT8ydam6Mcf2dyc72LaUJQwGcj6B90QrhZ4xHs7dynhncCqekPSn0sKHkhp1jXJQkYUsDr7CTfVtQihFba2g8V3mz6tv1kmj1eAqFDyAtvhg1GF1bq28etq3NWkW+rCGvbsXygmNfbILwUVDH7WMU9Bq9zcF5p6RsCMzn4pmWeC4ALJLk89C7zVXKjbUKHBSLCBP+KS9LZRnRcgSS5i/0I2ti7VUihFmExwQkWSAIIW6NDrQGFEVl3L0KykUbJ5FZrSNKB9hUIhO1dWJnuLxrfqyDpqyvHdxLyfMf2QXJV/HxNAZ90Hx7ptYS6FZUFONGk96JOIdfxb/LQUOgYEbH4qwq0WX8EymLbQ/SKX+MnP2Z/y9vFMx9sB/WqZLtdQQonRkLlk48pwAgcdNuHTeiGocLZHQDLy6+hpjtaB5z22cH0BkSLb6WHszFHd9ZUQKHW4rs6v6Iv2OKa4v45tNQy+ozQwIAG4LMzMjzAfCUb487PCqnxZdHLz5ZYt3UQyPULy2KYCGrTusL/rhdSKLGvI7c= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FKZsQrX5noOEPDUdYVFsC3p2JmEW/+RKBJg+H1tpkCU6B9kGvXrSUV17LOHCjhznRil0GZxRg4avqWoVB0Zwn4R5TZmezwgE6RM8UVl57K3oYZIp9zrEDJxwTxZdjUbWIImsL7RmgFC4tjhM6dQHFJ7k3uE9yU5oit6Sf6iMXwuWN/P13DDTNHRxbLoGW4C4y9z5NevdoexbAjKJVrakMZvjYK0IY4BSWicSVqutChN4FSTEqmzzVkILyklcf3kW/Wb/zjCTIgjvW6NKGcwaX8JPMD4AEAzfA4ysXIdrrGGqGrtEkUV7ox26k1H/HaZQMlnQ6wpGOvnQI2krGyabJxL6VxtdF1pFwim/kBbL56skB+ScXn/iZLd9H0OpFOCcSURiaJ3nShQJC85rt3dkIw4Zp+gjORMAIle/58j5znj2/h4FFtLVNWCwIJuf/WJALvF8TV31wHkq2ZOcEIIimgN/o9qSzScVhdqErmJfCNFWzmVSK+WKQrw1J7g7J6MqGfiG6kbjvItli/ciiHnF6ihdUT+K2HuFpIneNd8qjlvTzuMHkZ+KwF/LelvK4C26cCE1wl/Oc247/VIEoe1urFTGXiRaeTkMe/NPKjZUt827diCPfKrEdXgYrjowtUBF8vEjwCIG/V6EeBzcAqZHYXPr8m7rObmCIyG7qR+fO2s0qUMwrfMlRW634SFORgc5 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: X/zTXd3FDjKqUYUcKsHDpEw/JVfbcy5LF0Ydt0KWmZ1Mt43tTrF1lli7HhiiVZWaVah9qcDnS+J7ZHucKTxaU3E0eJwwzvXCv7PXZbIvFcezrSrnLc7wX52/7xqWfZB35roylWSzXDMLX8fHRcqt9Lc3ZVjXw1pCmyUX4n46WNuyNiey6FOg1BM8YS0we8plhQ1Q4K78LVeL7l4NSwgS29XpFduyBdQav/qHdGJqmtJEnaRm7Vxy3J3QyZQHJMuPGRUBh9ATCZ/COYp1BZyMPtDkgbyjWd9CgENmdgTwhfhty5kMKndKtn2tb3RTmts2pTW2Pd0006j5bC32dl4VMzrwX7HeoW7SurD4+lqRPfu8MOt6GNBztscmT6Qe4XvIzt+CTDpC1NFaX7DV1oBafhMCYkvojY16zISUS9vHQzmU30+2B1GqMbLnu7fejXGu5rkveZ+zAXTwvEhy1PDu//oyZf6S4D97sKe4lOlLr6xNyULkQofpG1RECuZRr4ykaQlbX3X9M8fDM98ELQfKq49pA6cUxpiqn9UvYIv0+p7UQowr6y/XkBGc5fpqD4hePxplLxQrn+mJKZS44ybbUKSzEi/zLz81xITjG1+z1o0+jhQhcAFsfaVOiAycl4UDquCMKPLTlAMHNwC5+qq66n9THHqoE9fIC6V5pOB5p3ryxkH3+dNOSNkfpJwnNilHn98rJMHjewVFTWl3E0m4TuF5vsmc2muinqN9HcjRg4oaJbDDqvCL5aG5X1a3eK7jii/xHbwgqHcJDuHwqDkyHtd/Ime6ml+UO0AWVIegPc3tBgSecBFqcNzEFYx6SZ4g1C7NFB+rZNa6JdXgp5JP3sRvV4+QrhI2ZPk9M8RNZN7mP+QxV647Vm3FGZOTt0CpEKUTB/v8ghNKcEsHpLLqJI74p+HqeKXeA1tymcOHuGG4ppqevnOyPqJFiM5z5t4n+oqfbgUzzYYVMe3w47w44WKLjhqjbT5DbT0mO8QeGD6mMspqgW0SGrHxGTD1FWe9YJpa8gIIjs7RQ7oOmBb/cwNDtfMNycpqz7tD/gmAzljT770uiMt6WKS6Tix8dTrxXlnfrZgs9bnRCjXEW8rPyigHQQ6a8+LneqY8EV788mfOsUWP2D03f3x5cD0vErnUjOLiaicCAw00mYYo2y3btdydJyhvfYP1e+U1wkb59Ut7TrRt9YBa9BDXah0gu4d2mo4k0rSTC3szOHxWa4ZiGA7HmpXbHezLsb0R9UDHe0tAU9mMmuq+gDMzMlysL2lmbIhHxaTG7QhI1yDCerOeZz8b1NvaICW2CHr6dfvHTso= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0bd52450-7b4e-4c05-7d25-08dab277aa44 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2022 08:47:05.5666 (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: GV2P250MB0825 Subject: [FFmpeg-devel] [PATCH 18/22] avcodec/mjpegenc_common: Only pass what is used from ScanTable 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: /GF4XwfM6qqk Namely ScanTable.permutated. Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc.c | 2 +- libavcodec/mjpegenc_common.c | 8 ++++---- libavcodec/mjpegenc_common.h | 3 +-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index e56a466b36..eafe7130e2 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -81,7 +81,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->picture->f, s->mjpeg_ctx, - &s->intra_scantable, 0, + s->intra_scantable.permutated, 0, s->intra_matrix, s->chroma_intra_matrix, s->slice_context_count > 1); diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index c37c964931..d1b0ee7e3d 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -58,7 +58,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, + const uint8_t intra_scantable[64], uint16_t luma_intra_matrix[64], uint16_t chroma_intra_matrix[64], int hsample[3], int use_slices, int matrices_differ) @@ -76,7 +76,7 @@ static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, 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]; + uint8_t j = intra_scantable[i]; put_bits(p, 8, luma_intra_matrix[j]); } @@ -84,7 +84,7 @@ static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, put_bits(p, 4, 0); /* 8 bit precision */ put_bits(p, 4, 1); /* table 1 */ for(i=0;i<64;i++) { - j = intra_scantable->permutated[i]; + j = intra_scantable[i]; put_bits(p, 8, chroma_intra_matrix[j]); } } @@ -275,7 +275,7 @@ void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4 void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, const AVFrame *frame, struct MJpegContext *m, - ScanTable *intra_scantable, int pred, + const uint8_t intra_scantable[64], int pred, uint16_t luma_intra_matrix[64], uint16_t chroma_intra_matrix[64], int use_slices) diff --git a/libavcodec/mjpegenc_common.h b/libavcodec/mjpegenc_common.h index 5b13faae23..3501ce6bfb 100644 --- a/libavcodec/mjpegenc_common.h +++ b/libavcodec/mjpegenc_common.h @@ -24,7 +24,6 @@ #include #include "avcodec.h" -#include "idctdsp.h" #include "put_bits.h" struct MJpegContext; @@ -33,7 +32,7 @@ int ff_mjpeg_add_icc_profile_size(AVCodecContext *avctx, const AVFrame *frame, size_t *max_pkt_size); void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, const AVFrame *frame, struct MJpegContext *m, - ScanTable *intra_scantable, int pred, + const uint8_t intra_scantable[64], int pred, uint16_t luma_intra_matrix[64], uint16_t chroma_intra_matrix[64], int use_slices);