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 BC929410A1 for ; Tue, 15 Mar 2022 20:09:02 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F041B68B193; Tue, 15 Mar 2022 22:06:50 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2043.outbound.protection.outlook.com [40.92.90.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 214AB68B104 for ; Tue, 15 Mar 2022 22:06:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XVn6agFOL0b6KMof0QFLo1d4mjZjq6PINtlPNmNEhuUvfHV14vtOvSh4UEtI63ZH/KFa7e0TCGoioNz+V6f5VGNVbVjfjdgFzt8Jj6MmU/OcfqWbweTt3EeBQMsjSQAuHpOn4ALVaIvzBmqpRa4ZEfx6nhsbMflvpG8EhVMsrMHpeD156tZBa9kJcXJNQI2MynM3x45aEobctSEsh3IEKv7nw35tlmMoOX4cWIlYWC+1fvI40zYfbJjwdTKDfieRwvOV8I8tc8KGRwFzer8r5gJCAWoesLowgs8CwYZoN33a4RUG+Zc71m9qfjhg4onLh1/a8U9iwPQh0IS7hS2VdQ== 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=kHo8CCsQs0ma9EMbCZ+qU+e93VF7++p0Ce70LRDtVjw=; b=IBk2KFx2mySJxLGouGWp5f1/r++Ufw1+BZPfrtxIl/mlhjlO1LG7kq4mIs/8i3jhttBlMj85rcdqKLD+wme8Q2eIefi6RjZRaRLNzcKE7gX2xdg86p7vgnhYDAmlZscVKXysHmhIOkwGyMu+eR/PCU1TNV6c6queWP4QGgUlHOPxEoFFNf1tRe3ylf7L6GxPvVnE71n+PDpwLI8aqogfDQb4TfOQlgJ9MewvKuvpN/RB/EtOIcyqP4/SuALbm3CPjS/x5YgKB5vOhix/CNjPqirO7h5WfLk+SAK3XkxY59H4/vx5Io7Se+hebjbNTcAK6+ypi6SkFc2zvgxPzAgTsg== 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=kHo8CCsQs0ma9EMbCZ+qU+e93VF7++p0Ce70LRDtVjw=; b=rguPGCW8k+Y92eDemgjjlg79pcGP9QI/GRcKPVMXmBu2EDk8i28+3o930Lp7ZLxhJFzxgDWNhbj8CFSPcbIxstd0ck9PsoKEZMI9QoWO7x+UXdIi7QkeekQ2aZc5oMo4iBHKQMOx7tuzY1RZqAHPaaD8D+rutjlTuGffIwYgJX8htuHhfSio9oeFul672PELXPX0mL6N9JAFIkHfRhJPeUhkMqr6HrA5K0ICv60ggrlN9gf2RADa8g2z0J/xMjtYhvcEYlsFY16FLt8Rrj4iRn/sUTY/x0tKLE0P+KQL7hVdb4YBOqGGoggOJEhkm51TS4RHnBoKkfFoOFsLHKqv+Q== Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) by PA4PR01MB8947.eurprd01.prod.exchangelabs.com (2603:10a6:102:2a6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.26; Tue, 15 Mar 2022 20:06:45 +0000 Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8]) by AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8%4]) with mapi id 15.20.5061.028; Tue, 15 Mar 2022 20:06:45 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 15 Mar 2022 21:06:07 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [gg9XUtauRK+A3DSU9okmj2r+NUuSLbs5] X-ClientProxiedBy: AM5PR0202CA0004.eurprd02.prod.outlook.com (2603:10a6:203:69::14) To AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) X-Microsoft-Original-Message-ID: <20220315200611.553534-16-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a8db775e-6960-4bad-6baa-08da06bf5439 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQIK6GOv6I/5+ncmNhpuEjVCX/DSZf2J5O+PdXvWijtmsz3cMrFhkrMI3kA23DNHqxxXUNU4eVQk+p38uXKSWiJ10zuwisETHw85To3dsqe/bUs7vvAd0hx9sRwNJbVeUn8sUQ3gexJROOh6jg4XtYOBTSxXqyyMp3tfm7T046rsndWVgeqM38YuRx/wy2n4Px91i/Z4xGsKQ5CqjMLdmos6CG4wYOwHSoxRtmXjzo3EsBxgJfThEF9QjZFsOHDGgjvXFBopi57ZUh30yZx/p/tYsDRbu8IkUZN6TxQ9bzj2R4p2NlP8WJjUhmygFBrkfpQoc71D+UkXxFTCjxFJE8k/8Mpo1A4QNqLoW7zg0zUNUKutKn9BF2M2G5a40NcfOv+M4MqXqkOXSZ6nd4hWhT0h2uzvfl14C7b+wxEFLI26gScYHZUa9kB9Cpj5EpYEd5rdrH5diI40njeFsDdxVlIfftcU1egVREwVef6KSQDBMXxT3ygwJdcxEyHqrfVYpiZ1lOVpWA8llSQRv210Bxg8J+5n4NTTeAYm6t1nsoPNUdNUVbz9e5yGkaR5bMZGc5olNWtE5IWjqCTCzDXEnphXmmqxSvSscDukv35732r+IEFaxeRr07F9d1dHOo5iIiR05xW/qUMOr/CbyZNFzbAd4e1JlB1221Zq0q7qlm9eVApjgOW8o40j1yTZud54iC/ZUsDQnKNfMtbZiZCL4lpKoZEVgV7L37vkjDmaCsS/j0g+DNmI53oPJRgyeG11Ds= X-MS-TrafficTypeDiagnostic: PA4PR01MB8947:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IDeTz7em4Vq/KAnAzmWOg6z0LwkuG/y08rIkcAR6ITK+YuPcx6di8320BtMOxyyj3IfE+CPhB07b4xyNVT3dpJkKVHz2kKsNX/yB8ANbtXC+sFwE6dDkNvwqYk+Gkw8YS1/kX78YXg+BsRMxiSe2kaU7n5wNl1udm0INRdHIv9+3PxuHM2ugO6R3pV7avDP3ezv1uiezcd/k82PCIt8JBVuJJEmBJMa+ueamTdWOXriZMsxCyUqiackHknNAUD8dKkBMzqCKuBU140+acHc48oBQ8dqcRQRY2xrGYcAnTtL8CkKkPuzMyLwaH/1qrnZGc4bvESMqfjWH4ZI+XUeml3uvn+lZdGFb1VpTUtNa3z0EuRsxxXuJiHU35qEyA7yHFyGoNNv+NQzEUXeiuNY8pMETcmKFsgSbXw7UPDLJ/fk1YC6ZGGroMwtQQxajXmuq4gh+P+sqQ+RR/sk9mSYX/ur5bzoCgSeKK/0Bkp6FVT9S4qLYdsvz1vyL8ZMNmau5lo3E/6DlHJnFtEuFgnwjTvoz8nWb4Mjt1aFoDKrV+dvfvMT9nbduMIU4bcJ33wrd1xQITSJ9TqJnBQGNlHPLBw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?87R/ZdEv2Y26pwD8lcM79NXSlXosXZspqbDrR47y/mHLM4rN+pvfLE1E4mGf?= =?us-ascii?Q?doNYkJDQYSXBOUS/qXyl5/T0VTOTlYfHSU4nut9e3Qh1lUkjRGuJoxOxLBPH?= =?us-ascii?Q?Q3op9sAsUx8O/QHxhGwi/y95JNV9hB1x4tXkzy+Vq6l6B6ZRaz2xOKXSGHkN?= =?us-ascii?Q?iN/k0jnUCX2WR1o9jSzVewBneCHfw7mNgT0ZBHJxkc65Al47c5GZ1hEsynxC?= =?us-ascii?Q?Gk2GxHZVxb4xRLCJEDEu5g/kIWQ8NLB922VMjcYNIGpf7RRdFYMdW7zr3FBr?= =?us-ascii?Q?Ws9tMGWGv5SCBhj2qmI4nTJyF6Z7JEuZyHni51HSiVK//NskHJsOTZoUWbwX?= =?us-ascii?Q?oYGQfrsi6cxvJTJcdf2V2iyZAcgNAhPHhv9yNk4iRfgfYk0myReoRwg85btZ?= =?us-ascii?Q?AzSYqqb22horfVD1NbHdGgPS+ukwInx4E4Ax8bSh/57hbVvixSfdCqbz9vQI?= =?us-ascii?Q?q8sXUHoZiApNsj1e8qFkl+yQ1jHQkXTQy3eKyo5mCyLwWZpmTQuYg6IYZs5G?= =?us-ascii?Q?Qr/SgmBVbVHT88iP/snjmE/UrXD5BG763RSG+k6qYc96NddYAI4PM3Udg2Sq?= =?us-ascii?Q?wTU1QLWMrs9aEuw9t0em5fShFtvlparae0ewD5rga1wtJw3C7u6d+KvjdCik?= =?us-ascii?Q?uf9UnPEegZ0Pr9hpPHvvglQFp7eYkEMgmw23RBCqNcNFQ1xfdwLGrhluhtRF?= =?us-ascii?Q?GOThdLHd5GJsvPJmtHgNubltcfpfpe8+d7sL6OZUZRwFUhRBXHCVIgj5k66L?= =?us-ascii?Q?k+ZGDgM+Z+2BnhO8sJ1pPtH3PYLV8vdxDhTfkeBUi3cDJWw0bNZD/ZcbSiCf?= =?us-ascii?Q?wPgpx1IizQBR9FLkb+jmPYXrsu+qfa95C7Oqb87zCS56b+uqgCWcLhV8eatV?= =?us-ascii?Q?26izBjiKlxcf5UoQ0MzIipyqqX3tlsyn497Yg6JQYD/ux8r4ZINLxarWDqTO?= =?us-ascii?Q?646m20T57EYWHqf/QSDHLn4w7R7sb8fH3HqQynyR1fIx3yBS7gaeAXXgwqsN?= =?us-ascii?Q?D4WshxpTKpAG/zp+yQi0rjSItdxMIZecqcb3SW4cwj1eeGnGEI59u6BZyEdx?= =?us-ascii?Q?ZJ6nnDczQTjP4cRmCxK3v2pj7r3RyWLI57reTvc4R9Z/HM9AN8qBaMnUGyfd?= =?us-ascii?Q?jIyaUHRw0QfhbwmsT0N3njJDtt15wni6eFMBN3SIRpUPcn9E4230mmU=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8db775e-6960-4bad-6baa-08da06bf5439 X-MS-Exchange-CrossTenant-AuthSource: AS1PR01MB9564.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2022 20:06:44.9646 (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: PA4PR01MB8947 Subject: [FFmpeg-devel] [PATCH 17/21] avcodec/zlib_wrapper: Add wrapper for deflateInit() 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: The rationale is the same as for the wrappers for inflateInit(), although the case for it is admittedly not so strong because there are less users of deflateInit(). Signed-off-by: Andreas Rheinhardt --- configure | 2 ++ libavcodec/Makefile | 1 + libavcodec/zlib_wrapper.c | 34 ++++++++++++++++++++++++++++++++++ libavcodec/zlib_wrapper.h | 10 ++++++++++ 4 files changed, 47 insertions(+) diff --git a/configure b/configure index 74485fb713..26417f541f 100755 --- a/configure +++ b/configure @@ -2433,6 +2433,7 @@ CONFIG_EXTRA=" cbs_jpeg cbs_mpeg2 cbs_vp9 + deflate_wrapper dirac_parse dnn dovi_rpu @@ -2711,6 +2712,7 @@ cbs_jpeg_select="cbs" cbs_mpeg2_select="cbs" cbs_vp9_select="cbs" dct_select="rdft" +deflate_wrapper_deps="zlib" dirac_parse_select="golomb" dovi_rpu_select="golomb" dnn_suggest="libtensorflow libopenvino" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 62c8e34963..c45503b81b 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -77,6 +77,7 @@ OBJS-$(CONFIG_CBS_MPEG2) += cbs_mpeg2.o OBJS-$(CONFIG_CBS_VP9) += cbs_vp9.o OBJS-$(CONFIG_CRYSTALHD) += crystalhd.o OBJS-$(CONFIG_DCT) += dct.o dct32_fixed.o dct32_float.o +OBJS-$(CONFIG_DEFLATE_WRAPPER) += zlib_wrapper.o OBJS-$(CONFIG_DOVI_RPU) += dovi_rpu.o OBJS-$(CONFIG_ERROR_RESILIENCE) += error_resilience.o OBJS-$(CONFIG_EXIF) += exif.o tiff_common.o diff --git a/libavcodec/zlib_wrapper.c b/libavcodec/zlib_wrapper.c index 5b93c2c74f..bf104e5bf6 100644 --- a/libavcodec/zlib_wrapper.c +++ b/libavcodec/zlib_wrapper.c @@ -21,6 +21,7 @@ #include +#include "config.h" #include "libavutil/error.h" #include "libavutil/log.h" #include "libavutil/mem.h" @@ -36,6 +37,7 @@ static void free_wrapper(void *opaque, void *ptr) av_free(ptr); } +#if CONFIG_INFLATE_WRAPPER int ff_inflate_init(FFZStream *z, void *logctx) { z_stream *const zstream = &z->zstream; @@ -58,7 +60,9 @@ int ff_inflate_init(FFZStream *z, void *logctx) } return 0; } +#endif +#if CONFIG_DEFLATE_WRAPPER void ff_inflate_end(FFZStream *z) { if (z->inited) { @@ -66,3 +70,33 @@ void ff_inflate_end(FFZStream *z) inflateEnd(&z->zstream); } } + +int ff_deflate_init(FFZStream *z, int level, void *logctx) +{ + z_stream *const zstream = &z->zstream; + int zret; + + z->inited = 0; + zstream->zalloc = alloc_wrapper; + zstream->zfree = free_wrapper; + zstream->opaque = Z_NULL; + + zret = deflateInit(zstream, level); + if (zret == Z_OK) { + z->inited = 1; + } else { + av_log(logctx, AV_LOG_ERROR, "deflateInit error %d, message: %s\n", + zret, zstream->msg ? zstream->msg : ""); + return AVERROR_EXTERNAL; + } + return 0; +} + +void ff_deflate_end(FFZStream *z) +{ + if (z->inited) { + z->inited = 0; + deflateEnd(&z->zstream); + } +} +#endif diff --git a/libavcodec/zlib_wrapper.h b/libavcodec/zlib_wrapper.h index 0e91713b25..fa8ee654fd 100644 --- a/libavcodec/zlib_wrapper.h +++ b/libavcodec/zlib_wrapper.h @@ -48,4 +48,14 @@ int ff_inflate_init(FFZStream *zstream, void *logctx); */ void ff_inflate_end(FFZStream *zstream); +/** + * Wrapper around deflateInit(). It works analogously to ff_inflate_init(). + */ +int ff_deflate_init(FFZStream *zstream, int level, void *logctx); + +/** + * Wrapper around deflateEnd(). It works analogously to ff_inflate_end(). + */ +void ff_deflate_end(FFZStream *zstream); + #endif /* AVCODEC_ZLIB_WRAPPER_H */ -- 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".