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 1CF5A40F48 for ; Fri, 11 Feb 2022 08:51:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EF59868B219; Fri, 11 Feb 2022 10:51:29 +0200 (EET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-oln040092069068.outbound.protection.outlook.com [40.92.69.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DAFD068B1E0 for ; Fri, 11 Feb 2022 10:51:23 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ck1/SrZ+7kOLHju1Ig7FMZz+3RahCrdOktLHaNGq489Fig6QuqAFxiNBA5sy0hL65atZaKycWXgmp+IMQRxhO8LXLf2ImxXILYOCsGKN1w2pxfy1k6lpAjb4vnVY8DFKPLLCqOkSXMC690Y/wW/hG6I4mATyRIYqx4YkrCUjX6e1LLwM2TXny5t8k5W1PcvafdSzZGPLMWcjqTD6oIl59f9M+cYdqLRaSbr8a2Q+ywqrNCr8rODFzAUfYeVUFdyLBcleztILtyM2pz0RKa82tCBRwyrVvgPlgFGm05087bGQaTrY+AnLjGzEDOgGbfI/ZEJZyYBWAXDJaS+WT8/fkA== 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=6En9Q0RASXbZFHrjKpcn+WgJm9obKHIaoE7xBKNOaCQ=; b=BZHx7/lwnv526nOcyaYiHk39wpPHuzTbeo1qPACPncHv3jDE4DxmZo3DwtacFlKpc9OE2RIpe3M2E1oErFe47EC6Ud0om2rC2ck9c/bWMpogk6xERVfia2j/jqFdgLoakF5GMDIpW4/F5Szll8dKYYsc5gYXQt9KHl9k45A9yvfzRsKHCAPhJ2sz3uBemFizUZzt3W54dtCJ8Ul0KMeTIA+Hy4RljBZa8mpWAXiPamf0wy9M4Aj70SPtbPjQXgZqAzjgw0Ir4qdDhZpNwebnKdBIMiJ5820PiuWNADjxDJLXKEpppKTffJmdZi9OqxC/qxKW0s5kKnUGeCWf0z3B1w== 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=6En9Q0RASXbZFHrjKpcn+WgJm9obKHIaoE7xBKNOaCQ=; b=AxG25R+e+gzNHxOA4JZ0+mo1Uv5Lq41IZlgzy68CfvZ63tefwn5ANED4U69m+V3CQ86QRr6LdWVnnBTcNs+k+CNAoaMTyxFW8w+ek0lH6P64DnmCQk2UxkxBAb16dNoWZWNuEeOq8jYQB+HFUW91g2L+ZYjIyEBbwhCEF4kdrI3fDb94WFkketcoIr6OC0TjA/+zXaNxEgUjqAHcTfYo50KylHi1RTA6RTHQJzQNyeUxA7ZCHEoMcVpuix+T/bIq6qZlgSYv1g7yCoTg11MyyA2Ue1o/bd/Y/0fod/BmlnBtcsw5mfI4Kqx6nU+NDm7/M07Ns7hD0JwoW1z7TQIAqQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM0PR03MB4884.eurprd03.prod.outlook.com (2603:10a6:208:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11; Fri, 11 Feb 2022 08:51:13 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%5]) with mapi id 15.20.4975.011; Fri, 11 Feb 2022 08:51:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 11 Feb 2022 09:50:59 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220211085101.1588296-1-andreas.rheinhardt@outlook.com> References: <20220211085101.1588296-1-andreas.rheinhardt@outlook.com> X-TMN: [VCGAHencs3IQFPGVCdm/4Bp5Cg0hXotx] X-ClientProxiedBy: AM5PR04CA0003.eurprd04.prod.outlook.com (2603:10a6:206:1::16) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220211085101.1588296-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e3dc73a7-bbd4-4823-3450-08d9ed3ba88d X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSJybpSSbCo5zX4av1Jyrl15ewi5Frp7UR5GnVqRyHG4WsXN4S98FcphW38NeoNjUkJMm+c+Cci8lGJ8/BvplOR0pbUqkpD+pFikPcR0iGopD5k3pK7HuHmvTCDbnYVJRR4vBOCZaIhaB2NheYiPm8tXUlzmg38BLnz7g0MPZhnsVpZAMZkQoOfjHHRZJh1eXnrXGEUNDgr1Dn2Sq0Jtu4TIceF1z0VOcJEdAG9rYt/StiF5buw/29LvzvYIdu+tZrzgpj1qzS8ehag/nqrRDu90nTIPIt1eRKxZUSC2vZfm3HNrLAjkCWdqLDB8nQwuYc5WUfMhT/x5/BvPIE6NYNXRRZREz0i3GvoZAqE0aUHh+OsmXA9e6by0rWkeFT+0aTd0PZ3a0KMZuv/z+xaqVBvtC0+k5OynrSm3gOscCPAeODBZx/DBcmsPlYpolQieGL/+ZReGuzqoqMoLE9z+1km5DngB0zezYSlYdRMUTnpwUpGnipth9N03PC/+g7t5mcSF4ZtJ0sjXbCHyTVS2ybfQZ3kwPz8qiJ6pQRx2SyZ3xtDZmsbCOO9QJtHw5Br6XV0+nZqi4pe0SB5Oc38etx8ETHJU8wQm1/tkW7HySlRlz6YfOp4ilrzR9tD3pTljFcFsnVU7N1KZUyFc3hH2DZN8mhwfsuqZoXwc0w5kJV1YLiaQPmoaSb0sGNag7B8mrmiuxNLjRfoMAOZMufFjhNJVgm+Bw8zfnbDvNKJka56ZVyj2Ugo4WNU0aqWgKwF8qw= X-MS-TrafficTypeDiagnostic: AM0PR03MB4884:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aqj9Q0heHORhq654V1epuaMrlffJPkuQei80cFfHEMObfi3S3QGaCr9QzF8KTgrrKR6gQ1QuqJ2sef55CW+PHyJJyvO17B69U/YA9kddT6hu5LmmavzeMrfRLThzc7PuHS8Ul+5Ez9EEjS+JoKMiKxhcaQqnft7LneKdP6d6V8C8THDUAAhbB/X3hT1qW/7KGPPHRXYaL5pyxZ2ZjSyWTGcyYQV+muS6uMKrR8YYMs30M4Y4oOKwTLjKWPQcm5bTvI5tCYY//xFvRqVceV1QadmIpqOAKYkB8pXmy68/U7jwkPEGezXypgoVNh4cBuSQGn2UV7q6hv7zVBpdG4n0hGaGCb7uQbkXXzoO/O0WkwrkwxDErs4/rLF+SOTYgmnIxOFFS7CUyec/LteD8wzRTDpiABdyLl8iiVSHQLm/71xqWbElPHanR3bhDFL9C5YqYM+q6jvzboIKDDDBwpGBtIhySvz/5bw+W6isO9hO+EbaTEcumio/wD2JHwmPnoENdQnl2J0HwxFEaxeP5Dm4Fqhfc5sHJyKYi29pL2GsMxFH3DIPH5WYuaUFVKpvLrESzlPQJ5xlQTa+ZxbXm5GGng== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xneTsMWMGJpLoOWO9HIuMcoeACe9DdVPWbRwsXoYysGRs7TTGrkrFKcnsN7j?= =?us-ascii?Q?xw9sMLc7YzexpbJCoRTStamcSNe+P5AlB3zvZGjyGHEmuWx+GAAwvf+xr4XH?= =?us-ascii?Q?4FmID38cj1C7SE3bUjywlWWEwZHz8xg9iQDXR1Dp+Jp5E/DT+KhF+P/ZdOGi?= =?us-ascii?Q?mu8KJYUyGczr3Pu+kkhLFVozOSLytsTA3JosIDZw+Grv6Blr8GVLryhYDnI+?= =?us-ascii?Q?dKaReD6SDsEDQuYCWe28PDuhEd0eLyzpw6IpS6V7CgIP5LPE4NAed0Xzip2J?= =?us-ascii?Q?H90Uev+KuQKeDmJ2oEc7F1Uh+560K/645jVe+Owp9TSKFyTwaOszhKgWCr3a?= =?us-ascii?Q?/B33vVVGWwSZ9IqB2CEVAlnuRrNlY3dCNh2aV1iOxUu7HALSehXaO+IO41D9?= =?us-ascii?Q?OguEIxP4bCfyuTnkBiKJTCw15N5BoWk+6y01b5n5zdqF3eTGkCgU0QTW8vTq?= =?us-ascii?Q?y9C/v7SazdSgpIwrMhc3s7UU1H7QHFe9IWTU1Rks16ugRKfXl8vkkDS4qKgG?= =?us-ascii?Q?bK+gqSJCnYfqo9BxH6tzGiXiRABRJ29MB010rjG8dFVWXDrLSV60TcbX9JIr?= =?us-ascii?Q?9L1kvjDPbFILjFrbtsoVDMZShBylOkbPGAWYN/9teh9EI7rXwIkmjrC55nDL?= =?us-ascii?Q?Qm7g3LqJITAakjSOepzK/EpMqv7rwxRx9SNPhObAEUulcMdD7PxyEFyDCGBK?= =?us-ascii?Q?jJyzDdMmLKV4q9qLgV85Ahy4UPa0iJtrAaP554XpzX8GZzhsjnNhTRjyWKri?= =?us-ascii?Q?ZCyXPJx3E6wrbgavnf/FTbqP5m78dW1IJauomcIvsjr94rlceMkHRCuhLTLS?= =?us-ascii?Q?9tGa95eQ1q2oz43SU0Y087ZVkEMMx1SleEWJUCSrNzwE8z/wutzgf8uXxIVq?= =?us-ascii?Q?7xDEyV5iLQatCzkCwVovBW3XSvvxCoD2ZM6bqFGyQyhWObpfZtsjj2S8SzEi?= =?us-ascii?Q?zXde/m0DmHeobPiYeeGBOg=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e3dc73a7-bbd4-4823-3450-08d9ed3ba88d X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2022 08:51:13.8971 (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: AM0PR03MB4884 Subject: [FFmpeg-devel] [PATCH 4/6] avcodec/vp6: Avoid code duplication when initializing VP56 contexts 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: Signed-off-by: Andreas Rheinhardt --- libavcodec/vp6.c | 51 +++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c index 3acca16f3c..ae8e223349 100644 --- a/libavcodec/vp6.c +++ b/libavcodec/vp6.c @@ -637,57 +637,58 @@ static void vp6_filter(VP56Context *s, uint8_t *dst, uint8_t *src, } } -static av_cold void vp6_decode_init_context(VP56Context *s); +static av_cold int vp6_decode_init_context(AVCodecContext *avctx, + VP56Context *s, int flip, int has_alpha) +{ + int ret = ff_vp56_init_context(avctx, s, flip, has_alpha); + if (ret < 0) + return ret; + + ff_vp6dsp_init(&s->vp56dsp); + + s->deblock_filtering = 0; + s->vp56_coord_div = vp6_coord_div; + s->parse_vector_adjustment = vp6_parse_vector_adjustment; + s->filter = vp6_filter; + s->default_models_init = vp6_default_models_init; + s->parse_vector_models = vp6_parse_vector_models; + s->parse_coeff_models = vp6_parse_coeff_models; + s->parse_header = vp6_parse_header; + + return 0; +} static av_cold int vp6_decode_init(AVCodecContext *avctx) { VP56Context *s = avctx->priv_data; int ret; - if ((ret = ff_vp56_init(avctx, avctx->codec->id == AV_CODEC_ID_VP6, - avctx->codec->id == AV_CODEC_ID_VP6A)) < 0) + ret = vp6_decode_init_context(avctx, s, avctx->codec_id == AV_CODEC_ID_VP6, + avctx->codec_id == AV_CODEC_ID_VP6A); + if (ret < 0) return ret; - ff_vp6dsp_init(&s->vp56dsp); - - vp6_decode_init_context(s); if (s->has_alpha) { /* Can only happen for ff_vp6a_decoder */ s->alpha_context = &s[1]; - ret = ff_vp56_init_context(avctx, s->alpha_context, - s->flip == -1, s->has_alpha); + ret = vp6_decode_init_context(avctx, s->alpha_context, + s->flip == -1, s->has_alpha); if (ret < 0) return ret; - ff_vp6dsp_init(&s->alpha_context->vp56dsp); - vp6_decode_init_context(s->alpha_context); } return 0; } -static av_cold void vp6_decode_init_context(VP56Context *s) -{ - s->deblock_filtering = 0; - s->vp56_coord_div = vp6_coord_div; - s->parse_vector_adjustment = vp6_parse_vector_adjustment; - s->filter = vp6_filter; - s->default_models_init = vp6_default_models_init; - s->parse_vector_models = vp6_parse_vector_models; - s->parse_coeff_models = vp6_parse_coeff_models; - s->parse_header = vp6_parse_header; -} - static av_cold void vp6_decode_free_context(VP56Context *s); static av_cold int vp6_decode_free(AVCodecContext *avctx) { VP56Context *s = avctx->priv_data; - ff_vp56_free(avctx); vp6_decode_free_context(s); if (s->alpha_context) { - ff_vp56_free_context(s->alpha_context); vp6_decode_free_context(s->alpha_context); s->alpha_context = NULL; } @@ -699,6 +700,8 @@ static av_cold void vp6_decode_free_context(VP56Context *s) { int pt, ct, cg; + ff_vp56_free_context(s); + for (pt=0; pt<2; pt++) { ff_free_vlc(&s->dccv_vlc[pt]); ff_free_vlc(&s->runv_vlc[pt]); -- 2.32.0 _______________________________________________ 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".