From patchwork Sun Apr 7 21:09:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47897 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:24a8:b0:1a3:b6bb:3029 with SMTP id m40csp2146971pzd; Sun, 7 Apr 2024 14:10:05 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWsTKDcY/uyKcBMvfUIS6FeK4yL8EkjYLz6eGnOS8eODQgHblK5IZjuIGK7bVdGPnNEBmEyEmR5Zf81kSjGqfbE7M9/x0xLfBHH1w== X-Google-Smtp-Source: AGHT+IFsnnXuy1FuldxCxSFFhcYSqE4Cr6Ehz2uc12+cEFcv5GvS9iSZWVo4h9lyySiTOZmqHSSt X-Received: by 2002:a05:6402:26d4:b0:56e:4069:9ae2 with SMTP id x20-20020a05640226d400b0056e40699ae2mr3855160edd.3.1712524205611; Sun, 07 Apr 2024 14:10:05 -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 z3-20020a50cd03000000b0056e2c9dce26si2934928edi.224.2024.04.07.14.10.05; Sun, 07 Apr 2024 14:10:05 -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=vKlD6vwa; 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 3B9F268D20F; Mon, 8 Apr 2024 00:09:51 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01olkn2083.outbound.protection.outlook.com [40.92.64.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 44C1868D1B0 for ; Mon, 8 Apr 2024 00:09:44 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z8UJlITu0amuL/KUiBRHpgw0cx8OAmNA8mFrA1I/jHwk9XoiuSvttYtL3sRxjWX6mVyiMOY6IQY40t3ZwEerx3X4TEE3DSWUbT2ShKZweYM0u9euuvLiiMH0bwgR7QVzsA0iWWMGuLMhU3sii6qct0jvhQQmZnCvFj5ZM/3+J5oHoRKTvH0exkRMIJS69M2M+7RUUUlB0+OsjUCA8F+QpBceh93IODkf63nz6VOcs1jV+fStaGGHnJY4Cz5vgU9QYsEFk0s0fU2d/NO7BXToGAg2uFYK0HnjE6/Bsv+TNol6zTd45Uba0+D1EiacJNBExYTzf+Duu3comnVcW67vkg== 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=q6bLqT/aFEOked+FTZniP5zIOz+HXvz18HkXzS+twaM=; b=ThT7x7Jc5Lckbier7d8V5/BFPUYfel4aypcX5eBHrJzm6ozyjxxyLXeBiOvH5FfErMB6F/gY6l1zw5FmvfbvHyQm2nXvlpXBlZMnWfIQz4Eknh2Z7peFJ0SgWx+tDqP3cVq7ygfr8KKIc16KP7QZ6svW77b05acfzhhOGNkkolPJnDtgBhzJFWCx3H29+nr7WjpD5TIYvn6m/JB7Yu9+R6T07ankLLXROEZW/vMWXf45+bDWzbJuZ/L/EIrUMbI78YUD6WUph8c+InE8IxGNADjy9X0jPvnvt+rDzxnHMtybWUAEb63AOFLOW1z9pxzjyklH0KdhCF7OlIcKg11zGQ== 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=q6bLqT/aFEOked+FTZniP5zIOz+HXvz18HkXzS+twaM=; b=vKlD6vwarM2DqP+xn214/WjBvvemP0U0SuL0P8jOP7YTLAr6q7q4iRhMnUmhoZZIL0YbNQDVrpPkuKgoDZ5A/mHPs7kdjnuxSlmQHaCCBimUu/zMo/9RpxR4Ue1bqD5WVQt9mn10sKCz826eGG0T0OmNxDwpmtH+SgYJxCRXod37TYPmWVZyFRShLdvmdwjSCQMzBKMIR19dtW++OzuZ7CRcjI+nE4m2RXm4/PPCNhSEPpwEPQAVtqfDnZpQkShZa27Rv3cri4D7nq6WOZGfaAY0xSCcAj4LxQh5zUQRiOfzw3hWBne1sSoFeOulj2+zp10ByuXf7gV05bg6DbX2/g== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0234.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:379::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Sun, 7 Apr 2024 21:09:35 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.042; Sun, 7 Apr 2024 21:09:35 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 7 Apr 2024 23:09:03 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [GdFyVuufo3WUhRXy37y0ed3SF3jW9n4C] X-ClientProxiedBy: ZR0P278CA0038.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::7) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240407210915.895619-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0234:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c11061f-02f9-4d70-0082-08dc574706f0 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnpOxDCcKCE3ew6GouC7ydNhMqBhV6w56iJUMUKhN7VdTY1t0Xz30+aN2XoCx5cpredDZfhAhUCC/F7Cef6m7hglryT2FsjKYxyNt8YxiOmBNoI3sqT3Y6r3HrvcFxID1V0fSI9pAfT4c1SY3XiP6sBfgPTX9waZqh5vgUoRdsLxEIDPRpdzsCFM4Z4EM8htmfHHBW/NwgUkN5nYcDdj58s54+GW/sNN/lAddFkIh/MZsYe7jE5WEYULQpyx7jxtcr58oTTbXvNthuywKtL/N9RO85giXrlBDxB7AddfaRk7FlwhtBRspmYPFdUZVTo9MT6YcIycC3JZ68zKmyvBBbWpIQUHe2iOwQttVK4oqg7UG56LNTRKVssMMFVVAk8O10Wrq3ionB+AlPhrwfuSDbw7iSvbsqtlKqXM1ojRmInnynCG9m81LKDuL/FUq5jq6cP/6c9QG1utLitQzvTmL5fdFvzsKbpoIha8hp0LkbzfQa9guP6JubXz4GFPGy72bFBWFVMdOe0oc5fyv18JaFqOAEDLnIknFTH28FRWluioKKP7ImCDy7fgvyzzqawqObyrIAjvn9n4U7OEJ4yvuyvuo55kI0af3Jc3dvaJ9MfA8cimOIEb9fLzcRgyRPnBAFH/YJi5lvtTAhL3RicvaJsQqqV2wny+qIBpVRUvIQADkE8fk7sTn1r4RpTPd+Lm2VDtXWLgL3XfR16H49E+wOPCr9ktwt1F4WgudI6mMm3p4PoNODRcW2rIxJYZ2IY8ctY= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Qg1sQOA4iwfE9xE/EOc104z/cYn0fl27Kbei8Z0dOB/WPBFjoL2Ui4aeSR78hudJQ8c8mL4ia9O7kIZPGVRhIiM3WIGdk8QH8Ejp+XasApcau51dDgws4kaqzlAj8Tnnd6cdqhGQkyLFk1ivgraZq+ZlQX9yfHQM1MsZ6YS5Oba2o/9i+1fMSsIQGXeYzwIv9a49Jeudkv2HVwhat7Zpvd8O9TCqntC9lQXJQrpqeSgtMFZV/n/k5iTyihVC4wd9e+S72F6dnY07qmjJiYeD1hP1agMyLFtwhzYrvblaxIkqMu0G3OJngd7vJOWERUP7DIPijNOmgrn+tz08xDA8R+P355Vu4e+5S9pj9OgIjdV/r5515u3qSgO3/zwxdPhpZxhsI1izHlyRmyTSdne7SMo4bHpDVibE+5ovkaKZhF9dhtL4F0lqsYmayqGX8tgvGTauTkxsXTggjdkauvbTftNrEVkhdUHti7u4jEcX/5s+MlvV2DHrntua44MB8Nxd/B0Saql8X1ETaH85PtIPcreVHF3ATppoQ0nG9tij7xziTZCRmtsKA8SAPP2FM5N4fuekAYQbU+PfNc2GjcZfTx5JGyqAuPBxRDKpKSqcCBtyG2Uly51YnA/N66nL0J8q X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6V/ZCYaUYUwysLgwYsbnaCip05M8lCftWsP2CWMqyv7DcE5HCLoWlzoyexR1whqO/jXmsA1IuKH7toAHxJua5KiuvF9zJtz5JCO1lQvVqhLLbgSuHWjD1RZTmHyxv4NOYpvwZ9dHRWtgLl4Ohdov3KmHX52zNWC/2EOQqpsgh0sxFZTXdtYmscQt5Uv3wnA+A3CwKGKzdJsXLSQPvCE0zPdiI9peDnWXo22LvvqwDwqfy1m8YLy5SChEIKv09BSuSDLz3cuHjMH33P1M1QE4tydbX6Eq+zfCNqt6LWdkHssdKx5acroEOqL6y01RiKkrzkk9CSFLekFOaa//ibhbNlKjUf6sIaIYZ/fIY+vlsYnm4X9hH6bDzz2nf5KI3tlDL8CYETuQ+gtysNKkZ5xecQF/qgGKysjwDIP3flDaCtYrah6xNlnfJs+EQHUOuzDelW8kZY6HiFMspbwQK1OGyE3dqehcFH1UICXw+JVjZT4rxJRVsoIzwIVGwMZ2TgtY24QuN41oKnZdpYlAsWDEJtRsGV4Vnt/W8swCiO1l3kDbsp/zWYaAvpo0VOpQN5zHHSyhDoNA3rmRqjug5SOy/D5eSda7qAtl6xL7te6mwTTC8IdPoMUfece3KXWGENkzf8mX0medjrj3yANJD+V/BUQ37Ylom33HT/LyDcIQT/YClZn7EOrSFyTlOKkuDntxIF/ZPDvI6p5Om9XYr7d0POJJS5sI7/Tm/M1yfeWuixMa4lpbzCtwP7VEV5yKJ/YA/+Q46dSaVKW/ip8HPp9QzMiOsItUM6rspuiIX6y0MrW6lij2zHiYBsZ1SrJQBdrwzCbYf6x4KY9uPcPmXdZjXKidCHpljWCOvPBjDj8KwE/FJryIdkAAjCYs97WzREgtLwzy+RWTj3V/vFP52Zzo7Ngg3+c5LX9IKbW5J2A3gSCusYANO03+moE0utNQlWVHV+iusKBvkUy1J+QTTCFKqvucD5r6rZgpnf6DIntIm7luomycgZaxMDC1lztwP72JyFiK/6EKOYuQyQdVZiu9UH8LYzQQEkO545hQKrYPc1eCOeB0eQlWS5mCcdylMJxFUXf6KNj8LpNA3S+eifEtgAEfxUcPjwgPXrCKy06/KI1XU12EJ0b7UNDlnP1HrJqCSSXlv0j6H0fgJXjdpFwxLPiLixfMldwtCaXnBrl0niw1k3aw9X4p0a33MGVZWi2qW+R7HhCgdhYF/Iw1uYU72aRa6/JIw5jPniFcCG0prei5Kn2V4rijMlHxUfCp5TTuPGWEhNIeAtFOhrbyGKwhuQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c11061f-02f9-4d70-0082-08dc574706f0 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2024 21:09:35.2028 (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: AS8P250MB0234 Subject: [FFmpeg-devel] [PATCH 05/17] avcodec/ac3enc: Avoid copying strings 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: ewHmD30ovW7g Signed-off-by: Andreas Rheinhardt --- libavcodec/ac3enc.c | 88 +++++++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 38 deletions(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 31b9474822..272d2481d9 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -30,7 +30,6 @@ #include "libavutil/attributes.h" #include "libavutil/avassert.h" -#include "libavutil/avstring.h" #include "libavutil/channel_layout.h" #include "libavutil/crc.h" #include "libavutil/emms.h" @@ -1807,17 +1806,18 @@ static void dprint_options(AC3EncodeContext *s) #ifdef DEBUG AVCodecContext *avctx = s->avctx; AC3EncOptions *opt = &s->options; + const char *msg; char strbuf[32]; switch (s->bitstream_id) { - case 6: av_strlcpy(strbuf, "AC-3 (alt syntax)", 32); break; - case 8: av_strlcpy(strbuf, "AC-3 (standard)", 32); break; - case 9: av_strlcpy(strbuf, "AC-3 (dnet half-rate)", 32); break; - case 10: av_strlcpy(strbuf, "AC-3 (dnet quater-rate)", 32); break; - case 16: av_strlcpy(strbuf, "E-AC-3 (enhanced)", 32); break; - default: snprintf(strbuf, 32, "ERROR"); - } - ff_dlog(avctx, "bitstream_id: %s (%d)\n", strbuf, s->bitstream_id); + case 6: msg = "AC-3 (alt syntax)"; break; + case 8: msg = "AC-3 (standard)"; break; + case 9: msg = "AC-3 (dnet half-rate)"; break; + case 10: msg = "AC-3 (dnet quater-rate)"; break; + case 16: msg = "E-AC-3 (enhanced)"; break; + default: msg = "ERROR"; + } + ff_dlog(avctx, "bitstream_id: %s (%d)\n", msg, s->bitstream_id); ff_dlog(avctx, "sample_fmt: %s\n", av_get_sample_fmt_name(avctx->sample_fmt)); av_channel_layout_describe(&avctx->ch_layout, strbuf, sizeof(strbuf)); ff_dlog(avctx, "channel_layout: %s\n", strbuf); @@ -1842,12 +1842,14 @@ static void dprint_options(AC3EncodeContext *s) if (opt->audio_production_info) { ff_dlog(avctx, "mixing_level: %ddB\n", opt->mixing_level); switch (opt->room_type) { - case AC3ENC_OPT_NOT_INDICATED: av_strlcpy(strbuf, "notindicated", 32); break; - case AC3ENC_OPT_LARGE_ROOM: av_strlcpy(strbuf, "large", 32); break; - case AC3ENC_OPT_SMALL_ROOM: av_strlcpy(strbuf, "small", 32); break; - default: snprintf(strbuf, 32, "ERROR (%d)", opt->room_type); + case AC3ENC_OPT_NOT_INDICATED: msg = "notindicated"; break; + case AC3ENC_OPT_LARGE_ROOM: msg = "large"; break; + case AC3ENC_OPT_SMALL_ROOM: msg = "small"; break; + default: + snprintf(strbuf, sizeof(strbuf), "ERROR (%d)", opt->room_type); + msg = strbuf; } - ff_dlog(avctx, "room_type: %s\n", strbuf); + ff_dlog(avctx, "room_type: %s\n", msg); } else { ff_dlog(avctx, "mixing_level: {not written}\n"); ff_dlog(avctx, "room_type: {not written}\n"); @@ -1856,12 +1858,14 @@ static void dprint_options(AC3EncodeContext *s) ff_dlog(avctx, "dialnorm: %ddB\n", opt->dialogue_level); if (s->channel_mode == AC3_CHMODE_STEREO) { switch (opt->dolby_surround_mode) { - case AC3ENC_OPT_NOT_INDICATED: av_strlcpy(strbuf, "notindicated", 32); break; - case AC3ENC_OPT_MODE_ON: av_strlcpy(strbuf, "on", 32); break; - case AC3ENC_OPT_MODE_OFF: av_strlcpy(strbuf, "off", 32); break; - default: snprintf(strbuf, 32, "ERROR (%d)", opt->dolby_surround_mode); + case AC3ENC_OPT_NOT_INDICATED: msg = "notindicated"; break; + case AC3ENC_OPT_MODE_ON: msg = "on"; break; + case AC3ENC_OPT_MODE_OFF: msg = "off"; break; + default: + snprintf(strbuf, sizeof(strbuf), "ERROR (%d)", opt->dolby_surround_mode); + msg = strbuf; } - ff_dlog(avctx, "dsur_mode: %s\n", strbuf); + ff_dlog(avctx, "dsur_mode: %s\n", msg); } else { ff_dlog(avctx, "dsur_mode: {not written}\n"); } @@ -1870,12 +1874,14 @@ static void dprint_options(AC3EncodeContext *s) if (s->bitstream_id == 6) { if (opt->extended_bsi_1) { switch (opt->preferred_stereo_downmix) { - case AC3ENC_OPT_NOT_INDICATED: av_strlcpy(strbuf, "notindicated", 32); break; - case AC3ENC_OPT_DOWNMIX_LTRT: av_strlcpy(strbuf, "ltrt", 32); break; - case AC3ENC_OPT_DOWNMIX_LORO: av_strlcpy(strbuf, "loro", 32); break; - default: snprintf(strbuf, 32, "ERROR (%d)", opt->preferred_stereo_downmix); + case AC3ENC_OPT_NOT_INDICATED: msg = "notindicated"; break; + case AC3ENC_OPT_DOWNMIX_LTRT: msg = "ltrt"; break; + case AC3ENC_OPT_DOWNMIX_LORO: msg = "loro"; break; + default: + snprintf(strbuf, sizeof(strbuf), "ERROR (%d)", opt->preferred_stereo_downmix); + msg = strbuf; } - ff_dlog(avctx, "dmix_mode: %s\n", strbuf); + ff_dlog(avctx, "dmix_mode: %s\n", msg); ff_dlog(avctx, "ltrt_cmixlev: %0.3f (%d)\n", opt->ltrt_center_mix_level, s->ltrt_center_mix_level); ff_dlog(avctx, "ltrt_surmixlev: %0.3f (%d)\n", @@ -1889,26 +1895,32 @@ static void dprint_options(AC3EncodeContext *s) } if (opt->extended_bsi_2) { switch (opt->dolby_surround_ex_mode) { - case AC3ENC_OPT_NOT_INDICATED: av_strlcpy(strbuf, "notindicated", 32); break; - case AC3ENC_OPT_MODE_ON: av_strlcpy(strbuf, "on", 32); break; - case AC3ENC_OPT_MODE_OFF: av_strlcpy(strbuf, "off", 32); break; - default: snprintf(strbuf, 32, "ERROR (%d)", opt->dolby_surround_ex_mode); + case AC3ENC_OPT_NOT_INDICATED: msg = "notindicated"; break; + case AC3ENC_OPT_MODE_ON: msg = "on"; break; + case AC3ENC_OPT_MODE_OFF: msg = "off"; break; + default: + snprintf(strbuf, sizeof(strbuf), "ERROR (%d)", opt->dolby_surround_ex_mode); + msg = strbuf; } - ff_dlog(avctx, "dsurex_mode: %s\n", strbuf); + ff_dlog(avctx, "dsurex_mode: %s\n", msg); switch (opt->dolby_headphone_mode) { - case AC3ENC_OPT_NOT_INDICATED: av_strlcpy(strbuf, "notindicated", 32); break; - case AC3ENC_OPT_MODE_ON: av_strlcpy(strbuf, "on", 32); break; - case AC3ENC_OPT_MODE_OFF: av_strlcpy(strbuf, "off", 32); break; - default: snprintf(strbuf, 32, "ERROR (%d)", opt->dolby_headphone_mode); + case AC3ENC_OPT_NOT_INDICATED: msg = "notindicated"; break; + case AC3ENC_OPT_MODE_ON: msg = "on"; break; + case AC3ENC_OPT_MODE_OFF: msg = "off"; break; + default: + snprintf(strbuf, sizeof(strbuf), "ERROR (%d)", opt->dolby_headphone_mode); + msg = strbuf; } - ff_dlog(avctx, "dheadphone_mode: %s\n", strbuf); + ff_dlog(avctx, "dheadphone_mode: %s\n", msg); switch (opt->ad_converter_type) { - case AC3ENC_OPT_ADCONV_STANDARD: av_strlcpy(strbuf, "standard", 32); break; - case AC3ENC_OPT_ADCONV_HDCD: av_strlcpy(strbuf, "hdcd", 32); break; - default: snprintf(strbuf, 32, "ERROR (%d)", opt->ad_converter_type); + case AC3ENC_OPT_ADCONV_STANDARD: msg = "standard"; break; + case AC3ENC_OPT_ADCONV_HDCD: msg = "hdcd"; break; + default: + snprintf(strbuf, sizeof(strbuf), "ERROR (%d)", opt->ad_converter_type); + msg = strbuf; } - ff_dlog(avctx, "ad_conv_type: %s\n", strbuf); + ff_dlog(avctx, "ad_conv_type: %s\n", msg); } else { ff_dlog(avctx, "extended bitstream info 2: {not written}\n"); }