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 E4A9E471EA for ; Thu, 28 Sep 2023 21:36:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 01C9F68CBF7; Fri, 29 Sep 2023 00:35:53 +0300 (EEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01olkn2059.outbound.protection.outlook.com [40.92.66.59]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E9DD568CBEA for ; Fri, 29 Sep 2023 00:35:50 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NoPPAPGBhWoE5113hP6SOLyqCZPhrHLHWRlLbnVM2TmMH1OwcDB/q6SiKVg9gvaNPqxyYvO1g9CWczllea4oLymRmjth0L6GTVIn1vr35aNNkk/yMoSln02502egyrhjtg7obMtWAnfipvPG+a62mPFxSKvppw3jw8aWwvrHF1Pxa81QCgZGtXQeHPc3YGPGHoTIXhaZWmJujcHLNcnGWCQoBJKvbfZXTNNyyWM0wXajMMaz7vLYzGt8d8eNB1aEQ+CV1wL4rOPIXogrNZdbjgEVjkLnknioLrdYegF0savP/cCtHvXN9Dqt4Uz8yxt0llbVqIPwrYMk8XtooXcuuw== 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=0HZWyWhF7MQ+8FVpiOdtN2QrczDbQTUzBAy+yRlYtUo=; b=mxjt1R1Vilm2VYOZwuv3d8U8KVPtDuwvPTf0ZDwZK4fAkv5395DiM5ycMKK1PysuBlN2Smzo9kgjW+01MIXQFR/B0J3oi0TAKwmeHp91A9QzCmhtist76YNc9eNZKPLJh0oNGzBq7SycnUblAq8HBJHsQuMDhbCz8EV/8VvjcVB40uQ+VEEHGTOsy0UnOFB6Cvw/y+s68ZmVhvsXim5LiZvXGECLxmcuf+Ux+fS5+B70TnLUi3OTJgQA7oUUUIUngcat6aQruomUsDQnXw6x1hfODy2n4WOPprvY4PPEJ41kpa9TrpVix5LGBWfgwOE5Kkqu3W1XRcPEedFaHpcytw== 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=0HZWyWhF7MQ+8FVpiOdtN2QrczDbQTUzBAy+yRlYtUo=; b=QWJX2vCTh2vtuxOHQ4yYEpaGrBz0QgP1kcytaEuOJnhq+0RfeCq6d8dCOAWQvUrDkU/meMCoxleJjWqK8ghUkW4duUzt24KroKQ2rOK4yuFCTIG+q7ZfnDjj7e7yOQW4I3MTSv0U/kwEGuOOTSbTJm6gNVlPpEJ3YaiG1TxUC+Gu4cjoP6L8a9eRfY2l8x1KIwYuqbxYBEgcWB5eOpK5MWmfjcYiCRzGmfL03yfU4UfhpyhtwGIpbXJWcycsQo3hTRlX+VI9KoGQmOKcMGd4mbJZX+j57EYol1cVK0/jNkjCRENG6sPw7N8sO9pqOun6bAtPqhmnhfcKyQDx8I0xWQ== 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:49 +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:49 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 28 Sep 2023 23:35:47 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [h0xq9dBlZkAoyLjX1+qWywDkuNfVuk1i] 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-12-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: dd39c64c-4a33-43b0-9429-08dbc06ae1c7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JrA0e+eoyGthdZf3HA/W3prIocnUKFmJhaeqw5jSX4PSXK/pq19cHv+iPtQ0Htiqkvx4n0PDlHgXUniNESBFMr41YAi8YKAnROQS2pEcd8VXg4mJ8uhm2Esr0Bh7wnjrVIcXqX/WPaRGw2KIspqA/KxvBwAL7Fv2oNO5v/UuuZ7gk6mqVlkOxdnOyNAHXsJ2mxp7pJql7yBMZdSbcRhkZYAj7qTPabtCdMcrsk46zwcf8h7eXC942GJf2n4iQFeNjf3tRk17OisIPRxksweibtKvzqdS2MGaYBewYq7q1wB8kOC3QAdGa7OECup0Mn4NAGoT88XhyJElKEJ5uaKrJ/SBbJtxaRELOlyMUx8BsLAMZp8tIhmoZ6Zv2acNZH1SGfqpwlJKmVCC1q6EoyVj7bgnF2QB8hYVQkfwW8OJ0YcCdWfJKCKHUJ6xg7jtCYD5LYIO1po2hutsLWA3zIoTE0bgP+fdgoyTGrEoc2wug+j0+7CcKS+VpfFI8Lx/mszZ3T3HeTKpnetT/CMwYa9vWRkOsE1IgK3MVbIk3Sq2UY5nJjaO0VBAW4hHpbHjJ0hklQZet93+cRh2cjS09HkiFx0Jl8gbLgb0384z85ezpeY= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Uz9lDTEAGG4o1KRoYtOjYelPvot9V5fODAXCiP/2SCYZP2vhlwzHz69casy7?= =?us-ascii?Q?xGRvzxiwGjQn64iWDWzMGc4Pb7B6Q1CikWOeTZhHlcMH++Bh+Z+CF65jYz29?= =?us-ascii?Q?4X0+ZgT1O3sJ7o67GfNjsgadQ6xmOWFKRJ/ed5onEOFErVilKtiB8gu3wsYE?= =?us-ascii?Q?JppZjqGNvEh4KtDIf+/28a3KxUNCu0ZTL3qkKCaCGIe/JGwhXqTFIRpkm8Bn?= =?us-ascii?Q?B3/pYaskdEcu+WwOMEH0LBpbw25hvyYfSAU9+/NwOLNkzSrIQsWhJ6BPw9TD?= =?us-ascii?Q?muFF/t8EuPVIU+AhRNpOOgJGjF6/sd2V83eFwLIkhDWxMPeRP/jx/lo6WUkE?= =?us-ascii?Q?Q0MNiHuCrVYL5fHdlvw1eHDjUxpry0MAuCYilZr83YOcrp9T8DFG3Zqb67Mf?= =?us-ascii?Q?j01wfooPdpA3oZ59PEJrgBzWoI9JOecGeZODGdZflmQhCV2tDQWk5M9oq8ek?= =?us-ascii?Q?/A1CNBV3sG4RQTMjYqLzF417oSdib+I7fRgEQly6AePUX7yEQZBMOnEKW8PT?= =?us-ascii?Q?Sx1PX9xCQRzzoBcFK7WemiRAVBa43TM8yDPC5++KVwyMFd+b+CVMGallwKY5?= =?us-ascii?Q?X3VH5e2oTjM34AUhUvXXMnOAm8biYUPuvDxNBmJidDEZQl0G828z1nbzLLpv?= =?us-ascii?Q?v36l96aoaAmzeVgO9w/dhaMaf7Psp+K+U1CEbBXeDWV/Ka27bTCnVKeH4Izx?= =?us-ascii?Q?KNH2Dv+JwOMBOZQEFU6+4JQi4dH95ft7+axJkSEFGBPCmIYCERWuf77E5bVG?= =?us-ascii?Q?cSGMQUQ0t/9x56ghXBm9cy7wraVM9TUWmSp/+Psn4wKZHW8lqXKBGzd65yRe?= =?us-ascii?Q?ed7C2pXn123R5ZFGGrlEioFULVU/qJzZY3sgcRIYMMk0mveeqK/IqQ4pKfxm?= =?us-ascii?Q?L0kcNWWS8zMWbP7prK8j2j5SntGAxAqbwtlTNm09C3eJ4q/D1HK1plrLWH8J?= =?us-ascii?Q?3zI1Lq10AJ9syLy+w/EQQwe8+fNOsppTEWo3xl97DYJUVeEmr3q0wrc9LvW9?= =?us-ascii?Q?4aFovm1LilW3iV7Ee7DXfM9IWFYPkH+3j3kJQf0AzSG4zUCAsYYT2iOMjmar?= =?us-ascii?Q?gm+5Gk6P2ed5zg6L9PMPrQ+XcuYyZmWxnhTU+nf173bQaQzHeMSr2oRRq0Bt?= =?us-ascii?Q?SVPcjClrLuXXuQmqBr6asKuUjOJKt63LQIR732XDJpZRiGaASaXDb+2wA/xE?= =?us-ascii?Q?hHdDt7lQS6cZMQVvGttDI6l2hOotUfa4pu+crCG/woVBLYCrMCIi61C6ogVV?= =?us-ascii?Q?2UQD8ee7l3EggA0u0I64?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd39c64c-4a33-43b0-9429-08dbc06ae1c7 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:49.6101 (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 13/14] avcodec/flac_parse: Use void* instead of AVCodecContext* as logctx 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: It more directly shows that ff_flac_decode_frame_header() does not modify the AVCodecContext given to it at all; and it would not be allowed to do so, given that it is used by the parser when it is still unknown whether said frame header is even valid. Signed-off-by: Andreas Rheinhardt --- libavcodec/flac.c | 18 +++++++++--------- libavcodec/flac_parse.h | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/libavcodec/flac.c b/libavcodec/flac.c index 174b4801be..fac4cff9e7 100644 --- a/libavcodec/flac.c +++ b/libavcodec/flac.c @@ -48,14 +48,14 @@ static int64_t get_utf8(GetBitContext *gb) return val; } -int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, +int ff_flac_decode_frame_header(void *logctx, GetBitContext *gb, FLACFrameInfo *fi, int log_level_offset) { int bs_code, sr_code, bps_code; /* frame sync code */ if ((get_bits(gb, 15) & 0x7FFF) != 0x7FFC) { - av_log(avctx, AV_LOG_ERROR + log_level_offset, "invalid sync code\n"); + av_log(logctx, AV_LOG_ERROR + log_level_offset, "invalid sync code\n"); return AVERROR_INVALIDDATA; } @@ -75,7 +75,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, fi->channels = 2; fi->ch_mode -= FLAC_MAX_CHANNELS - 1; } else { - av_log(avctx, AV_LOG_ERROR + log_level_offset, + av_log(logctx, AV_LOG_ERROR + log_level_offset, "invalid channel mode: %d\n", fi->ch_mode); return AVERROR_INVALIDDATA; } @@ -83,7 +83,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, /* bits per sample */ bps_code = get_bits(gb, 3); if (bps_code == 3) { - av_log(avctx, AV_LOG_ERROR + log_level_offset, + av_log(logctx, AV_LOG_ERROR + log_level_offset, "invalid sample size code (%d)\n", bps_code); return AVERROR_INVALIDDATA; @@ -92,7 +92,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, /* reserved bit */ if (get_bits1(gb)) { - av_log(avctx, AV_LOG_ERROR + log_level_offset, + av_log(logctx, AV_LOG_ERROR + log_level_offset, "broken stream, invalid padding\n"); return AVERROR_INVALIDDATA; } @@ -100,14 +100,14 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, /* sample or frame count */ fi->frame_or_sample_num = get_utf8(gb); if (fi->frame_or_sample_num < 0) { - av_log(avctx, AV_LOG_ERROR + log_level_offset, + av_log(logctx, AV_LOG_ERROR + log_level_offset, "sample/frame number invalid; utf8 fscked\n"); return AVERROR_INVALIDDATA; } /* blocksize */ if (bs_code == 0) { - av_log(avctx, AV_LOG_ERROR + log_level_offset, + av_log(logctx, AV_LOG_ERROR + log_level_offset, "reserved blocksize code: 0\n"); return AVERROR_INVALIDDATA; } else if (bs_code == 6) { @@ -128,7 +128,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, } else if (sr_code == 14) { fi->samplerate = get_bits(gb, 16) * 10; } else { - av_log(avctx, AV_LOG_ERROR + log_level_offset, + av_log(logctx, AV_LOG_ERROR + log_level_offset, "illegal sample rate code %d\n", sr_code); return AVERROR_INVALIDDATA; @@ -138,7 +138,7 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, skip_bits(gb, 8); if (av_crc(av_crc_get_table(AV_CRC_8_ATM), 0, gb->buffer, get_bits_count(gb)/8)) { - av_log(avctx, AV_LOG_ERROR + log_level_offset, + av_log(logctx, AV_LOG_ERROR + log_level_offset, "header crc mismatch\n"); return AVERROR_INVALIDDATA; } diff --git a/libavcodec/flac_parse.h b/libavcodec/flac_parse.h index 67a7320bea..b0cbad825e 100644 --- a/libavcodec/flac_parse.h +++ b/libavcodec/flac_parse.h @@ -75,13 +75,13 @@ int ff_flac_is_extradata_valid(AVCodecContext *avctx, /** * Validate and decode a frame header. - * @param avctx AVCodecContext to use as av_log() context + * @param logctx context for logging * @param gb GetBitContext from which to read frame header * @param[out] fi frame information * @param log_level_offset log level offset. can be used to silence error messages. * @return non-zero on error, 0 if ok */ -int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, +int ff_flac_decode_frame_header(void *logctx, GetBitContext *gb, FLACFrameInfo *fi, int log_level_offset); void ff_flac_set_channel_layout(AVCodecContext *avctx, int channels); -- 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".