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 DA05F479D7 for ; Thu, 28 Sep 2023 21:35:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 811F568CBD3; Fri, 29 Sep 2023 00:35:40 +0300 (EEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01olkn2013.outbound.protection.outlook.com [40.92.66.13]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 13DC968CBAE for ; Fri, 29 Sep 2023 00:35:38 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VwtRTS+UM/GLl6HAls+zflH/wvdJedaoIYVPe4xUY5Uyr77tvh0VqkxrKtT5XHoVhbo6xXZ38ZILGoFLkCeepDZc7L+11hWENPE5FiYMbl/iu6SbncRmGnXRd2ta1FQLz0EEcrKwiwJZxyvJXxQVaXbIFdzAR6g1G7Wp5Vl5M4JwEuJlpXBD8aYc+E9Cb5OPiyEfEczfExqZ9Zu1ohXDMUxmeh/4zbz8OubUp5sOJ+rw8Pv5wZggg1ECwYDeUsV8K1/dlvG7qwgBdjAEPJ1R0aLiO21heT3iPsOcuSkC99rKnmHfvbdP9pHRGFn5NsHqsl4bwaQQg/0g3daailrClw== 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=zToGWSTq/9uLCVensI6Q2w/hlMjc09zxLd0BRWMoBPE=; b=lPnx6UJvuu3VMOBTkyRinsHWM5mys/0RswCMyS4cp+5TYJWInK9LL0ULTZB8IQuWg1T5lgkifj3V+PPs/xKu60kqvU5MZNFJxq94kkEzmPyTjcfMtosah7FQre/w/w/qiD1N2JOXzqxtIqzPHs6Dl5BeRwm3UGMNE1uXwVg/EeWCHPZL0LRjfbE0yfAjBJWyEscPWI9T+2c0DdJ3Q+CMdXxjxP/64pZUKrsb+Qd6wqq8DooQbIq/JcUh8MYNtgouOHaj9+8DWFKeRRzc4bxGG+y/ldpUTH3Q3L1lg7OMy/VWEfjcDjCBdNt9u/qJ481KO+bJ1WZLgCzhW1D4RNWeqQ== 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=zToGWSTq/9uLCVensI6Q2w/hlMjc09zxLd0BRWMoBPE=; b=f7gHVpmXoVTAvJm/rS0RLSM059jnMT8Uip7ebsEOCgpKd6SNUgeT60X/2BmcvFHUewel8hnwW6N//f2DZQpzIM+TXzS4wodPrsIv0efi7R3K1zyXbpQUpgtaGNukhihyLsndK0Q/onLgNxPS3DXQV1CrOObf4yDh1p1TKRQ3P3AWps/fayeIay5EvVDvO/ecN+Q/aUXQZPfYstS29LSL2hsBvqXfgMbLh6w5UbhridRy6+Dm3tF1eaFGAJZ0fcN7HwCVQgoWPMf1klH3RDl270GFdNZCzfF2RJatwAhp+bphRgcNkUZ0q+Rbm+VMx5StbWTeQuOMyCbM3WOh681PwQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0145.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:272::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.22; Thu, 28 Sep 2023 21:35:37 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6792.026; Thu, 28 Sep 2023 21:35:37 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 28 Sep 2023 23:35:42 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [q8LeeEqOXgrv9Ke1u4QdAAGukNFWY+J4] X-ClientProxiedBy: FR0P281CA0191.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ab::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20230928213548.1219863-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0145:EE_ X-MS-Office365-Filtering-Correlation-Id: 03a60703-be29-49fe-35f4-08dbc06adb00 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0u/7ww5E86jtdOYyURjUT3Uyw8H6sDQrh/IPnwwJsC2BsH7mMumZ1itjy4IZagOlanRqtPC9dKiz5TPj/KXZED51kKNqfw4jO6OLDLtjp8EO0YYYpWZ0atoFyqvEa39GgegQB3HyBfJfwOcZW7sxp0PgDKUqiCcAwEGH7/Dclz8eZwgEofFdjt8dG3m//aF7yXGvMCCeVCNp2MAcRdhbAY79JnjjKRDG4FEHMx4RvOPBStf5s+eIQU67o4ytjelSze7u9ybvuZTi/ZB3hFv9GfdjD5ZNwMYBnAHIM+Jaf5SfXlOJ7mav6aopSmL4HkTm6liMyA3ClAEv+lpFBEE+ILGtz4vtgt/JJJomqVA0Mmw5XEUwtdQ1ewMfwdfkLfAThBvg/l48GjkGc9rjtoEd2zPYTTmZvZd75jkLYkbsXE0hSCD3ZCCKHLWz4epxyrIhyAJclkMLqdkwimYvLLAgw386w8Yz24EzJCY0yqle2nXXjtCbFshfTS1f3syPzlmiGFzGX0lBJJhYGt0Y8puuuElBIUyn4v4zDEkBgovdHx0tvE82bgb2NZGEUvL5z+2y3zJRfZNY1zqzWSItaKWeKrwyQ2M5D5LYg4a/pSsrCOnESGGCJOYzBMVT6Go1Iedf X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fPfRiNB9MmE9NlglacAvrv1AgcIvrMoOdht6lpDloTZM5Xm4bVTi6vM3Vy3l?= =?us-ascii?Q?C6tLJFTwawl0UibvI9RNeyqxt9ezCNnuyX03zuHX/UfovwFOEC5bPEReX51s?= =?us-ascii?Q?N9yyETKzOivb5MZz2pOI3lelt5L5GaONVX0vSjumbsEeF0fey/ZlFdDLphxA?= =?us-ascii?Q?ElkeTuJnf5vbUElN5DIGLy6Fbq3xtIKiBMDm1uk9Frvudz6Jj/lTsEnI6uxJ?= =?us-ascii?Q?Db2PIVMcVOKYGgnh+ymOum5zh3p5Z4N7RDwy3qh2PMxNRhFMHrSZLu0mBeif?= =?us-ascii?Q?nJoHa/WqSw6UqqVav6H99agoA+bwGbYHZuiosaVjOI+eMf89fKR/F4frU8S7?= =?us-ascii?Q?hHS7yxW2xn+CgwvY6jkOhAOTfEo2+92AealnucCbOe+nSgobgdxAgeQc15xk?= =?us-ascii?Q?BTU1JVZcPX3mF8PpiXleS/Q15lEQU2IBeUUfAlwRn8/R6XByTyT6PbG/FWJ2?= =?us-ascii?Q?lfyOCWYfK6t6oVJuSSb4T10/vOx0iLu6MSZrwuDNYdNu2cf+rPXZEAgDjCPe?= =?us-ascii?Q?apt62QdQsoQDYcPW6hHRU8RA5RF8VHTqTveCMgtGdYnhqVHslghMT1ZvQSfq?= =?us-ascii?Q?dW3PMs5jWycQduKlX5uQoxhTB2V7xdIqj3Y513Tkh0ZZC6PWN0k6iF2nU8it?= =?us-ascii?Q?DfRoVJw9HX6pSAdiDBuYt1zh4k86Et/g1PLluMrcuxeEk0U1GScDg9f8GZ5P?= =?us-ascii?Q?7LUvFIZq/vZSigXzRJI2Fas9WZ+CE6u3zgtPncCLM4c20VP4SGW/EY9APdJm?= =?us-ascii?Q?15YaUTDktrZSx2kDQoT8tJ14F9httAPfKi0WgxMnu5vIN2rIBAlbuX6TiPLL?= =?us-ascii?Q?Rf6VUD1mCRZJRU3bJwS6lQSUvwNYz6DPCLgeFjYkrNMSHVck33YcTlMC+sN7?= =?us-ascii?Q?yF1D5Vwkaoce8gM52UswSsDCzub08GnCGIg1CRwAp0Sl6M0KlkPzPod3B97s?= =?us-ascii?Q?BMDsjaHishpfPbMwIn85xbvt/Iv4j0QkppxBBSN0ijyb3qUiIm7kBS0Q5qbv?= =?us-ascii?Q?9QANcp6Hyn483Kq1OovQivrkmFTKPoKGgefP5+JN0khQDwJRTWrZO7SSuWQt?= =?us-ascii?Q?UL6JbySWDCYvoxGiFxAn2J6LbDKhRoF2LgoPi7eKnTChOjvr7QgIRcf71xK9?= =?us-ascii?Q?IpMaR3yCSvM3P97cV9Pqm5nJSGpnLwQRWE3LrdwdFGQPnKpjr/QQcHHPHE3U?= =?us-ascii?Q?tutdaD524pCUlqSa7P7u4Z7o6Oaj9pwa3ZXU+VgxGOB8Tr29oj4PeaHzTyw5?= =?us-ascii?Q?k2fkSiH+S+fMQb1Z4gR9?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03a60703-be29-49fe-35f4-08dbc06adb00 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2023 21:35:37.8613 (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: DU2P250MB0145 Subject: [FFmpeg-devel] [PATCH 08/14] avcodec/utvideo: Split UTvideoContext into decoder and encoder 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: In particular the encoder used only a small part of the context: The new encoder context is only 128B here. It used to be 32992. Signed-off-by: Andreas Rheinhardt --- libavcodec/utvideo.h | 35 +---------------------------------- libavcodec/utvideodec.c | 28 ++++++++++++++++++++++++++++ libavcodec/utvideoenc.c | 18 +++++++++++++++++- 3 files changed, 46 insertions(+), 35 deletions(-) diff --git a/libavcodec/utvideo.h b/libavcodec/utvideo.h index e5160aa394..b081b50a2f 100644 --- a/libavcodec/utvideo.h +++ b/libavcodec/utvideo.h @@ -27,12 +27,7 @@ * Common Ut Video header */ -#include "libavutil/common.h" -#include "avcodec.h" -#include "bswapdsp.h" -#include "utvideodsp.h" -#include "lossless_videodsp.h" -#include "lossless_videoencdsp.h" +#include "libavutil/macros.h" enum { PRED_NONE = 0, @@ -61,32 +56,4 @@ enum { UTVIDEO_444 = MKTAG('Y', 'V', '2', '4'), }; -typedef struct UtvideoContext { - const AVClass *class; - AVCodecContext *avctx; - UTVideoDSPContext utdsp; - BswapDSPContext bdsp; - LLVidDSPContext llviddsp; - LLVidEncDSPContext llvidencdsp; - - uint32_t frame_info_size, flags, frame_info, offset; - int planes; - int slices; - int compression; - int interlaced; - int frame_pred; - int pro; - int pack; - - ptrdiff_t slice_stride; - uint8_t *slice_bits, *slice_buffer[4]; - int slice_bits_size; - void *buffer; - - const uint8_t *packed_stream[4][256]; - size_t packed_stream_size[4][256]; - const uint8_t *control_stream[4][256]; - size_t control_stream_size[4][256]; -} UtvideoContext; - #endif /* AVCODEC_UTVIDEO_H */ diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c index 7ee07209d4..fa80cc577c 100644 --- a/libavcodec/utvideodec.c +++ b/libavcodec/utvideodec.c @@ -37,8 +37,36 @@ #include "bytestream.h" #include "codec_internal.h" #include "get_bits.h" +#include "lossless_videodsp.h" #include "thread.h" #include "utvideo.h" +#include "utvideodsp.h" + +typedef struct UtvideoContext { + const AVClass *class; + AVCodecContext *avctx; + UTVideoDSPContext utdsp; + BswapDSPContext bdsp; + LLVidDSPContext llviddsp; + + uint32_t frame_info_size, flags, frame_info, offset; + int planes; + int slices; + int compression; + int interlaced; + int frame_pred; + int pro; + int pack; + + uint8_t *slice_bits; + int slice_bits_size; + void *buffer; + + const uint8_t *packed_stream[4][256]; + size_t packed_stream_size[4][256]; + const uint8_t *control_stream[4][256]; + size_t control_stream_size[4][256]; +} UtvideoContext; typedef struct HuffEntry { uint8_t len; diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c index 6e87bbc2b6..c2a7728574 100644 --- a/libavcodec/utvideoenc.c +++ b/libavcodec/utvideoenc.c @@ -33,11 +33,28 @@ #include "encode.h" #include "bswapdsp.h" #include "bytestream.h" +#include "lossless_videoencdsp.h" #include "put_bits.h" #include "mathops.h" #include "utvideo.h" #include "huffman.h" +typedef struct UtvideoContext { + const AVClass *class; + BswapDSPContext bdsp; + LLVidEncDSPContext llvidencdsp; + + uint32_t frame_info_size, flags; + int planes; + int slices; + int compression; + int frame_pred; + + ptrdiff_t slice_stride; + uint8_t *slice_bits, *slice_buffer[4]; + int slice_bits_size; +} UtvideoContext; + typedef struct HuffEntry { uint16_t sym; uint8_t len; @@ -76,7 +93,6 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx) int i, subsampled_height; uint32_t original_format; - c->avctx = avctx; c->frame_info_size = 4; c->slice_stride = FFALIGN(avctx->width, 32); -- 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".