From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 22CA1400F1 for ; Thu, 3 Nov 2022 02:57:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 66CD368BEB7; Thu, 3 Nov 2022 04:57:44 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074031.outbound.protection.outlook.com [40.92.74.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 99EC868BD35 for ; Thu, 3 Nov 2022 04:57:37 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Alwq1jYwEFxunLunulwkkIBnUBWIDXKKV4suDJnxQjvQTybyIeNn1/lXCB0J/yDF46y/T285ycUgQSnFE1ShFlVZSozFuufBaMog9on5j7GDgVPK/BEiWScXrfNtFblg3pBlPk8QEDJGx/7BxKwMWTgms5iR2dwVjhnwm1tae2DJlhshKjtI9v09TlhHG8KjVwcSaEHvNmMt2TT5miEuB/7fb7EYgbI/iHa/yWgT7QRquXGRxyZRS2ox6Wbv87OnVZ+45SJ8vac87PxX7vAYVRyuf+YgF7vCrHc1lRGB30enBf9DnsKsKWnRhBsTC0SfOp08CtFuxoqaNTxSZRyy5g== 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=1BkAh4I0NLDaZDnRnwK9Jrzczu9KdIWHt4NR7hpDFKY=; b=k/3L2CwCWIdy8L/llak/qcm6i+vzL5DuK6S5jlkyHwTW6TzWh8bqwVlrY4rK1i3ZI8zIAk6Xk91NPj6bRNDdwe5cvW06nDgoFp+DYqh1DZoAwj3zce+q+5B73lcsBn7+yOItVguXWtSWDrB1NwslQJXYbDuT7egPtp/yYSEU4k1xP6AGbsyppuQV+38bs/SBxpdqvgxadllVH0Wao0e+15Qjz1YUNiIeNSqTVOrXJHimUeMIOBrQn75Z3wzbSWz8N3nyQCfTNV0wMIcdbdJAETzfnMqP0DPmGeaYu2/wj6+QWLcJxkokzXKWuoqaDOnovsqOpFDYidL13gqlo5JB9w== 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=1BkAh4I0NLDaZDnRnwK9Jrzczu9KdIWHt4NR7hpDFKY=; b=KttVQi0MBUxAx2pHx6wKiFe8CzI2N7g/y9X3efUj0jT/qUleitlCiwQ0VjZTBhCFISFQ1ygXaet3LL0tIWlMxfSfDAZ/rP8nQf71+HFkUWCIQNstDdwsmBidXxo81Q+dqUmUfJyOJ4yyBLEUKOl3yG9le0yyT72Q7kViw8cJjN4Bmyb8k3kS6v9DuHRPrgilK/VopllAuqMm62QWqpSF2sGSEGUjgRQaN4yfz2aZNoI1OYCDuvRzrOiDn1YnDfx901fNyIQlLX1Qef/xi5Z1DPnKy8eGASOW9D2V3ETLF30xIGlhrpDDJFg4jX3vN6J21+08axQu3kWM0jhQ0Ca1cw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0257.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Thu, 3 Nov 2022 02:57:35 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe%6]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 02:57:35 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Nov 2022 03:57:36 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [2p/hzvJkfmQ9IuDGmh5zlW128IfNK2h6mdJ5FqCoyho=] X-ClientProxiedBy: AS9PR04CA0125.eurprd04.prod.outlook.com (2603:10a6:20b:531::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221103025740.620315-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0257:EE_ X-MS-Office365-Filtering-Correlation-Id: a1e5e883-711f-42d3-57ed-08dabd4728e5 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3mWo+RneW5ABDpC3jepZYKOi3nIYvVi4H0nPEqC4/3RRRhGibTNKcUJC5okf52Y3zzYuNFeVgjlvL9+kGTE7R/cTYrrzENt+5mHYiiTnOuVDZQ6nszDBIOYKUGY1jGEQuQISRHq1fGUKpUUjUxN9faUG9LmryUirrCuJuSFPwxaEEhG0LoW3qLz2rZ+AsXub2Nl4JPNqtBXRDDZBYm6IrlBhl4N1Qck0ixF4IX+b3eUAZIM5NzW9OisUcfIEBMlUHrsvROCUJYCd/RzN/diY6Jxv+4A9hTHd0CBBbQMgNq4woGj1GNbHD7kRFWb/T2cStB+nqubx2rqRDwjiU89dHFe7EgDpqOyHNkAJM6S7BoueEVWv0V9Kthk0LO+q9awKB5Np1eZkNbtROlpVXXWarxfKVpwyotLViWCETMA73EgxixLtevrLxWOfTaTOMJxaxmVbRdSBxHhUaSeiIEGWFiVP3qV3kbSV7UG0cs6tgJjIH237blh4r/Phj+WhtY5dhWB9Bb9w0rsTQVJzfYWyHeEHsLtByDtIQQybIQD1wQ2z29UieULUhjCDEb6dFclb0uVSIZheTvJHvdS8g1svitaprtAvcGYqsfLkTVj70AfbHx/dbiALklh8SAsIqf6RCB02jQIWcdpWzX7KXBPaJ8gqqXeqswL6vgO+4zf1BxG2y/RC0BlrptAntSemkEqtqDU92FNoSknhV+aKaAd0DJBvAMfC2ZFjUrm5rzzEQXEve0Qnl5CbR52OxaLGd7NbAcLYYgKWg9Nb3azq/wyhQVl X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GcdJIWAbiVPW/2VFU2jk3rZXK3wW88tbDFueJOGuXRv1iYmeqTnMN8sedABNPLMsmot+rp0AIQte7FSrDv0r35Ync98NhZegh/BAYZeij75SuiNBNSL4Kfa4AdUgm8EHBIDjkoGYgBBpKhzS5rVfUfvOxs6T+n1tp+o014bERk1j5vDconirWiymR0vLHjLyxWH0yzH3iPtzqtPhL/QVTnlUhoQNoL9PGqjM3PPUgjJh5fQPSg9k3zZRkJDXlQt+IdtrfixBZ/D2z84NsneZd6ncvCiENvCsiiHPNBWlYuAZFQ1fFUBg56cFqyR0J/o4/TE5DaVNzsyUOMtfI8iWGwEMFdLQm4Y3hQIYfh3cR+XPAUPrB7ZYKNsbaDQq22/fCgKdlLOkUZeOoQyAvRWv2spednga0060MMaYLThnXpxcUn4K3QKtOiSilgkSWtGovWswhxt02gsqvi0OTRAcOD2PDAIBMSPMn7dJ6wO8NI1xDRvU4tgv9oT3W5UUESmmWLWiyq5/AvFqvAINEXNu323b51iNuUkx6AzaVG0ghFaLHU1Zgmd+CN6ThVgqDHmrSFyhNITjeyalIz3gy9ig/pDC7G0gryZg8ayYrXH3fCrA9KOIx+Ss3BqkZ9z/zAke7oRnZbvIo4jKJ0+9VTWTLrY60W1Yyc1wMQ+959zjESTdeACeAr6cyTsVbHFWoM3a X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iQI6yGrFQFrrEQCiJkoF0iKIJFAY6060XpkmjeanjF9mUGQdwcLVMW934NHS?= =?us-ascii?Q?TTMGVh47v8nwuLEkUZn56DlDXgAh5WhpnK6uf+osTLFcI1FW2DY+DYKeSBnY?= =?us-ascii?Q?NfnPz9eJrDjyE7CF5yAdhg2nBxv32W32ttfDf2WJtv55+6UaJ7kbNPGkVBn8?= =?us-ascii?Q?4dLg6M6ucxwt+J/brUvpgxmgH6Xbdh3eJeLSMrYbk2eC3v6uJzP30O1qJa9e?= =?us-ascii?Q?0zcNAOfKjpaiCoTzv0XhyxKS22wRn6XUBNpZLwYmErrH9NIMKhy0yFmDS4z/?= =?us-ascii?Q?Ql5FKPURZCoevpUL+aEg/yDGFJafQTIxrLxsXPBl5u2dh/Wej3BSrtDlS8CU?= =?us-ascii?Q?GkQajyTJuAbFKxPeJUhG6kSEpwJW6wbJgCE505HokgUkK8wRC9gqX7Q8m5x7?= =?us-ascii?Q?KTkEELVzGRmuilqqgRPM8HM47mjfxtfEnO7BYel0ZVGZj+x+xKsqYKTmlFPE?= =?us-ascii?Q?rv7ImBO+Ee/wT7PiQMdCGk7jGRhU8PRnvsyREnQCZg7V+Reejx05pnRas1R1?= =?us-ascii?Q?vS1WFHXxR50CLL9wOkd9Mu545FpdddsJHxXmBvG2ti/s6QYNvJoqswM69g/Y?= =?us-ascii?Q?ScvV36/1F6+fohPx+dqwmlK3FDjCARjqwR2bHtEECPsU+tOjGDSwKDF324H+?= =?us-ascii?Q?DBqdn7Wimbg+QMDJTLimupQFZPpsUf322S/1tbZS6CxB+t5xX7ce7E/hbyrE?= =?us-ascii?Q?/HiKHz29JoaQ2TkxKi8D3HdJITG8Ln1YhVw0gP1Mmh1GnRnHBSbCXNo4gelH?= =?us-ascii?Q?0fq1RX9ZMZQvOOnabhCS6jbzUpCvQdc9zSuqXN9/C1ZaR6wobRlTMZbcbuhd?= =?us-ascii?Q?Vs+KW9HcAbbjAK3Kg3+8Qd70rH/botYWxnmNJmydwIUvhtPmeEhDNWQEsiwZ?= =?us-ascii?Q?PtVAOgc5E0DPmXqn1wfzUv9ge/TGzl+ySEQ4UWV1O2eGFSTDFd+UAh65GEE6?= =?us-ascii?Q?foKE34VmbonO6KHBC5ibeECw8pSSNudl1/aYDq/G4Y5jfjSCBmAdirOHtoA0?= =?us-ascii?Q?hzW1fQLQmFD1zcUx0kY19/4qouc9lISUfl5ivdv4p7Y7iJWGzHqA+ujRhdYV?= =?us-ascii?Q?ocVAgoeWsIFRQ/rEzBZVYtpvf/2SBNt5qqmW1vNwBShsTdVFemQfYym+sf8t?= =?us-ascii?Q?GGqfCPzNg19C/AWslHyRLP1bXdHqb0xdEfe8PhpLktekc3MimGqPtwSwOPwe?= =?us-ascii?Q?Qm8sYKAqxpVrscCEFGZlY/xGmC2oGBi9QZDWx/OyffivbIHlvAZqHavZXp3N?= =?us-ascii?Q?NWnz14YgqgG4sgcQhGBRfo7QRTrr4pUG7apLkTf6P/UZhLHQOtOaIdRRa/LI?= =?us-ascii?Q?B0LXbBeqpGTzexB1OrsyZv7H?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1e5e883-711f-42d3-57ed-08dabd4728e5 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2022 02:57:35.5459 (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: PR3P250MB0257 Subject: [FFmpeg-devel] [PATCH 20/24] avcodec/mpegvideo_dec: Don't use MotionEstContext as scratch space 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Decoders that might use quarter pixel motion estimation (namely MPEG-4 as well as the VC-1 family) currently use MpegEncContext.me.qpel_(put|avg) as scratch space for pointers to arrays of function pointers. (MotionEstContext contains such pointers as it supports quarter pixel motion estimation.) The MotionEstContext is unused apart from this for the decoding part of mpegvideo. Using the context at all is for decoding is actually unnecessary and easily avoided: All codecs with quarter pixels set me.qpel_avg to qdsp.avg_qpel_pixels_tab, so one can just unconditionally use this in ff_mpv_reconstruct_mb(). MPEG-4 sets qpel_put to qdsp.put_qpel_pixels_tab or to qdsp.put_no_rnd_qpel_pixels_tab based upon whether the current frame is a b-frame with no_rounding or not, while the VC-1-based decoders set it to qdsp.put_qpel_pixels_tab unconditionally. Given that no_rounding is always zero for VC-1, using the same check for VC-1 as well as for MPEG-4 would work. Since ff_mpv_reconstruct_mb() already has exactly the right check (for hpeldsp), it can simply be reused. (This change will result in ff_mpv_motion() receiving a pointer to an array of NULL function pointers instead of a NULL pointer for codecs without qpeldsp (like MPEG-1/2). It doesn't matter.) Signed-off-by: Andreas Rheinhardt --- libavcodec/h263dec.c | 8 -------- libavcodec/mpv_reconstruct_mb_template.c | 6 ++++-- libavcodec/mss2.c | 4 ---- libavcodec/vc1dec.c | 3 --- 4 files changed, 4 insertions(+), 17 deletions(-) diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 90dd32bd3a..5f5ecfdddc 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -597,14 +597,6 @@ retry: avctx->skip_frame >= AVDISCARD_ALL) return get_consumed_bytes(s, buf_size); - if ((!s->no_rounding) || s->pict_type == AV_PICTURE_TYPE_B) { - s->me.qpel_put = s->qdsp.put_qpel_pixels_tab; - s->me.qpel_avg = s->qdsp.avg_qpel_pixels_tab; - } else { - s->me.qpel_put = s->qdsp.put_no_rnd_qpel_pixels_tab; - s->me.qpel_avg = s->qdsp.avg_qpel_pixels_tab; - } - if ((ret = ff_mpv_frame_start(s, avctx)) < 0) return ret; diff --git a/libavcodec/mpv_reconstruct_mb_template.c b/libavcodec/mpv_reconstruct_mb_template.c index 5023fe58ae..6f7a5fb1b4 100644 --- a/libavcodec/mpv_reconstruct_mb_template.c +++ b/libavcodec/mpv_reconstruct_mb_template.c @@ -145,17 +145,19 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } } else { op_pixels_func (*op_pix)[4]; - qpel_mc_func (*op_qpix)[16] = s->me.qpel_put; + qpel_mc_func (*op_qpix)[16]; if ((is_mpeg12 == DEFINITELY_MPEG12 || !s->no_rounding) || s->pict_type == AV_PICTURE_TYPE_B) { op_pix = s->hdsp.put_pixels_tab; + op_qpix = s->qdsp.put_qpel_pixels_tab; } else { op_pix = s->hdsp.put_no_rnd_pixels_tab; + op_qpix = s->qdsp.put_no_rnd_qpel_pixels_tab; } if (s->mv_dir & MV_DIR_FORWARD) { ff_mpv_motion(s, dest_y, dest_cb, dest_cr, 0, s->last_picture.f->data, op_pix, op_qpix); op_pix = s->hdsp.avg_pixels_tab; - op_qpix = s->me.qpel_avg; + op_qpix = s->qdsp.avg_qpel_pixels_tab; } if (s->mv_dir & MV_DIR_BACKWARD) { ff_mpv_motion(s, dest_y, dest_cb, dest_cr, 1, s->next_picture.f->data, op_pix, op_qpix); diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c index 2469718c8f..1d1ed11f54 100644 --- a/libavcodec/mss2.c +++ b/libavcodec/mss2.c @@ -855,10 +855,6 @@ static av_cold int wmv9_init(AVCodecContext *avctx) if (ret < 0) return ret; - /* error concealment */ - v->s.me.qpel_put = v->s.qdsp.put_qpel_pixels_tab; - v->s.me.qpel_avg = v->s.qdsp.avg_qpel_pixels_tab; - return 0; } diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index bcfd2bae0b..e7ad540d84 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -1060,9 +1060,6 @@ static int vc1_decode_frame(AVCodecContext *avctx, AVFrame *pict, s->current_picture_ptr->f->repeat_pict = v->rptfrm * 2; } - s->me.qpel_put = s->qdsp.put_qpel_pixels_tab; - s->me.qpel_avg = s->qdsp.avg_qpel_pixels_tab; - if (avctx->hwaccel) { s->mb_y = 0; if (v->field_mode && buf_start_second_field) { -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".