From patchwork Tue Oct 18 13:31:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38800 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp2108018pzb; Tue, 18 Oct 2022 06:31:55 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5g+xrOPW+X9I6ydCmjjUTu4vOMdgDEq9CMxzjWBVhdEJO3waZIk9p7TzoxzDJw566GIPEv X-Received: by 2002:a17:906:5ac2:b0:78d:3358:7694 with SMTP id x2-20020a1709065ac200b0078d33587694mr2437825ejs.276.1666099915339; Tue, 18 Oct 2022 06:31:55 -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 hr15-20020a1709073f8f00b0078dd12d0a9bsi11464640ejc.875.2022.10.18.06.31.54; Tue, 18 Oct 2022 06:31:55 -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=dk67q4cv; 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 8814E68BDA0; Tue, 18 Oct 2022 16:31:52 +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-oln040092073051.outbound.protection.outlook.com [40.92.73.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5228468BD41 for ; Tue, 18 Oct 2022 16:31:46 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DwMoeDY70ldn7FFgIC0qJJcx7cd2O2+BOPfFzH5nkW2Lb83OPBCQN+M7CG5+H7RMwlgFKV9bnTUThGqtFAdeoK1WlKbzwoAY9B9D2KV1q6tb87PgXfYABtbDmy/r/P8rZ018HdQYf2fq+ffUBI1HSrm6Q8sohiW3/yga1sVD8P245XYS3VimHjErlWjYMVdOx5IZdznbWr/3VYHQHMCKqvcL73mj/pEFOVcQ+8HRan1Wh+4aMt49QWzFAcq+2hXscfbiY6a67W+x4BijqYtUuZwT4Kft2AhxvD2tXo2Zs/MvSTCbBk7Op63oqXwO16RU7yoBvm3SqIT7wyhl2AB1Pg== 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=wb7soeYPPYco2TfmxPdUbNmdD8h9YoRWmkrK4QZVpAw=; b=aJeEVrGDlh5OoH8WTSLl0tPdI6HSDultk1yFNOPFh8jwtUkGg8VscSBVfewuMTqH+4dz6RZ2MyKE8xIFlEDuBGtA6UbXYQtCcnTKuxyIf9zWYqS8t9QZLI69zRmNOLw3fdJ2dOjcjJE1VIz0eYSkJp0M28vy+ETCHK4CV+VPmtV3mCpgZnlCb6d0lkDoFezD1nVdv0bXdzYYD1xBJOaAb6LPUmfw2ccRXHdtgNGUilz72V7oUrxEfHe4yH93+3itlM5wL+hUBtutuXTSifA0qF3X7/WgE/cTUsK7T9kKAto5smAXigDbEAsV48y+zQCCqmb+8qugjNmJtTlbq18V0Q== 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=wb7soeYPPYco2TfmxPdUbNmdD8h9YoRWmkrK4QZVpAw=; b=dk67q4cvJjDpDNUPRze3YOv8uc3CLFS/vK+ccCX25zHA+haTK1MEnyi0YCbdVxXnryLIfp/EXUH2sVxm3BVVotooCnkk0J5mXMQdmdehxXz6cgNXdzSGV38Sc7yDzxuIWeADStPKg5UG1xhb/MW/93I41OpUZH8ki2yzQNSgGIMtAi2j9p+F3AvcCsZqEW1DgGsWCAjM+orziVwJtsYwuwACD61g+e0GaPmDupILlthWAnTWdydw/hTTGjsVDlCUehYIgCV4MkYMMIw/EjlaOCRJ6c2NW9YBAx/LqIwAUfrOetpM00BQKhpf0QuDWnGxuvy+oksykxfYpKTrarXJIQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DB4P250MB1005.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3f3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Tue, 18 Oct 2022 13:31:44 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Tue, 18 Oct 2022 13:31:44 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 18 Oct 2022 15:31:23 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [ydj4AvR6Lt4K7KrN4n5nIOZRuLzk5Z39I5AC5hklAMc=] X-ClientProxiedBy: FR3P281CA0013.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::18) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221018133126.313251-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DB4P250MB1005:EE_ X-MS-Office365-Filtering-Correlation-Id: 76cab651-6ec6-4d4f-697a-08dab10d1937 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmoCHZv7nQ63qh6iSlZQCBKl06XMFtza6Ra0oXk45YxOQIM7NvG8+vFJViUMWlJW3JqfLqIq3eTQLkJFEE1CBiE8YpfWwlnVbgaDqeNyK/HSYDLhsxmX5iFkaJIqkY0RyeXDPtpvxCd4JB9Oez7cLLmMd30lFS36dsDX8vCitwlCnJP0TxUZFUB54cbn7NqRHmRomMhEjYgKQyC1uVM4H3fpAFqkPy046P+1Qpj2KLNnaKC7eh5buPKeDRaLSqWWMYAu0o4mpbsui0A2OejLhLWLjeYKI5pgNH++hq5IqDZ/smXhw6avG45LLDb1z1i3QC33fgMhXJxz6kSNcCvHgQhnhJmVuHrDhEhx1gwp0KoNdieNIrhbqHB0NGxbWKbT3TH+wCOAUFDXyI8ihFPPCelEjxX74xn2p8q8iSh7EEpJlOiJm6QIJFQIBnXSTlbU0cmzeHhNUripSh3bgMPT5wuzOBgdkSmb/PVNNUH4hDzcYNhBg1ixiEOZE9BFJKHhWidbNpWsjpzQIDU7szqW6V2ZNIcX4kUS0/U/L06hHA6N4dZVPdC597+GxGkoU/3fT2imJVC//vI939zC2eGV8fwJltu30T2QSwwbIZAgBJHCGCGxgRjoBauvtqtQTjvGRB0xFuOzD/6pu/IL6bSf4xCxLxrEaLIAaMhBaBhx7SZ22F6rNZ9nkK42WEYfBaqoKuUrrbOG4dN/E5eDR1e46UatQml4XqecVU4Sjt4vz1PepUjk50N6Uof+cXYkY5t3HUY= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HddAoi3j+qm2iEf5px/gQ7WdUqrHH6Y27kaRmX0lT7rHxtzvrCwKM0UyvrzVPwnYty6TDm/fM++cO1Es9XHjEiIJNBNpoWr+uexkwjTmkAHMZJmfKQbs9D7aOSOGpbyZUEJNsJ/rwrr7OrJDjmQFkPEuOXz11RuwMrx6yfnCzNehCQkP61ZGO2f1ZoSlssq3/pXzENE5V88lvUKlgIbDGP/3a3WhhdVrRWNxSYNlMD7fZNPdxoyYqxpJOejZCcVPXbTSineBhN9nllwyEICsb0CrvE0qCd4/YI+W+6KdbjOcZeg2FhSg6UQZXFiUjqOqLN9fg3bjSR307zQ1ZV+E3XNnCtAvh+5Bpju+PqMmCc65yiA0SgQyajX7OMQtpZYOfu49QQIbkFYTEmREvw4PXs8Bov4AU+v78gfgVQSw2MWwKbfVKy72FdqOycAkI9/CHEz7QSjBbhWHPPQk5gNIk1+CQu6vXHH9uBMs3IKBh+cqUu4UWFIjD07YKqg0QO1oCJDDbPc3oin2aFcUqu465Cz57Em1XhumGEjrri3spZZFIN9eWsJ8KhpposviCItPGhYEp9BaFBjvi3b8HOh73AWnSlgw6P38lOzhN1SlV2pfhIgQcQhe5TLBC1QfXx+e0KPxXTuTixq5m5onimHe1VVU1UKGwKQ9AZdZIqX1kRjRmVznVZaSGzwNMPmuT/Pm X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8nz2HuMYGcokbixucrZIuWmCBbw3JILGxa3gyq8LYVCMBzjjz56w6/0E3//VaEcjwWJ3bt+zSuo2FqOjbj7lNLtlZEgXdvfk37P4Ddxlp5ml+1U1GuyHwB6RtKiixOapXmm/kxE9K4GuE63cn9t+BHmFjDOzKz35g3DKotvkZ1qY8I62gTiGG06TpPPUzpS23tenibgnrtSi3W5c54F11akzBqQclTWyblE8IfsMTctvh+RmjgsmvIRFvZVfWI6dd6L5MMwKBQZgYPpOEZKsptZo62IJzkfEATZtM4aGtZtPMBmrOm1Uj1bj3CzcBHgyJdYSZMn7bq36g5TYD7npRFCaCYx7Y/EVuMZIqg879NURaEW08qDh9bJuBev+LETAr9D3bL/GA4l6Ub7/S/gnfQvRaEDVZ02qOwjt77dbuhp9TAIPQUbR8Nrh6AlpGlVXjCziim6ijhimxb6RKviNoqwwtdLrmrUmhHY1w9IlCZuRrT55PyW2gOlLqdQEXoAuC9N6uxExhTwChNe8eXmeG9kmrYqaeJY4hYUAeEbvgx8pY7Jjy/MxXXYLUtjl41arLcDx0KsIUzhg6zeFCUwoYRxB7E6+3yDBMO6++8UKbUQum4L6841B7Rspe4T8rfQi138mgwvu7PY0DB8PdGWdZBDLt20SbSlQdZLh0J6cF565cQnxRb8YwnixTV1/vNLC/LVDMdHIzg4YlzSPjyO8tSIVo2SBzzzFGxa4uPbEtmjrrySjiAa2CpIJdspnuOBTY3yiuzSvOHmNjL/oJAr4VkDhXjIfxICGs9O4zv6Cp7E78RQmuXn0eCgI2NEIKstP76a8qfEMD0cgvu28ybFScTFnJpJwYIHaGtsPdhBBtdsG3sfjgUHMNAwIIAJRoFqXYihW1oYQ/NxyhRZeb3jie+QWKJXuN5409lUHJPHG9OrXkaxxvSklyd66QwSpxze/LfdAp2LDIgRY2Qljt4Q5EV8YZhM7GeOKK93OUmDgSkC1cW1FsDFFG/pOB1kFtFXehegwyFIM7+g35zOlE8NNuX3HJt86tdE1wge+MD9OBw3kAc1YOZ/iHq6eza5GJukolLgVkJqrKw6vNbFVNuTa1OhCwELCD87FQTyfTvGWxfyxAQeXTdUT2azYD0HwpNTUoOVz7zCy4pB43Fw909wcwVtvhR49CPVQ2grc+efzrIjdmCvO+dz7szSNbK51DPfA6VP0jpVfy94birPDFYwQgXp4BUC8g4NFm35gm6Hb+/ijfFzIWTd3lA441b9KbBmOf1YRR25BQVfX21gYDUTYkEMFjUCEQpgqcJOP7ZzuZLe+G5EVBqyev1Fclzgp96x0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76cab651-6ec6-4d4f-697a-08dab10d1937 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2022 13:31:44.3818 (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: DB4P250MB1005 Subject: [FFmpeg-devel] [PATCH 5/8] avcodec/cyuv: Remove useless private context 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: +kFxO/BDQkyi It just contains duplicates of values from AVCodecContext as well as an write-only pointer to said AVCodecContext. Signed-off-by: Andreas Rheinhardt --- libavcodec/cyuv.c | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/libavcodec/cyuv.c b/libavcodec/cyuv.c index f233b362dc..0765f41ca3 100644 --- a/libavcodec/cyuv.c +++ b/libavcodec/cyuv.c @@ -37,22 +37,11 @@ #include "decode.h" #include "libavutil/internal.h" - -typedef struct CyuvDecodeContext { - AVCodecContext *avctx; - int width, height; -} CyuvDecodeContext; - static av_cold int cyuv_decode_init(AVCodecContext *avctx) { - CyuvDecodeContext *s = avctx->priv_data; - - s->avctx = avctx; - s->width = avctx->width; /* width needs to be divisible by 4 for this codec to work */ - if (s->width & 0x3) + if (avctx->width & 0x3) return AVERROR_INVALIDDATA; - s->height = avctx->height; return 0; } @@ -62,7 +51,6 @@ static int cyuv_decode_frame(AVCodecContext *avctx, AVFrame *frame, { const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; - CyuvDecodeContext *s=avctx->priv_data; unsigned char *y_plane; unsigned char *u_plane; @@ -80,7 +68,7 @@ static int cyuv_decode_frame(AVCodecContext *avctx, AVFrame *frame, int stream_ptr; unsigned char cur_byte; int pixel_groups; - int rawsize = s->height * FFALIGN(s->width,2) * 2; + int rawsize = avctx->height * FFALIGN(avctx->width,2) * 2; int ret; if (avctx->codec_id == AV_CODEC_ID_AURA) { @@ -91,13 +79,13 @@ static int cyuv_decode_frame(AVCodecContext *avctx, AVFrame *frame, * followed by (height) lines each with 3 bytes to represent groups * of 4 pixels. Thus, the total size of the buffer ought to be: * (3 * 16) + height * (width * 3 / 4) */ - if (buf_size == 48 + s->height * (s->width * 3 / 4)) { + if (buf_size == 48 + avctx->height * (avctx->width * 3 / 4)) { avctx->pix_fmt = AV_PIX_FMT_YUV411P; } else if(buf_size == rawsize ) { avctx->pix_fmt = AV_PIX_FMT_UYVY422; } else { av_log(avctx, AV_LOG_ERROR, "got a buffer with %d bytes when %d were expected\n", - buf_size, 48 + s->height * (s->width * 3 / 4)); + buf_size, 48 + avctx->height * (avctx->width * 3 / 4)); return AVERROR_INVALIDDATA; } @@ -112,8 +100,8 @@ static int cyuv_decode_frame(AVCodecContext *avctx, AVFrame *frame, v_plane = frame->data[2]; if (buf_size == rawsize) { - int linesize = FFALIGN(s->width,2) * 2; - y_plane += frame->linesize[0] * s->height; + int linesize = FFALIGN(avctx->width, 2) * 2; + y_plane += frame->linesize[0] * avctx->height; for (stream_ptr = 0; stream_ptr < rawsize; stream_ptr += linesize) { y_plane -= frame->linesize[0]; memcpy(y_plane, buf+stream_ptr, linesize); @@ -122,10 +110,10 @@ static int cyuv_decode_frame(AVCodecContext *avctx, AVFrame *frame, /* iterate through each line in the height */ for (y_ptr = 0, u_ptr = 0, v_ptr = 0; - y_ptr < (s->height * frame->linesize[0]); - y_ptr += frame->linesize[0] - s->width, - u_ptr += frame->linesize[1] - s->width / 4, - v_ptr += frame->linesize[2] - s->width / 4) { + y_ptr < (avctx->height * frame->linesize[0]); + y_ptr += frame->linesize[0] - avctx->width, + u_ptr += frame->linesize[1] - avctx->width / 4, + v_ptr += frame->linesize[2] - avctx->width / 4) { /* reset predictors */ cur_byte = buf[stream_ptr++]; @@ -144,7 +132,7 @@ static int cyuv_decode_frame(AVCodecContext *avctx, AVFrame *frame, y_plane[y_ptr++] = y_pred; /* iterate through the remaining pixel groups (4 pixels/group) */ - pixel_groups = s->width / 4 - 1; + pixel_groups = avctx->width / 4 - 1; while (pixel_groups--) { cur_byte = buf[stream_ptr++]; @@ -180,7 +168,6 @@ const FFCodec ff_aura_decoder = { CODEC_LONG_NAME("Auravision AURA"), .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_AURA, - .priv_data_size = sizeof(CyuvDecodeContext), .init = cyuv_decode_init, FF_CODEC_DECODE_CB(cyuv_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, @@ -193,7 +180,6 @@ const FFCodec ff_cyuv_decoder = { CODEC_LONG_NAME("Creative YUV (CYUV)"), .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_CYUV, - .priv_data_size = sizeof(CyuvDecodeContext), .init = cyuv_decode_init, FF_CODEC_DECODE_CB(cyuv_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1,