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 0028348120 for ; Fri, 9 Feb 2024 10:05:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B0AF368CE01; Fri, 9 Feb 2024 12:05:15 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2010.outbound.protection.outlook.com [40.92.90.10]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2469F68CB44 for ; Fri, 9 Feb 2024 12:05:09 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Te4j+1fOXLBGz9YozE8Bq0/v4gVhZQGMcGsY/OaayKEusFfZhwbK996uqmDH62+sOlsbUtE+P5jnOMdC3d54V6I8vNA7uYVxA9oMHJfVAj+Qw6JQ1CKU55D2Z0Dato+PexeSvx0R0NdLhGPyTtoZNjScnVqLB0iE3YRJ53Vvdd8WzveU3PunOodpIYDS/0K2FgfvLe1JsPBlR1O8pnDQW5A1pyCOZvQ50chmU74LG7Peoyfz57hU31jP2XllRv2BXIfdKW1mHRJLF7WLkXpiaJXgoBjwlbKlO7hq1sUkyivJV9XNmKWgZtvwCKFj8hoZnU42rqIa3HhJO/T+Ayqhww== 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=ZGuex4EWiL0rnvNPqS1RM49VTdN4JTAR6vPa6HWJVqw=; b=DgQ53i1STgyoajtWMcoMk5JJo3MgZ5c+wYIRwoMzD+XHzygxG24v4YyOaJmJa9wGdSGXHiBBbaR82/OGmQ3um2VOxysw7kFE3oKQicann/uRxS4btx11GbbIIdQ0+bpccNEcesOaxA+Zn2RI5tDNRnQzK5nbAMRVzCkokx51l/OBwYd4v/fw13Zjg3+/nagXWhJ4/FjeY1KeA2IEi1E72o2hfNr5KerfbjL9DhfW+1beZvi5Xp3UccoO30ULpJn5zCAm2Nax5otJx+iOGEZOHi5r0YZAE6DSJSGeSCXucNGuME29Tc4CR2f7B0ttqwH+L4Z2Gkj9x3rvkw0cXtJ7gg== 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=ZGuex4EWiL0rnvNPqS1RM49VTdN4JTAR6vPa6HWJVqw=; b=tdLL687ORVfd3+ML2Nml2iEPBEcyQvgYCQ0VAfiCdq5auA9Dd6r4WpGQHXH4yUvrCKxeRAT7STxEiDxrmLOruIYzWO66AW+7V+lrIU1PP4doFYfEfqbFmNc5apHMQpkjVPJNYXrbnfuLob7PneaZvdW+2chC0436xE4iJ8mwCc3bzPNhDJ4nxu26BMvQ4DNQozbl2E2JDBOViFn78hmaSmBSrd2C9fMLaL+ByGUw5taCE8v2fszOavVapqLtlH/M6XE2P1MOj67Te/BqCEc3srBhEOBxh0GC7nMKngGaojVq5JD0dA0gLu7e5HXayxBkpIfUGAbSRmYizkLHb7Fb6w== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0121.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:36c::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.26; Fri, 9 Feb 2024 10:05:06 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7249.039; Fri, 9 Feb 2024 10:05:05 +0000 Message-ID: Date: Fri, 9 Feb 2024 11:06:59 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20240209095933.88301-1-connorbworley@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20240209095933.88301-1-connorbworley@gmail.com> X-TMN: [Sx4LS0hlrA3Ldl9/1Xi9TKIyTuuV23pZbtiXdZRZqJQ=] X-ClientProxiedBy: ZR2P278CA0001.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:50::9) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <86931ed3-26d7-4fb3-866b-72b07fd06bf0@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0121:EE_ X-MS-Office365-Filtering-Correlation-Id: e51b5395-048c-4a4d-21f4-08dc295696da X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4VNrmWz6A8VMDsg8F6u21QOlpyxL1q7mz48r2ugm1I8Qd6z41lwlcOpQX6kUWb/LyCTswaC3EoBm8nQit2d/uNCX0fj4RBcZvgqlzZflAzKjXr5DFDJtvkt+FvSVElWmDtqCCzM+Yt/vcatGZ/BFA24DMjkHQRrXlkstQlJNgIQ6duR66MvggKLrx4Lqn8BSZvZSJmUm7N7TWmRYXaKuaFdoCWU9rOPHxwQUHdBICkDfXykETpIlt/T6/Bjq4yXQPjaGfm61/DkWH1qwLgyi4Zeg+Y1Gml7xhJHa0KgDrQU/DQ5MrjAMrrRF5r9bcYvwMBnE8c5zksLYR0jY+C/j/ioLOeNJkXpdu3RkmUy/tTgdIaER9isnV4uJRQyz1Qzk4zmZ4F0mfl5HGX5RuuoYwcftDInFDsSerMFLCZUPIXNr7L39QnMXTLhDSxmkRj5FWXXNUZ9DQb30Qyzfsp92dnKrwJ/XkzSVBBlkq6A1YFLr0SPGXdlk+VcVeBJI0goeJ2lGvpGrlBrQZheU05S6TQQxbeEbRtys6u46Y6ttL31OXAnxTo8t68NCL8iqTG+F X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RWlMdE50TUx1dVFiVmFDcFFKR25QQWt2MlNMVk42Z1duUVg4bnEzRUprbUln?= =?utf-8?B?UXhHOXF3M0lDdzRvaDBJRGw2MXp2VWNyLzUwNmp3WWhxR0ZjYXF5eTg4dXNq?= =?utf-8?B?ekZFNDk0dHlEemdiVytJbHEycmFxT05UdDB3Mnc0dkZOd09PVDAwL0thRW82?= =?utf-8?B?d0p3eDVxSFNORi9lS25xNzB0a2ZVdzNvbHdYNENVeS81aWpGYWtMbGwvdkJD?= =?utf-8?B?a05kdDdwT0JsdERKS01ONU9VUDkvZm9PblpDakVUNFc3TGdRQy9QRG5qRkNF?= =?utf-8?B?cFBiVVlURDl6a2k2VmVWb1NMcmV1ZnBJVndvVTVicDRsM0NRUWo4Tnh4cm9H?= =?utf-8?B?Qi9SbnBtbEZtUFk3WmFqamlWQWJNMEVpT0tOdklnYVF0cVgrTzRIcDdNOHNP?= =?utf-8?B?QTBtTjlQeU9XcVAzRWRNM3V5eis5VlNBb0N4VHlXR3kzeU5EUzNYUEFyR0hI?= =?utf-8?B?V2lRMnd0c0l3Yng0R2dza3dUcFh4RU1vM0dxaHJwQ2RnL0RqQWNPTmRyR0Jl?= =?utf-8?B?N09mL3VGeVN2SythUHhmNEFKSlk4Y1ZYTE03dzg3MG1TeGFYQmszZlNuV1VX?= =?utf-8?B?cithNk1RMUk0by9MMWJXUTEyQTZiT3k3b2ZuMGVRaUJpRjNib3c1TDZBMGFy?= =?utf-8?B?SXRsNVhZWGh4M09nZlVnNndZYXdCN1I4bDdPaE5jNkhiclp6YVE1NFB6azE0?= =?utf-8?B?YjM5Q21wSWV2WHdwTGQ1Zm5tSlNORGt5ZThuZ0RhVlE3aGEwMXpJbkFyTFIx?= =?utf-8?B?YWF4d3Y0aDlSbVRlV2dtNSt3OTNsTFRCRjRwRHRoUU5ydU9SUjBWMGNPOEpw?= =?utf-8?B?NXZXQzgwcmpiVzFKalhXQ0R6UThVbjJQRmkrekx6YTR3ZFhRVkdrUnBpU2E5?= =?utf-8?B?T0lUMHBJUHBXc2Jwbnl4YkNBQjJCTmk3V2NZMEZzQTlGT2FoYmpVV2l0QVlI?= =?utf-8?B?bGZiWjJMS0xKSGZmQk5SaUtjWExiR2tEYXNNTitjNS9acjNMNk5CY05qK1l4?= =?utf-8?B?TmxJeFIrQytyWVQxRzZ0ZHRFTzZ5SGZMSVh5dVl6TWJLWEVSTWpIanp5YVpl?= =?utf-8?B?YndHbm1nbXhaMy9IUzkxa0RYeDlQMTNrZmM2SE9SQ0xhMVBxZ2R0OWx1YTRO?= =?utf-8?B?OWxTdHNsa2hqbWk2Z3RmZnR6UENmQWRzZjMra29UQ3lDTnNMSEpURTlwWjh1?= =?utf-8?B?cDUvYi9aMmZQMkpUZmd4bFFUc0lRZDQzMXFZOWVGc3pMZit6dVF1aVdWejRO?= =?utf-8?B?VnNUblNYM3QreHNTZjBIeFRwblhIWTFGekpnTU5xM1VvdHFOek8rQjdEZ2ta?= =?utf-8?B?T1htVFV5VC9pK2xJZnhpbmJyVkhzSUV5MjdmR05HYkt5aHJPR1lmcTdwMGpS?= =?utf-8?B?L3JGUjB0MlZVWnQzeU03amdLKzVsZFpxMkROZ3lMZVJQeTNUd0JHK0NmRy9m?= =?utf-8?B?dmVIbTdsSkJkdVREcHRtWmJHSUl5UytBb205Z05jc1dwMHRMTEFZdXB3TmY0?= =?utf-8?B?bk1CVVZpbVIzekp4U21CdThwMUJVa0tUUWVFNFUvZStUaG03dkdIaldlazZT?= =?utf-8?B?S0pNNitQRXhsTG5PM29kekE2M1lpcGppZi90ZEtPaVVGNjVHYlhLUWZlbyt3?= =?utf-8?B?MWpUWk13Uys4ektGWEdsUlRjRVZvdElwQTRTNjl1dUg5K3dzdVlyb0pHUy84?= =?utf-8?B?a254NUhieXVYTFVkYkF4SWdrNFhqbmJTclYwWjZ4Y1hLajdZbDBxNUx3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e51b5395-048c-4a4d-21f4-08dc295696da X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2024 10:05:05.6282 (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: AM8P250MB0121 Subject: Re: [FFmpeg-devel] [PATCH] lavc/dxv: align to 4x4 blocks instead of 16x16 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 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: Connor Worley: > The previous assumption that DXV needs to be aligned to 16x16 was > erroneous. 4x4 works just as well, and FATE decoder tests pass for all > texture formats. > > On the encoder side, we should reject input that isn't 4x4 aligned, > like the HAP encoder does, and stop aligning to 16x16. This both solves > the uninitialized reads causing current FATE tests to fail and produces > smaller encoded outputs. Given that this is a lossy format, one also has to investigate whether the quality is affected. > > Signed-off-by: Connor Worley > --- > libavcodec/dxv.c | 6 +++--- > libavcodec/dxvenc.c | 13 ++++++++++--- > tests/ref/fate/dxv3enc-dxt1 | 2 +- > 3 files changed, 14 insertions(+), 7 deletions(-) > > diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c > index e1c7cee3e8..9261a5cac1 100644 > --- a/libavcodec/dxv.c > +++ b/libavcodec/dxv.c > @@ -1238,9 +1238,9 @@ static int dxv_init(AVCodecContext *avctx) > return ret; > } > > - /* Codec requires 16x16 alignment. */ > - avctx->coded_width = FFALIGN(avctx->width, 16); > - avctx->coded_height = FFALIGN(avctx->height, 16); > + /* Since codec is based on 4x4 blocks, size is aligned to 4 */ > + avctx->coded_width = FFALIGN(avctx->width, TEXTURE_BLOCK_W); > + avctx->coded_height = FFALIGN(avctx->height, TEXTURE_BLOCK_H); > > ff_texturedsp_init(&ctx->texdsp); > > diff --git a/libavcodec/dxvenc.c b/libavcodec/dxvenc.c > index ebc48aace3..3023a6da6c 100644 > --- a/libavcodec/dxvenc.c > +++ b/libavcodec/dxvenc.c > @@ -216,6 +216,13 @@ static av_cold int dxv_init(AVCodecContext *avctx) > return ret; > } > > + if (avctx->width % TEXTURE_BLOCK_W || avctx->height % TEXTURE_BLOCK_H) { > + av_log(avctx, AV_LOG_ERROR, "Video size %dx%d is not multiple of %dx%d.\n", > + avctx->width, avctx->height, > + TEXTURE_BLOCK_W, TEXTURE_BLOCK_H); There is really no reason to pass this via arguments. > + return AVERROR_INVALIDDATA; > + } > + > ff_texturedspenc_init(&texdsp); > > switch (ctx->tex_fmt) { > @@ -229,10 +236,10 @@ static av_cold int dxv_init(AVCodecContext *avctx) > return AVERROR_INVALIDDATA; > } > ctx->enc.raw_ratio = 16; > - ctx->tex_size = FFALIGN(avctx->width, 16) / TEXTURE_BLOCK_W * > - FFALIGN(avctx->height, 16) / TEXTURE_BLOCK_H * > + ctx->tex_size = avctx->width / TEXTURE_BLOCK_W * > + avctx->height / TEXTURE_BLOCK_H * > ctx->enc.tex_ratio; > - ctx->enc.slice_count = av_clip(avctx->thread_count, 1, FFALIGN(avctx->height, 16) / TEXTURE_BLOCK_H); > + ctx->enc.slice_count = av_clip(avctx->thread_count, 1, avctx->height / TEXTURE_BLOCK_H); > > ctx->tex_data = av_malloc(ctx->tex_size); > if (!ctx->tex_data) { > diff --git a/tests/ref/fate/dxv3enc-dxt1 b/tests/ref/fate/dxv3enc-dxt1 > index 3cfd73397e..74849a8031 100644 > --- a/tests/ref/fate/dxv3enc-dxt1 > +++ b/tests/ref/fate/dxv3enc-dxt1 > @@ -3,4 +3,4 @@ > #codec_id 0: dxv > #dimensions 0: 1920x1080 > #sar 0: 1/1 > -0, 0, 0, 1, 76767, 0x932ecbfa > +0, 0, 0, 1, 76521, 0xed387a5e _______________________________________________ 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".