From patchwork Tue Jul 26 22:07:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36970 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1649:b0:8b:613a:194d with SMTP id no9csp232169pzb; Wed, 27 Jul 2022 02:31:00 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vkhgl/GOOIQUL70fDEyZBhVPQy6cnrLhWr6SQy+GvGhJw+BKXigY/cPxZ6dNeFAYFZ7EP8 X-Received: by 2002:a17:907:868e:b0:72e:fac8:ce51 with SMTP id qa14-20020a170907868e00b0072efac8ce51mr17327120ejc.549.1658914259959; Wed, 27 Jul 2022 02:30:59 -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 qw26-20020a1709066a1a00b0072f1c8d0ec4si19403798ejc.584.2022.07.27.02.30.58; Wed, 27 Jul 2022 02:30:59 -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="gfV8Lgk/"; 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 2AFFD68B856; Wed, 27 Jul 2022 12:30:39 +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 5719A68B808 for ; Wed, 27 Jul 2022 12:30:33 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ku7xoHou4WJdB3QUbDynB+qKMR4GLFnwz9HR8jv5Y44Nk55cs4M9IGFix1u8iVSL9Jy1Fr1U0ujYldLHHnr3X1HyH4SFCl1uuxtML9zJzPiPh00dOC912l+JBH6zCk0JwpGZklG+UVidgui5hsS+pDVpb/Eu5CNYAKdg9goY25bEQpvaerALovHpFeXjMAIcx7eAoiU4259A5TxunjwGci1roOhsuAfkcXp1u//NMp/7DVCKAu/eaRZK+5sSrikPu07ffiSZCL26BsjBCGxzh/2IObApHmuTPdIMDdwUmQwzwg9MD01dgNNPl1cpsgmzTvHQB5vyuxT+THsA1etzWQ== 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=cC9Wsae8KajK3fxMhCMe9HryPFQ/1w56TdxlacurMJQ=; b=chrguiQlDS5rqfq50QdhfXmozpwrwCuSv9H7kotU1AtYk6tz1aNSs4yidorDnwuht0YCE53GNQgh7ZlgsF/94Z2ZDEhTw0laqDOkBXsH5rVKXzGnyh7VzipndzCZpGP2mH4TwWiFNYOfBJZbK6BmFgXNmWOwekYX9DUZ5fPSf0nGuuVacCrxYgGU0cP537NWvl3ON/NrJ61cgoE6EnbB8QhbkdrrY+EqEv+j+5nYO+JzWbCA685h+wDeOBkhLpIpI6ZHzFWhG6FANIsf4rn5lMHjy7l9iAKugeP0RseIvEhR66ShIayS+ojv1/1DxWX7hyopxFnsUrPP5ujxg78Zng== 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=cC9Wsae8KajK3fxMhCMe9HryPFQ/1w56TdxlacurMJQ=; b=gfV8Lgk/6jeX3tAr1ly7Qpqk3fGPp+GjkvQGWEbz8AwrCPHt+gNcMvqYZAyeI8zj8cA+aI0RKfkaMXihYRIW8B+gHF/ojWMqcf+gRIzA5FnhqrJxKf6fF/2YorBkDhebTc2pCYT/ZH9DzrNXs3X6b1iVrtWJTCSSNVwj31qhCZ5fqJqI/TLe3k4NSrdaILblcYCgKKdCuEVIk7RxVANsKzuvymuqSU7EkmthogTYa3z8oDw714FCOsnSpJbRDIWownYbDen/rY2qIiouQS1QTt5b3RZVPxgDKGf8JmnQR4VRcR2ug0BFwSenUQ+hvnAywQ6621Mz6YEmp0Vwt45RDw== 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:30 +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:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Jul 2022 00:07:39 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [4IsRXbeYhEu9N2G96YuMlnXlxIfn1LFs] 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-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9a6de434-5aa9-4287-21b7-08da6f535f9e X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNVFHiteK4sjkXoIVF2tzJUYXtfhnesvyBTO45TH0Qjhqouk8lQTpisyjIu3lZsN5UPmT54gKD4Vhe9gbBdlWGHCcl4+2kyRZXe/9dGhkFwzQDETyegLuAf7kFcMvvOtBF89vdIk+cFIgoUR5M2z2Lx5mrRBA0vMRHFO/DPFiUYwmVFt178eI9lc4+Zdg0LlfzJ7FG1Fh4xQhDtl9q+aak4rBuDkTbnQ5ZjUu38EDhAXzfsX/apCzfzs04wnwzwJ962hHxNdDOSq885rwkLyqzajrJP6pJ5WfWkGX4T4RJ499E+1lIiAtLRaguAVX3WqI89CL8LFkglonmFMm08CsRpa9YD2pSwleSoQQ9HOZqxYtLKrfDRulDCB8pa1NUlFTDTqDuxpNe3GFK50L2Yyct52YpMNDr2Koe+aop40x0fSBVCZclAHPKC1jJJack0Ccqw4EbYtZRgVjZVxoOOrcrFUqyZNra7OyIUI/eApJ1plxjwOfydEBi6HOa/WpOoPSlFFb1Oqog6PdgigsjtIp8Q3Pp5tXlpui9Usjt1LqBxY6/+dozlU3klJgFE8rgDNmpt5mkOEG7BxIk3VHgEplJYKXOP94Zb2E024P02UGAhO0SC/1/O6QcoIHQjpIn3LuUQ7jR7GdjDsQZjGpBna5uz/TEfSozCPRnLrzuQAH7tOm8Q2a2AmhzT6z8TSWeUjEAHB4uWrw7Ozs9FhmPeh64QTVKLLwbeAXq8= X-MS-TrafficTypeDiagnostic: AM0PR01MB4626:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wQvJiLzuIqCYr4dYm+dK3vytThW+cFSSGusTR6BosbYJVTqnPNM1gNRdOfOLpetYGwQ9r0m+LJKaYtKBlbC+M5q9oRHj87C+AKqEmoCPmIg59ZXWGXoOaMknOR1GdOn4qFHjSgnAcLOQfL4iDb0YTnr3HYeo35YXi3IKdHZ06Y4ornrFFTSTfszCr0BHhumhi6SYtq/FVyeBZlrPdQSqXB6q+cjF1RA4+r6R1g3eCW4fDxLyysfeHHTMoo/AjJ93PHcVoCfcqQjhU3ZfviSswjJ8cCkJEueOY0pfKZpACnqJOT0Frnf6kRkuyCtIsxMag+A69HbfW3S61HAkOAqaYY71GUr/PKarYIIJIFhnbmsPLxbk+/J5jzLvi5g8k+vnBR7FPFmkQCyjBs25sYtBfPj5w8e+T29+IKogNHCBg0mEFUI7SqrDwaybm71bSdEmI0q6a3TgmGFSqYdC+dhAkDAIV+PZS2arIO6NbJEqkMhMjFt9HS/5ms1Sq/0tnyyGD3Fnq5LN1uTsdoUSxucIOB65tDvcka6IZQIVlGGbJijFcWptcWuXO9+IKJdUakLyahakR6T/zqc2EVW22FN1FNIhwCscVYmRim8Cpqz5n45/vy9PmS3FCkeE9GU4kFmL2gv7fIuG3TIfmyAYHNgZQg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FWYl7TDje/0lxViP2GYbeYgZkLgC6I7GuXkctUB0a+CUewkV33RoBUIKkSixWqLg4mOM6J2I/LxEmh8ISTvEaBi0Nz0mXWjRm2iVTyQvFeBpPLoVhMep1kgIl64Oo/HGfbZNio36pemtwt0u7OIsl3Og4kyT6fkWd0dm08fu9WiBSDEPpu6ckYHVTZHXzWlQ5/s0p184GRi7bmptjIBKogJ21kxdBriHlEgtsDHHthoi+HM39MdeYxOiRM1OiCuMYQeoK7j4epUIi02iiQujQUTscFkCmNFMtyAHc+BVmMbJZXb2LXJYQLuBtkpW/dX4tbOHIOIvuDqjuvTTzNYbYZXdntFAp4zDAEMrC2871L94BXWH32CP6/laVkbZ2D62zpo+Lev6gTvMU7mFqLdoj3FhNVECIA9k2k1Y+vM53q+shFl1UoKA13XNQgh2A+uN+4nR8I8Gpy1I30ebnU3X0IgIMhCxdsL6zP8iOcQPpbu3K5ECq0AB44WZvl/5/SIIAtOerCrYfTXtXL7T0A7S7bjNHTU/HSI2nHNJm2om21sGDC3IvcpmlWBqx/I50nht7HDP457SFbggAHad5wuY4zgh5kFqpzKoQ9K3rLjBTmV3h8/YAiNfOUQU96Z60/ZMovR1bKK4hGU2rZWGq5WRk7prqK1JZnrn18KNobJ/RROHQM+3wGUUV/zNm0HbpQQ1DMmH+y3TJOC/iPzYM9WOrru4GzCF53r1tRSFetLpJZvcNR5XCnKdr9aAbN20hxzyBKLOekXvSFBV+c3d/bP6WOzs5zjjqHic5/ibuOmBd7Q57XCoW4SEv1MMbOpfk+P6Fx5HEOR+NVYOyitCCRZS1fF+T/6pMJ5xzE2jntQGnpSyVrMHNrEMpBaUSHlWy/9JEaHx9cTDaSzn1xILevlVLpe6sIOp8VnRrjrtwWtNfdYa3Hz0PRPceZqgD2tTNt5F/+35R9Uf5VzwfgI09IWPB+MshXM5TmyVGxbenNho/x6DMEJs8JklnrA10TJV4VIcS/9AJCEy4C58OWlGvsXHicI1jDEIO6XBxLtN1VNuaRhzM11VeBubMTaxVNZtropDS8y1hq0mVF8rn1970Jx3KzNquL/SeapGq2qJSOmL1aNTQDhXxaaMZoO0PahjGBeAtS/R9fEAY4LDTDfsr+pSZSF8/REwR33Lixej3dKBwoBZeqv2OXdCUNXJQe9wMp2+84E50gL13vtQUea1bcfTrvRPjyq0gOGk8jYaPiTN9V4SiUXVPM2roFqPNK6/ZlFKLVSna8VI3dToYDCn7wmPkL5f7mHykyp5baN9EMz9f5g= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a6de434-5aa9-4287-21b7-08da6f535f9e 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:30.6482 (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 04/39] avcodec: Constify ThreadFrames 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: Q4QcYX2RiELF This is possible now that ff_thread_await_progress() accepts a const ThreadFrame*. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264_slice.c | 2 +- libavcodec/hevc_mvs.c | 2 +- libavcodec/hevcdec.c | 4 ++-- libavcodec/rv34.c | 2 +- libavcodec/vp3.c | 2 +- libavcodec/vp8.c | 9 +++++---- libavcodec/vp9_mc_template.c | 4 ++-- libavcodec/vp9recon.c | 8 ++++---- 8 files changed, 17 insertions(+), 16 deletions(-) diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index d56722a5c2..8f9d0a6231 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -1649,7 +1649,7 @@ static int h264_field_start(H264Context *h, const H264SliceContext *sl, while (h->poc.frame_num != h->poc.prev_frame_num && !h->first_field && h->poc.frame_num != (h->poc.prev_frame_num + 1) % (1 << sps->log2_max_frame_num)) { - H264Picture *prev = h->short_ref_count ? h->short_ref[0] : NULL; + const H264Picture *prev = h->short_ref_count ? h->short_ref[0] : NULL; av_log(h->avctx, AV_LOG_DEBUG, "Frame num gap %d %d\n", h->poc.frame_num, h->poc.prev_frame_num); if (!sps->gaps_in_frame_num_allowed_flag) diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c index bcf6ec3abc..c231797a57 100644 --- a/libavcodec/hevc_mvs.c +++ b/libavcodec/hevc_mvs.c @@ -227,7 +227,7 @@ static int temporal_luma_motion_vector(const HEVCContext *s, int x0, int y0, int availableFlagLXCol = 0; int colPic; - HEVCFrame *ref = s->ref->collocated_ref; + const HEVCFrame *ref = s->ref->collocated_ref; if (!ref) { memset(mvLXCol, 0, sizeof(*mvLXCol)); diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index ea196b39a9..24da690e94 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -1808,7 +1808,7 @@ static void chroma_mc_bi(HEVCLocalContext *lc, uint8_t *dst0, ptrdiff_t dststrid _mx1, _my1, block_w); } -static void hevc_await_progress(const HEVCContext *s, HEVCFrame *ref, +static void hevc_await_progress(const HEVCContext *s, const HEVCFrame *ref, const Mv *mv, int y0, int height) { if (s->threads_type == FF_THREAD_FRAME ) { @@ -1878,7 +1878,7 @@ static void hls_prediction_unit(HEVCLocalContext *lc, int x0, int y0, MvField *tab_mvf = s->ref->tab_mvf; const RefPicList *refPicList = s->ref->refPicList; - HEVCFrame *ref0 = NULL, *ref1 = NULL; + const HEVCFrame *ref0 = NULL, *ref1 = NULL; uint8_t *dst0 = POS(0, x0, y0); uint8_t *dst1 = POS(1, x0, y0); uint8_t *dst2 = POS(2, x0, y0); diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c index 5f3b7d31cd..2ac3f2c7b2 100644 --- a/libavcodec/rv34.c +++ b/libavcodec/rv34.c @@ -703,7 +703,7 @@ static inline void rv34_mc(RV34DecContext *r, const int block_type, if (HAVE_THREADS && (s->avctx->active_thread_type & FF_THREAD_FRAME)) { /* wait for the referenced mb row to be finished */ int mb_row = s->mb_y + ((yoff + my + 5 + 8 * height) >> 4); - ThreadFrame *f = dir ? &s->next_picture_ptr->tf : &s->last_picture_ptr->tf; + const ThreadFrame *f = dir ? &s->next_picture_ptr->tf : &s->last_picture_ptr->tf; ff_thread_await_progress(f, mb_row, 0); } diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 53fc514788..3f6b0100d9 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -1950,7 +1950,7 @@ static void vp3_draw_horiz_band(Vp3DecodeContext *s, int y) static void await_reference_row(Vp3DecodeContext *s, Vp3Fragment *fragment, int motion_y, int y) { - ThreadFrame *ref_frame; + const ThreadFrame *ref_frame; int ref_row; int border = motion_y & 1; diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 10de962118..e474fc5de5 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -1247,7 +1247,7 @@ void decode_intra4x4_modes(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb, static av_always_inline void decode_mb_mode(VP8Context *s, VP8mvbounds *mv_bounds, VP8Macroblock *mb, int mb_x, int mb_y, - uint8_t *segment, uint8_t *ref, int layout, int is_vp7) + uint8_t *segment, const uint8_t *ref, int layout, int is_vp7) { VP56RangeCoder *c = &s->c; static const char * const vp7_feature_name[] = { "q-index", @@ -1811,7 +1811,7 @@ static const uint8_t subpel_idx[3][8] = { */ static av_always_inline void vp8_mc_luma(VP8Context *s, VP8ThreadData *td, uint8_t *dst, - ThreadFrame *ref, const VP56mv *mv, + const ThreadFrame *ref, const VP56mv *mv, int x_off, int y_off, int block_w, int block_h, int width, int height, ptrdiff_t linesize, vp8_mc_func mc_func[3][3]) @@ -1869,7 +1869,7 @@ void vp8_mc_luma(VP8Context *s, VP8ThreadData *td, uint8_t *dst, */ static av_always_inline void vp8_mc_chroma(VP8Context *s, VP8ThreadData *td, uint8_t *dst1, - uint8_t *dst2, ThreadFrame *ref, const VP56mv *mv, + uint8_t *dst2, const ThreadFrame *ref, const VP56mv *mv, int x_off, int y_off, int block_w, int block_h, int width, int height, ptrdiff_t linesize, vp8_mc_func mc_func[3][3]) @@ -2374,7 +2374,8 @@ static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void int mb_y = atomic_load(&td->thread_mb_pos) >> 16; int mb_x, mb_xy = mb_y * s->mb_width; int num_jobs = s->num_jobs; - VP8Frame *curframe = s->curframe, *prev_frame = s->prev_frame; + const VP8Frame *prev_frame = s->prev_frame; + VP8Frame *curframe = s->curframe; VP56RangeCoder *c = &s->coeff_partition[mb_y & (s->num_coeff_partitions - 1)]; VP8Macroblock *mb; uint8_t *dst[3] = { diff --git a/libavcodec/vp9_mc_template.c b/libavcodec/vp9_mc_template.c index 31e692f362..d0c12e81f1 100644 --- a/libavcodec/vp9_mc_template.c +++ b/libavcodec/vp9_mc_template.c @@ -36,8 +36,8 @@ static void FN(inter_pred)(VP9TileData *td) VP9Context *s = td->s; VP9Block *b = td->b; int row = td->row, col = td->col; - ThreadFrame *tref1 = &s->s.refs[s->s.h.refidx[b->ref[0]]], *tref2; - AVFrame *ref1 = tref1->f, *ref2; + const ThreadFrame *tref1 = &s->s.refs[s->s.h.refidx[b->ref[0]]], *tref2; + const AVFrame *ref1 = tref1->f, *ref2; int w1 = ref1->width, h1 = ref1->height, w2, h2; ptrdiff_t ls_y = td->y_stride, ls_uv = td->uv_stride; int bytesperpixel = BYTES_PER_PIXEL; diff --git a/libavcodec/vp9recon.c b/libavcodec/vp9recon.c index bfafde8c9c..1cdbc6a71d 100644 --- a/libavcodec/vp9recon.c +++ b/libavcodec/vp9recon.c @@ -298,7 +298,7 @@ void ff_vp9_intra_recon_16bpp(VP9TileData *td, ptrdiff_t y_off, ptrdiff_t uv_off static av_always_inline void mc_luma_unscaled(VP9TileData *td, vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { @@ -336,7 +336,7 @@ static av_always_inline void mc_chroma_unscaled(VP9TileData *td, vp9_mc_func (*m ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, const uint8_t *ref_v, ptrdiff_t src_stride_v, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *mv, int bw, int bh, int w, int h, int bytesperpixel) { @@ -407,7 +407,7 @@ static av_always_inline void mc_luma_scaled(VP9TileData *td, vp9_scaled_mc_func vp9_mc_func (*mc)[2], uint8_t *dst, ptrdiff_t dst_stride, const uint8_t *ref, ptrdiff_t ref_stride, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *in_mv, int px, int py, int pw, int ph, int bw, int bh, int w, int h, int bytesperpixel, @@ -467,7 +467,7 @@ static av_always_inline void mc_chroma_scaled(VP9TileData *td, vp9_scaled_mc_fun ptrdiff_t dst_stride, const uint8_t *ref_u, ptrdiff_t src_stride_u, const uint8_t *ref_v, ptrdiff_t src_stride_v, - ThreadFrame *ref_frame, + const ThreadFrame *ref_frame, ptrdiff_t y, ptrdiff_t x, const VP56mv *in_mv, int px, int py, int pw, int ph, int bw, int bh, int w, int h, int bytesperpixel,