From patchwork Tue Jul 26 22:07:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36978 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232909pzb; Wed, 27 Jul 2022 02:32:31 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tbtnMxQeP4ezX81wv7lk5JfL3iiRviyx9/fiOI9xngXxAgqgRMNOPe0EzlbMFxaakCuF/5 X-Received: by 2002:a05:6402:d77:b0:43b:bcdc:ec9b with SMTP id ec55-20020a0564020d7700b0043bbcdcec9bmr22675614edb.183.1658914351324; Wed, 27 Jul 2022 02:32:31 -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 me23-20020a170906aed700b0072b4cba9671si4612169ejb.186.2022.07.27.02.32.30; Wed, 27 Jul 2022 02:32:31 -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=Vsuk3C5U; 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 4B5EE68B8D7; Wed, 27 Jul 2022 12:30:51 +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-oln040092073066.outbound.protection.outlook.com [40.92.73.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 99A5968B890 for ; Wed, 27 Jul 2022 12:30:38 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eWIXMWPC3nJ5K56M4yV2FKqezvX2h9mxgyzakOr13ELQ0CmWPJhAEWpgf9nnVTgmxrH5tMjAnMsaJ0bWMFRV5fZUnlVBcWiZARHJC1wbrPOo7mIGkpOUT5aE9l5cBT+ul+pIljoCZBuRBsBfr1TnmJ0itj0a2SZ3Wkt6rpNfa4cWWOe1mHL0Tum0sBaKykE7fEmyWAD4eZslo/1ebkLiGRJunAmB05RBVlWGNHVufuJYOwZXnsOvIk2yd8EZ/otXEUc+25Tds3GzUTsAHS8mQ1Qr9aIVZOH4+JzRz8C/Mxrq29qcBVOehgnYIppoQol+BNN9ZUFyNtZtJP5QlpuM1g== 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=JdtOJNSw6A6G4QBSwQzXG4pOV3kDePxcKF7attyU1vM=; b=XQ3SDTwYt57vAe5ZuVaiTPgoK5gDnT9xa7zTPQqoDXu/Nh5utNY4m+5xfgqBi+sv3GObbOloYfX/PYDzks6JRanwrzaO3+ibQ5lMxhM/fVhs6hn2ZfViENDYOaPXtmCYhXiNzYXPHHkiEW6vh7eXFhfPzzI6jQSHndXiyGjhyA15vQYevOPaYUgNdddCGa+6LBT9WVPr0IbC59BROLphdvZSa9UWfd0xNNZD8dPozgvs3gR3ZDMsx7rCxwHTo2s2+bcLcx9PFGLySmfeybh/qmuc8NYxzuUaTCkmg+JRon2PRrwXbCxgNUPTPBn1s3FHAX8r7r9aorcblc0GJjhUmQ== 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=JdtOJNSw6A6G4QBSwQzXG4pOV3kDePxcKF7attyU1vM=; b=Vsuk3C5U6j+EjglAKThgXydUq/gSCiIjNyWC5a5D8zu7Ndg2Thqxu2D5He7rlF1wEJw82DUEBCujHH9rlb7JN4IfOBmcUcEqn616Go60PnPMfPJ7hUj7i/deDVTqxc2gtAuWm+4lNrhVvGHlhg3kBi1eezcLfWCLhySvKC3xizAkVinipOFCqUHf9LKrbigVta9tj944vX7ovfWKMAsEAnFVPaGRd/pgSX3+DpcjmnMwqnWDiabWd9IiS2MftkFNr7Znb4gdC3Cr0XnwqYO/W6QIkC0VL7KcY45Y3BDngkV0Regby8DGXaxJwwoOvcZ3A2MdjGgGUa6Rkfix7GP6wA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM0PR01MB4626.eurprd01.prod.exchangelabs.com (2603:10a6:208:eb::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.25; Tue, 26 Jul 2022 22:08:38 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5458.025; Tue, 26 Jul 2022 22:08:38 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:40 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [8Y+43lGSkZPOwSQW5MwsikWDJwS8Xwkl] X-ClientProxiedBy: FR3P281CA0157.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::13) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220726220814.695563-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 522b2d0f-c2a4-4e20-af3b-08da6f536430 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQG9fQ4e5wexDZEKzsZPbgBZQOLWT4s897ePBs9MMVtsqqgHbYRgyWJXXVzQnK1rCmUgKxvgIRXY/pi1SezNZ89Hlh62geA/cLxn0Ihb0N6gyNOCj3xgM6x5d2uzFnmRcCEJEMwXXEaDTGuPujF9YglVaVTVgRUsfWGpBHRKqocCdRS1Q4QBLD8OvXG8FiBhHtlw/lTaK+c5YIWJggjKpdmZpi2hRwa2tpASvEt+NHyRyFwPv930WH/iwSA0L8+LSF/ibt8GwT3Nr/4crgVYcfYNHe/5rDUT36bw4Qk6/zT7ct0hG/Ch4UhliA/jyahlhOQFUoXcTMEJnIRs8RUqjJh+wHQSQtWoxxDA8GXwZmINM2OWHi/onYTEzJoOS+JX148DiMtyTWxLVJBn0DvW17OCKoIbUIBTwdki+TsSrHEt6DCE2iHgqdXoQ9DYvqngs5j0hjz0I5fuSRoAbzZhBjnU3951IrAr5xrfgCW2iIPSufXaqxgOZv5z+/zdJqGzgk+VhdicRbrsqqxrOoDvuX6dXLTIuF8eMVlNfuBb4UaDdFxqmYsRxz3QFPpEemULv6Zwg67k34e/Ko65ScsRkSdJM7VJ1iupNAhbrZDWQyoY8IW+wfg8rXcYhvgyiZEn/d9Wo467eWYD0b95f2igPzNpvkAQm8uGTrjk6PAsrVxTGR+3u0tDRki3Cv0ZVukQropl6ZE3FpPZ4KI3U4Grdn0iup6tiyz2XEHP9v46H1mHiI0tdaqQqPxASr1583M2Hs= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BJkhlNJyTbZ4s4UHcr1QVwW1QnoSgCbLqifBH4RpjY+DSOyzh59BtYpuAD7yTVnnvMBwzeUAGaT4n+VGEMVmZFWF9zAe1yDPpLAhPVnvHpTgMRoLIi5k//b5MpRDLFpUlWKcApdpKtXD07YjXb+BzbIom46mIU8WGaJsn2krxg8dVmOgBH+S37LoqlHASBuyogLLF6t4AQL45PgVgEfdwxLVFDmTtL1rNQ0TLKOiTBDdIPy+nAHqrce7bacef2gpNkH+kuyy9+JPUmw10T2qLrGcAg2DRIx8TbW892Vj/OKTHYC7T8pjpOvEkOzgOc7d2LaKh0yLUIQEM+3iPiJ9XTtoPJjQd/vpbxoyH5Q4MN/UG5tx33Gi8a8L+W8V6vsw0x24AWuCnkWKCq0liEN+be9yWrw/lIs81JX5pM9A7l33vFHcLFmLe3vOAz0v5orTIF9fSYamL0e0VOFLSspdphTifyzIgoHxTF4+wRMO9hEeBQEqOqICPohDVPJ5CBEKx3hG9TMgGLxIrJ/h0VypYTAv/SS7Z9n971DiR03I5SAfS8Atmju9kYaiPRhipjiOnt7fIraTHN+g/kJn7zWXPSqQ7Ue8W6aRtd4afzbcKao58vBcnsLmTkbNiCaPJWpdxg1QGe5LLfSvn8WC3klz4A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uwAFVReOFqDCIPCY4wE587mSncoUNWG5ov+Hcp62X7Jy7I8ksRdLinFp3/TiCcLhruPMBDKnS4+x0H16/L/+8mp6S5wb0HwXcJZtumAFp6cArxu7i9mBUHTTyD8ytQOpiQY/k0XJBHklDTVp3k0J2DUqMBoT/X5NYxJZE/P2rHeHYtxfFAnWLj5A7xr4RFs6BmyI0x3MdyoNtjxombzNW2VrR1VhcFDfqwXRhB0FpzHurnPe+AOMVBDDfqDOnbX+rrClQOg06AS+USpGuKIXCttZMSTQvwHSmgagAgmFM1PdWHkgtZ2bPLJo05LR5Etfdl1U33jDhBmqTv47C/tkJPMikHht9Jm4f6+BjgtCqsb7x3On6r8bIpFFf1UYIz+6Q07ObNFxpndhxSWDywcPS0D8CSYNdzOSkb29BwOigsYetABD04VH46LvJw0cyqnN8f3TG6Y+8MbCHiKZwzuR4U5kgKpinWD+xwRrJbHH00qHmJigJSqZPfBborXY/K6GSX1wEOvJ2VJnKAng5OFoh/OSc2QNyJVqB26sJLbZkjEJ72qwqkmcrpuQo9/Wwz0VMFGjuFcG3eWkcW29miDgjFFvIwVjyt44xoHZh01wVbynGROa9LCaLPHpzA27/lnp2U2M3FWynhdGAFvOlk5//mg+K5wUQE+ECOUBOormsrRCG518pOVqOXn7OnKZ2qEdR6tudpCCSk+PxKTKL++3RohvOW4W54eENoR56lvGN0V0/CizyJ8axMrKs6FlHaAmKU/Fz9ZxnN+9TwUM7pIng+XVeuqA1M7VNYwwEAshI5bJsN4NlrWjqO2hH7biOF3DUwcC2gVvBR45U5Yo3SmG+Fxsg+o3ja/pDAeRwaLuxsTHvk/Vb96w5m3u2xIH1JxnLm+dFwd4BtauII5AS7eJTVcdAUfb1MYvYivljpBQfTV82KxVYQmSPAGmcGVHwjUBZGmf9uqZqfLetlr2GcOKJlIIgTwlQD1ajlW3zYsNf2IWOnQJ9sSGvQhYx1T4WWhTXDirTJQrxjWqzTKeQQzPnFTMRuK3DII4uVzQVlRDvAuJesC3e8uSPNRvSaP0uuT8MJVgfR3W363jilg8CxeyXXYPqy9xtmnn6POji+gG1C8rM8lZgHTlHRSitEFAZMpvA06Z8t1IpFstXfny9awhlyMUhNk7Blx1ZRERBgYHROFnQcRa6JIyQP9M6RjMX+6JUhv8gJ32HBlXhEM94BM1fceLLr0gFqi7QSl0NEFFZ/I0skVLigsefrPnq+sQ+wGqHodf6b41XEybdbQwZqKLUFo+FXfsflUeKfmXS9CAu2Q= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 522b2d0f-c2a4-4e20-af3b-08da6f536430 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2022 22:08:38.2883 (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: AM0PR01MB4626 Subject: [FFmpeg-devel] [PATCH 05/39] avcodec/vp9dec: Constify VP9TileData->VP9Context pointer target 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: 4zeXgZBY3KMy This is possible now that ff_thread_await_progress() accepts a const ThreadFrame*. Signed-off-by: Andreas Rheinhardt --- libavcodec/vp9_mc_template.c | 2 +- libavcodec/vp9block.c | 30 +++++++++++++++--------------- libavcodec/vp9dec.h | 4 +--- libavcodec/vp9mvs.c | 6 +++--- libavcodec/vp9recon.c | 22 +++++++++++----------- 5 files changed, 31 insertions(+), 33 deletions(-) diff --git a/libavcodec/vp9_mc_template.c b/libavcodec/vp9_mc_template.c index d0c12e81f1..9337edcbdb 100644 --- a/libavcodec/vp9_mc_template.c +++ b/libavcodec/vp9_mc_template.c @@ -33,7 +33,7 @@ static void FN(inter_pred)(VP9TileData *td) { 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 }, { 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4 }, }; - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; const ThreadFrame *tref1 = &s->s.refs[s->s.h.refidx[b->ref[0]]], *tref2; diff --git a/libavcodec/vp9block.c b/libavcodec/vp9block.c index 5fdda63545..5d498f0a95 100644 --- a/libavcodec/vp9block.c +++ b/libavcodec/vp9block.c @@ -87,7 +87,7 @@ static void decode_mode(VP9TileData *td) TX_32X32, TX_32X32, TX_32X32, TX_32X32, TX_16X16, TX_16X16, TX_16X16, TX_8X8, TX_8X8, TX_8X8, TX_4X4, TX_4X4, TX_4X4 }; - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col, row7 = td->row7; enum TxfmMode max_tx = max_tx_for_bl_bp[b->bs]; @@ -802,9 +802,9 @@ static void decode_mode(VP9TileData *td) static av_always_inline int decode_coeffs_b_generic(VP56RangeCoder *c, int16_t *coef, int n_coeffs, int is_tx32x32, int is8bitsperpixel, int bpp, unsigned (*cnt)[6][3], - unsigned (*eob)[6][2], uint8_t (*p)[6][11], + unsigned (*eob)[6][2], const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], - const int16_t *band_counts, int16_t *qmul) + const int16_t *band_counts, const int16_t *qmul) { int i = 0, band = 0, band_left = band_counts[band]; const uint8_t *tp = p[0][nnz]; @@ -921,9 +921,9 @@ skip_eob: static int decode_coeffs_b_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 0, 1, 8, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -931,9 +931,9 @@ static int decode_coeffs_b_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static int decode_coeffs_b32_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 1, 1, 8, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -941,9 +941,9 @@ static int decode_coeffs_b32_8bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static int decode_coeffs_b_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 0, 0, td->s->s.h.bpp, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -951,9 +951,9 @@ static int decode_coeffs_b_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static int decode_coeffs_b32_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, unsigned (*cnt)[6][3], unsigned (*eob)[6][2], - uint8_t (*p)[6][11], int nnz, const int16_t *scan, + const uint8_t (*p)[6][11], int nnz, const int16_t *scan, const int16_t (*nb)[2], const int16_t *band_counts, - int16_t *qmul) + const int16_t *qmul) { return decode_coeffs_b_generic(td->c, coef, n_coeffs, 1, 0, td->s->s.h.bpp, cnt, eob, p, nnz, scan, nb, band_counts, qmul); @@ -961,17 +961,17 @@ static int decode_coeffs_b32_16bpp(VP9TileData *td, int16_t *coef, int n_coeffs, static av_always_inline int decode_coeffs(VP9TileData *td, int is8bitsperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; - uint8_t (*p)[6][11] = s->prob.coef[b->tx][0 /* y */][!b->intra]; + const uint8_t (*p)[6][11] = s->prob.coef[b->tx][0 /* y */][!b->intra]; unsigned (*c)[6][3] = td->counts.coef[b->tx][0 /* y */][!b->intra]; unsigned (*e)[6][2] = td->counts.eob[b->tx][0 /* y */][!b->intra]; int w4 = ff_vp9_bwh_tab[1][b->bs][0] << 1, h4 = ff_vp9_bwh_tab[1][b->bs][1] << 1; int end_x = FFMIN(2 * (s->cols - col), w4); int end_y = FFMIN(2 * (s->rows - row), h4); int n, pl, x, y, ret; - int16_t (*qmul)[2] = s->s.h.segmentation.feat[b->seg_id].qmul; + const int16_t (*qmul)[2] = s->s.h.segmentation.feat[b->seg_id].qmul; int tx = 4 * s->s.h.lossless + b->tx; const int16_t * const *yscans = ff_vp9_scans[tx]; const int16_t (* const * ynbs)[2] = ff_vp9_scans_nb[tx]; @@ -1262,7 +1262,7 @@ void ff_vp9_decode_block(VP9TileData *td, int row, int col, VP9Filter *lflvl, ptrdiff_t yoff, ptrdiff_t uvoff, enum BlockLevel bl, enum BlockPartition bp) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; enum BlockSize bs = bl * 3 + bp; int bytesperpixel = s->bytesperpixel; diff --git a/libavcodec/vp9dec.h b/libavcodec/vp9dec.h index 9cbd5839a8..3621504fc8 100644 --- a/libavcodec/vp9dec.h +++ b/libavcodec/vp9dec.h @@ -163,9 +163,7 @@ typedef struct VP9Context { } VP9Context; struct VP9TileData { - //VP9Context should be const, but because of the threading API(generates - //a lot of warnings) it's not. - VP9Context *s; + const VP9Context *s; VP56RangeCoder *c_b; VP56RangeCoder *c; int row, row7, col, col7; diff --git a/libavcodec/vp9mvs.c b/libavcodec/vp9mvs.c index ddce9b6c84..16a2978035 100644 --- a/libavcodec/vp9mvs.c +++ b/libavcodec/vp9mvs.c @@ -65,7 +65,7 @@ static void find_ref_mvs(VP9TileData *td, [BS_4x4] = { { 0, -1 }, { -1, 0 }, { -1, -1 }, { 0, -2 }, { -2, 0 }, { -1, -2 }, { -2, -1 }, { -2, -2 } }, }; - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col, row7 = td->row7; const int8_t (*p)[2] = mv_ref_blk_off[b->bs]; @@ -235,7 +235,7 @@ static void find_ref_mvs(VP9TileData *td, static av_always_inline int read_mv_component(VP9TileData *td, int idx, int hp) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int bit, sign = vp56_rac_get_prob(td->c, s->prob.p.mv_comp[idx].sign); int n, c = vp8_rac_get_tree(td->c, ff_vp9_mv_class_tree, s->prob.p.mv_comp[idx].classes); @@ -290,7 +290,7 @@ static av_always_inline int read_mv_component(VP9TileData *td, int idx, int hp) void ff_vp9_fill_mv(VP9TileData *td, VP56mv *mv, int mode, int sb) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; if (mode == ZEROMV) { diff --git a/libavcodec/vp9recon.c b/libavcodec/vp9recon.c index 1cdbc6a71d..da6249f82d 100644 --- a/libavcodec/vp9recon.c +++ b/libavcodec/vp9recon.c @@ -36,7 +36,7 @@ static av_always_inline int check_intra_mode(VP9TileData *td, int mode, uint8_t int row, int y, enum TxfmMode tx, int p, int ss_h, int ss_v, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int have_top = row > 0 || y > 0; int have_left = col > td->tile_col_start || x > 0; int have_right = x < w - 1; @@ -218,7 +218,7 @@ static av_always_inline int check_intra_mode(VP9TileData *td, int mode, uint8_t static av_always_inline void intra_recon(VP9TileData *td, ptrdiff_t y_off, ptrdiff_t uv_off, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; int w4 = ff_vp9_bwh_tab[1][b->bs][0] << 1, step1d = 1 << b->tx, n; @@ -295,14 +295,14 @@ void ff_vp9_intra_recon_16bpp(VP9TileData *td, ptrdiff_t y_off, ptrdiff_t uv_off intra_recon(td, y_off, uv_off, 2); } -static av_always_inline void mc_luma_unscaled(VP9TileData *td, vp9_mc_func (*mc)[2], +static av_always_inline void mc_luma_unscaled(VP9TileData *td, const vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int mx = mv->x, my = mv->y, th; y += my >> 3; @@ -331,7 +331,7 @@ static av_always_inline void mc_luma_unscaled(VP9TileData *td, vp9_mc_func (*mc) mc[!!mx][!!my](dst, dst_stride, ref, ref_stride, bh, mx << 1, my << 1); } -static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*mc)[2], +static av_always_inline void mc_chroma_unscaled(VP9TileData *td, const vp9_mc_func (*mc)[2], uint8_t *dst_u, uint8_t *dst_v, ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, @@ -340,7 +340,7 @@ static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*m ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; int mx = mv->x * (1 << !s->ss_h), my = mv->y * (1 << !s->ss_v), th; y += my >> 4; @@ -404,7 +404,7 @@ static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*m #undef SCALED static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func smc, - vp9_mc_func (*mc)[2], + const vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, const ThreadFrame *ref_frame, @@ -413,7 +413,7 @@ static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func int bw, int bh, int w, int h, int bytesperpixel, const uint16_t *scale, const uint8_t *step) { - VP9Context *s = td->s; + const VP9Context *s = td->s; if (s->s.frames[CUR_FRAME].tf.f->width == ref_frame->f->width && s->s.frames[CUR_FRAME].tf.f->height == ref_frame->f->height) { mc_luma_unscaled(td, mc, dst, dst_stride, ref, ref_stride, ref_frame, @@ -462,7 +462,7 @@ static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func } static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_func smc, - vp9_mc_func (*mc)[2], + const vp9_mc_func (*mc)[2], uint8_t *dst_u, uint8_t *dst_v, ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, @@ -473,7 +473,7 @@ static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_fun int bw, int bh, int w, int h, int bytesperpixel, const uint16_t *scale, const uint8_t *step) { - VP9Context *s = td->s; + const VP9Context *s = td->s; if (s->s.frames[CUR_FRAME].tf.f->width == ref_frame->f->width && s->s.frames[CUR_FRAME].tf.f->height == ref_frame->f->height) { mc_chroma_unscaled(td, mc, dst_u, dst_v, dst_stride, ref_u, src_stride_u, @@ -568,7 +568,7 @@ static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_fun static av_always_inline void inter_recon(VP9TileData *td, int bytesperpixel) { - VP9Context *s = td->s; + const VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col;