From patchwork Fri Jun 24 09:58:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36411 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp196918pzh; Fri, 24 Jun 2022 02:59:07 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vP1A9vweae/Ooo0A45qYYXUgPx2hnmGn3bDQRo0EmCvSIZ8TFt4KiIP32aMbERVIdE0eiz X-Received: by 2002:a05:6402:698:b0:435:75d9:f94c with SMTP id f24-20020a056402069800b0043575d9f94cmr16295311edy.330.1656064747104; Fri, 24 Jun 2022 02:59:07 -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 ej27-20020a056402369b00b00436eb733c22si1564590edb.315.2022.06.24.02.59.06; Fri, 24 Jun 2022 02:59:07 -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="OWl7wm4/"; 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 279BA68B6E6; Fri, 24 Jun 2022 12:59:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068096.outbound.protection.outlook.com [40.92.68.96]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6254668B4B1 for ; Fri, 24 Jun 2022 12:58:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fCh6OrFXTHMrUQUta2/7fIjt68PqIcWaXc7Oy880g8G3reJngjz/36cFbjb3Qg0kAIY9gTbigRgTHXwIbvE40P8X4wg9aJ5Ms5UltCZ6H1SBMONQNdoDbqwqiMIv8kdOK2lKpVbJFPmvvn98yuw7enCey16VnW0DGiNHcb5izB08S9SRmvuPMBi5kIjvxB6h8yVPOuD2NdnfH6wtksjgoc/UcdtUHUDWTYNBB93AUxd7mRxktIFvUQFhKPbnCMBMpYPok/MFkb2jou/Fm7D5xf+b6r9o41PjvS0DlG1pPufHYhuhh5VfDGCoIX/V4MCAckX/slxgJFwPRLopnjYqdg== 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=AcenEUFLF6RA5RhXHJybTIfa6XBNaECoqc52yLpdqWc=; b=P10Wawo/FxwFcyHM5nZK+AGcm02NmPaiTbnp+X9cWe/qQb0jVTfObYuZrqplR4RdVrh1JAIYpEMJ3+1EI5e0xYVa3Tmx1fmeQK19b1ikaIsS5JJ3IfrkP1VrpPT6c2TFgzoGnLOm4h9tSc7J5zqqrRBHvrarFxprOXrLe5JP1tVnu+54nYUFCDqj/qyU0YHI4S7yW+k0Ie9tdCnS42gDAsJ5GeiHXTbLm647GRCgmyf66wRwv3Ua/p0t+nWShXsXZVQ/qcYci6qpSr8nR7cNKm7RE99DxsReBZZlGARhYX5MRINg0w/45g0lWOuo4l0ig6XtP76Hw81Ti+SQTqucJA== 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=AcenEUFLF6RA5RhXHJybTIfa6XBNaECoqc52yLpdqWc=; b=OWl7wm4/WWCt51qrqx6S0f2WSm+WVdR9vdNepBe87ypLDkow3SaUQGQ2ZbWkvjcGv6jhqP+sFMdGMgPzlzf+KbC7+wI67LJElvfww/W36Cw1qTt5rkUSB4CkC1B0Yv+xpnFqCy3f9BlhFv9LqjBDDUuPTfnOqJSvNgsrjcEuM6K7KCtRsXX86aKi79ZNmMTeH1PcYTi8LziHqkraFdDgUTKv5b6Ggvs26jRqrMH3Vv5pnpBugceeOrafuw7gm+yZaFnmOBaxTw8A946MzTcHoTAWxzbkyDw37tCS4NGGfATetY8lVekfgWkS4Fx+8h7mQeiCwlLBCV68uBYfQFiKwA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB7PR01MB5418.eurprd01.prod.exchangelabs.com (2603:10a6:10:90::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Fri, 24 Jun 2022 09:58:56 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5353.022; Fri, 24 Jun 2022 09:58:56 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Jun 2022 11:58:48 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [r8oKwW7J5KclPfooj1TeRkT1GrLbC1pH] X-ClientProxiedBy: ZR0P278CA0105.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::20) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220624095848.38299-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 01d029e6-e9ff-4b70-693c-08da55c826af X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiS6+TXmMYPOjPRcM2+JN86YLm7wdov0UmSws8D1h761+E9fEYkpofwMlykQHpF1kfdqz9BsWPSdj3DdxPVrVc7OMijwb38OQpZc+gUrcLHfMtZwBcaOZXFKeJmkUm3jKVyYunzXEFzi1m4JZiPJ1g4lMpiOd9aJDeOOObMYzAE02T7PO2mFXNxo0n/clyLg5DQzzLTdRHNV5vBIIjB9rpeNT/mxrilX+c8jwMaqovzvBRtl+8NgPtuZKuqElPh5jpTtUxFo/omfyRmvU9gVSjyiegqeEsipja5QjnqhnMsQGdkRewHrLPsiQe8xcaRF5P4R/VbQLQC42+hKSIiDxgwmqU3Xgo1re8Av4C8B8H9vDlYKmj9n6qsLaXdNm7NHm7Rd+R7oflgkIfptaD3DrVUhuH54kt4zIL5Nzl3gfsPgwLOLRYqBMxHxByRj4/4QziTpl2qPxDQMmIW3+pWDcUQxgjkiuWsr7H2V6OERlIZppQN22jMRMux5WDnXtPuLsmxtOelKhftfaJTL10NW6Q8NEmTHEJ01G2BVogQvbRPBpliwo8+tQ6v80f3w9MnZTV4Iy2M48lGqJhgm9q1Je5WUKloA4koibQ0inDD9SUH2t00BzdUngFs404u2Krg6ei51AkQIrckEiVnEdLz7FZclOmH5qB5K+pzJD3rale0eTZMxigPFLEkOTWM2HNSnNxLMkEPYKeUI5lUbH7ikwd26Iu0ddSpd2uBsmWAntG/MCoeJpubKNLkwQLN3ATWnn0U= X-MS-TrafficTypeDiagnostic: DB7PR01MB5418:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /ofFDUBD4Zwc2iqytUUcvSS/ICMyQD8qNaslmyngjX9h8fmlUdpwxfJoFdOPNPSfqrdXUt5Jm6muJmyNrqqR2AI4++x2zjawwEfk6m3Ed0V0JRxqshOdJ+l/V3f/yfJZtxqH2gGhc0+ZjcRd0KgFARg7Ctee+0Oja/IDF4h4RPIJrSMn/y79gYCW8yXxdk2YGDQnj+PPCbSUa3bxwIeUSL7uiGaMZMIFDThLrmOPfD+tJOFIBJv6OJJtAM59YqwNG0v18pODXW/1z5hPw91D02IDUIAcUcH/xxg7xHy625uCH5KQ1IF+dVtg/ZNZ4R2XxRQoKq3LOcNxsuoLHZShGWtU3dgeI57vsRAHcphT+4sc2FOTtzSTf+soguaw+v6KH5VRszY/qh8o1l+d3gCcbPUoVs8Wx7NZfbe18m1YJGhCmGbNKpJ/EfBgSY/3HkjD59W7Rk6Ckch+2BDTV0d0g5ViMlTgeiCAwLmAkzdcX1N7n0VLUxItVEo9o9almDeXvz/1hhbeLPs7pujvCL8QKz+I7xNuQDu7GjnPz20j065786vRu2O4gyJF4Fc3X5QGpfUxil5csnqsC+HLBgAfC4cGNm+o4jxzM9XHebPbQ1MCbcX9PfGnN4tYI2eu3bsB6SvXckTeSPDOO/aJaiFwOg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uZKGfB6neQrgNtctF37wJSrzldfc8hqwqulfxi01yTIZ5Ht4DvhmgIul57cCujOHcazquPHZrZqotSV3FIUy1IM/iGpgILlKgTtDVEzWDaaIQ85LSlz/VOVzOFEyd6GRg2Yq94EslY1tJTkNgMiumzbqX1oPnCXB6nEmx95cCkUJwkzdO08If2ee4bNbaIIFdyW8gd//3dgBH+Uy78RVX7Gd2lFlt8LIlyovI+ou+ieXH4bQi/x66yJMw7CMfcNC/9ZDg1qm9GmMKsJgOVmyhgSqaXbGop0xViYZwnhSIA7Zsqc6HCoLGswhmjCxXJJpw5rwn2JgjcY8ihkCmF6BxM1pMOCz4xcLfJHgFS1wrZId2/tztJdSt/g0wldZNaL1ZQF2fub75ipRprhTPMuhaaokbQ3KkP0gEBb6ZLpfkjqAYivNzY/l+OVLjlJdi55xXHYBm7tbo0sUT9x6k+PJtxcdGbrshOuEt+I4iB+wgB8o6GqoiyVxcsQYBXL3aILiIdYji7bFbB+8E4ye53GJ3pTE7fZWTdAHO09sm6fTByHlaZvFzWC1GSa4pJpx3q3NjhVSyAvEiNcxkszYe4VKgzpOyiUdFho7H4FdUGCm8xpjOXQZkjfyz7eDAcn4lPeV2v+nLrPxL2I5BtO03px8LGOU/Dg1BHKkNd0kmHhd3YQlyfw382Stbo71fxojYulJXNuWTkBtVJPPk4xgVE1/wH82uijQTLga/D5mxW4fl6czO5ZP0TJL0/7dOOcLLhVZvTu3ZiLmSZHh15SMs68O7wLlCWxNuW9l3JOm6BTu8+iIzgc/fW9OGD54CQbD9Zbf3ifDH9oDJ1eXvs8UCsn7IrxTBgb7qDBd5z70oObWpcqXJSGau3h30VWH1YGeqvoxnkVIg68ctjZmaRZuhGfEMUZHhnEVyJX8cmI6GEP9O+Ya4N+nvKVnUs5bWSZM2dNYZmZykF9TbHybV5/tYg9U+Y/GKnNqWrcCYlTp2nzCLX7J3SyTfyjh1Boajt/UH0YWNoHhTw7vJbL0gJUywG6V1ynrGzlmqgpKdvN04ndomrlsBkFhxa6wm+irzvjSNplvhGuyZcKnwvqRQiBRbMIRnY09ywPm54havvzhsj4yYaBp/TlYV/nrSzd2axeJWKtVsH6VfPN3P99Y+/8nE02H7TnHhEp2ilS6oXKTwIE4Uy8fEccWGGIJLILxj6g92zU+pQTTP5on7o/SXfYZIYrcYgrszkf1tnmdL+LBvhMmuUvRpVOSwrbeOWB2CtmY/eF9DChIM8dazHGnMYeHx854FnRdEZ3LVb/iY28c/GzNkHs= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01d029e6-e9ff-4b70-693c-08da55c826af X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2022 09:58:55.9852 (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: DB7PR01MB5418 Subject: [FFmpeg-devel] [PATCH] avcodec/libx264: Avoid duplicating 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: 57CHVjf5Qam1 Notice that the underlying allocations were unchecked. Signed-off-by: Andreas Rheinhardt --- libavcodec/libx264.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 616d855067..98ec030865 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -62,7 +62,8 @@ typedef struct X264Context { int sei_size; char *preset; char *tune; - char *profile; + const char *profile; + char *profile_opt; char *level; int fastfirstpass; char *wpredp; @@ -832,26 +833,27 @@ static av_cold int X264_init(AVCodecContext *avctx) if (x4->fastfirstpass) x264_param_apply_fastfirstpass(&x4->params); + x4->profile = x4->profile_opt; /* Allow specifying the x264 profile through AVCodecContext. */ if (!x4->profile) switch (avctx->profile) { case FF_PROFILE_H264_BASELINE: - x4->profile = av_strdup("baseline"); + x4->profile = "baseline"; break; case FF_PROFILE_H264_HIGH: - x4->profile = av_strdup("high"); + x4->profile = "high"; break; case FF_PROFILE_H264_HIGH_10: - x4->profile = av_strdup("high10"); + x4->profile = "high10"; break; case FF_PROFILE_H264_HIGH_422: - x4->profile = av_strdup("high422"); + x4->profile = "high422"; break; case FF_PROFILE_H264_HIGH_444: - x4->profile = av_strdup("high444"); + x4->profile = "high444"; break; case FF_PROFILE_H264_MAIN: - x4->profile = av_strdup("main"); + x4->profile = "main"; break; default: break; @@ -1098,7 +1100,7 @@ static av_cold void X264_init_static(FFCodec *codec) static const AVOption options[] = { { "preset", "Set the encoding preset (cf. x264 --fullhelp)", OFFSET(preset), AV_OPT_TYPE_STRING, { .str = "medium" }, 0, 0, VE}, { "tune", "Tune the encoding params (cf. x264 --fullhelp)", OFFSET(tune), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VE}, - { "profile", "Set profile restrictions (cf. x264 --fullhelp) ", OFFSET(profile), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VE}, + { "profile", "Set profile restrictions (cf. x264 --fullhelp)", OFFSET(profile_opt), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VE}, { "fastfirstpass", "Use fast settings when encoding first pass", OFFSET(fastfirstpass), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, VE}, {"level", "Specify level (as defined by Annex A)", OFFSET(level), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, {"passlogfile", "Filename for 2 pass stats", OFFSET(stats), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE},