From patchwork Wed Nov 22 23:24:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Colin NG X-Patchwork-Id: 6283 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp78570jah; Wed, 22 Nov 2017 15:24:45 -0800 (PST) X-Google-Smtp-Source: AGs4zMb13W4ewv3Lo5AyYPu1hIbjvOgM8WCtSngfw2nNDOhWi7+AHrwnKohdBcGpTKoAnkDYzuj6 X-Received: by 10.223.160.40 with SMTP id k37mr10720426wrk.66.1511393085239; Wed, 22 Nov 2017 15:24:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511393085; cv=none; d=google.com; s=arc-20160816; b=LkwPmkJ+6WxyC/5XqztAMYh305gkHBzlopo5ytfFJVnkgtqqokun0SrGcKaI2tyO3K piCVaoK+JdOZvqzEa8+RvXwIai2hxSOw3hpzmzaaq3jJ4qst18nA7ikQ9o/b+8Bd5BdC LvvLhFqRZ/H7+kcQZXGy4ss8+9Y0hJ6hmSjhQvNIeh3CLK81eE1kNQrKOJhhIja/9G0o TcFJ1R8FqFbWPdJp7yJVZr8hGq8p1kBzDmDCI8MZL8xUcfKZBp2MlJiuIew59GuOcvYq 0KRcdSvFlfFKOlkqYW/NM9vG74zc6nebT74LDFBwaJVZUjYxc4zg2q/8G5eW9PTU86Ls +5Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:spamdiagnosticmetadata:spamdiagnosticoutput :content-language:accept-language:message-id:date:thread-index :thread-topic:to:from:dkim-signature:delivered-to :arc-authentication-results; bh=4FNu0lMNqLuZzOsGOJ+Ow5ZiEvo8S/f6KZtS/E6ksmg=; b=K8zxze1JzGt7petGRlq6frKS4ojDKbd6+ND0tz0PEeGTrqFrCY8ENE65rliS+X0bJr j/7a04VnClnD5SR8Q1YKm0axt5b3C+++NvPT/+MZv0jay866uFvxhUAQuMvPIZyCUrB5 TsNk5QZ6tmBitTTVFhbjjBZhIBqlfTsUAu4raQ2j+RtmT+6q/cyO6YlRFM1bPUWZMaQg XWH7RRHJqmP7p8DZAAFezQNF4EtJ728ti5Y9A94yJD9cOzBh4kB1y3+BEe0x1PFIDKyZ 8gHI0nLJGkSFxH/gkO4OoMn5rAxL5zb0CgOBW/mGCMwRj1gBaMuocRJXBi5aRYzb2CEc FrQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@hotmail.com header.s=selector1 header.b=n67tL2py; 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=hotmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id s14si11268212wrb.284.2017.11.22.15.24.44; Wed, 22 Nov 2017 15:24:45 -0800 (PST) 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=@hotmail.com header.s=selector1 header.b=n67tL2py; 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=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 53B1268A0FE; Thu, 23 Nov 2017 01:24:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-oln040092011036.outbound.protection.outlook.com [40.92.11.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 781E268A0CE for ; Thu, 23 Nov 2017 01:24:37 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=QmbnaXbPVNAdLerZ6olyRF6QbvEAOaqAMdoJEOPfs20=; b=n67tL2pyDuMT4lt1QBTsd8dCqraEdNqvEfhohoUWH1NZUsnvIjGkQ8HaKeEAUfd1m8pA/Yr+veAoTvCFXk1bcdlvbgNOvpKu5gD3GgTr2budMq5MwFVBRTzau+d4C0Ue1xKNBdnN7j8r0Buc0fKI4kWtG4cTKU3NW5eSu1aJSNo7RrYLxgQxnVCdEhF3LyyMwLHAf0GTB3Y8FwZcA3prsq8Y6l8T2OZ5WrxBU4zgALecb2IhjEgv6cM+fJ6B/Na5tbnXE5RKvXUt36Xm3iBsH7kUApAM13Olj28GTycojox39n9JxR9pYmSuaPR7JipxXaAthCrcUs4mfcBB7z9deQ== Received: from SN1NAM04FT030.eop-NAM04.prod.protection.outlook.com (10.152.88.54) by SN1NAM04HT096.eop-NAM04.prod.protection.outlook.com (10.152.89.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.197.9; Wed, 22 Nov 2017 23:24:35 +0000 Received: from DM5PR22MB0681.namprd22.prod.outlook.com (10.152.88.59) by SN1NAM04FT030.mail.protection.outlook.com (10.152.88.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.239.4 via Frontend Transport; Wed, 22 Nov 2017 23:24:35 +0000 Received: from DM5PR22MB0681.namprd22.prod.outlook.com ([10.172.189.151]) by DM5PR22MB0681.namprd22.prod.outlook.com ([10.172.189.151]) with mapi id 15.20.0260.004; Wed, 22 Nov 2017 23:24:35 +0000 From: Colin NG To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: Fix for ticket #6764 Thread-Index: AQHTY+i/RZze2xWvP0eToJr1gTbdIg== Date: Wed, 22 Nov 2017 23:24:35 +0000 Message-ID: Accept-Language: en-CA, en-US Content-Language: en-CA X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: ffmpeg.org; dkim=none (message not signed) header.d=none; ffmpeg.org; dmarc=none action=none header.from=hotmail.com; x-incomingtopheadermarker: OriginalChecksum:5936B0D650ECD5F06FA7C5A66E4893D630FDC6055EB8012CC4EF5717F29354CD; UpperCasedChecksum:1B66780E6611A564AF5F43CA2A8525C23C7A4BF156BF8B8B4ABA0D23100714B0; SizeAsReceived:6811; Count:44 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [a97sVJRjR2jFGa7F4K2uLtzoDbCosrEc] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; SN1NAM04HT096; 6:kxqoUVSvpdwHH/YD3WxSOa/YLXcIg3jqPACWVVRKBe7iih3m9pKr2WScOuRl+U2J6lbiH2/HlasX9u+iSvmy6mUO7AehjXMGD1Ym2WWWo4C5cniA/S3nwp9l8yJBdGcIuqcp42zxo19DTXrZKMA8H367nRVixCMOT/lwB4zT5BNfWj3aj1oabMJ748ehlYL9qBzEvGQXOaTj3aPZjuN9uFh+yXdX95LwgB1YcPDJi9TEX9TiK3MJ2d2oLQxTgueW7wxY/Ndr9FeRx0UWCPUWD91rI6+9OGAYexDywVhSyLW69mf6usuXvMmQ3SbSo1vbWxgo4W+TbmrQw2qUbgl5zK8ZQO/K/dRYeDJKsp3Opj0=; 5:DScx5aN968KK/n21G+emrV1SRWFbzl2qSE4X84AFT3qmyCt7olPSzxRpN6NWyZ60gMXqO3Y1poUDbVq+voYKjcLXtDHXIpMUmiOzyTeUr/zg6TIR4Hzlq5ErXGzTHZHuS/T2CCjPLEzFEDO2Ycd+WcAMQBS4KbOy9+K4kgvQlb4=; 24:zoPJt4YBUX4qyS+Vph0JVQyWyi282nuuMl2AOF1nlCefT4Ik9STspAXvF01o1eVh4unHjl9aUCOeGkyrKOAAgYG3r0WfqgoT3zPaxBF08NQ=; 7:hlQkBU00KXf4nGnYa0dkWa+wGOX9yC6xnxwyvGQCIt3hphj1izZ18XwIrHK71YfcgpNyWskrC+iot5kPwHNBnjHyMeD1Lss8enRkpqo9FG1JICuP3kkORNvHprKgTEuNZAcvDmC0lPjBf3mdRJSZW85xhFN8spZ4fuikKZ8rR6s5zfvfWts/IMRrd0NPJrR1hvrOv6RyjKT64c5PkZdnJO0VoFWgsZ262RWO8Ot9FhXjFjHZbz7PCWjJBKa4zpjz x-incomingheadercount: 44 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 71898b9d-6c8e-41fd-240a-08d5320031c6 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1603101448)(1601125374)(1701031045); SRVR:SN1NAM04HT096; x-ms-traffictypediagnostic: SN1NAM04HT096: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031); SRVR:SN1NAM04HT096; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1NAM04HT096; x-forefront-prvs: 0499DAF22A x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:SN1NAM04HT096; H:DM5PR22MB0681.namprd22.prod.outlook.com; FPR:; SPF:None; LANG:; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: 71898b9d-6c8e-41fd-240a-08d5320031c6 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2017 23:24:35.8000 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1NAM04HT096 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] Fix for ticket #6764 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Add NULL pointer check for incoming audio data. diff --git a/libavcodec/opus_pvq.c b/libavcodec/opus_pvq.c index f98b85d..f1dbc5d 100644 --- a/libavcodec/opus_pvq.c +++ b/libavcodec/opus_pvq.c @@ -504,6 +504,9 @@ static av_always_inline uint32_t quant_band_template(CeltPVQ *pvq, CeltFrame *f, int longblocks = (B0 == 1); uint32_t cm = 0; + if (!X) + return cm; + if (N == 1) { float *x = X; for (i = 0; i <= stereo; i++) { @@ -795,7 +798,7 @@ static av_always_inline uint32_t quant_band_template(CeltPVQ *pvq, CeltFrame *f, f->remaining2 -= curr_bits; } - if (q != 0) { + if (X && q != 0) { /* Finally do the actual (de)quantization */ if (quant) { cm = celt_alg_quant(rc, X, N, (q < 8) ? q : (8 + (q & 7)) << ((q >> 3) - 1), @@ -902,6 +905,9 @@ static float pvq_band_cost(CeltPVQ *pvq, CeltFrame *f, OpusRangeCoder *rc, int b float *Y_orig = f->block[1].coeffs + (ff_celt_freq_bands[band] << f->size); OPUS_RC_CHECKPOINT_SPAWN(rc); + if (!X && !Y) + return 0.0f; + memcpy(X, X_orig, band_size*sizeof(float)); if (Y) memcpy(Y, Y_orig, band_size*sizeof(float)); @@ -911,7 +917,6 @@ static float pvq_band_cost(CeltPVQ *pvq, CeltFrame *f, OpusRangeCoder *rc, int b int curr_balance = f->remaining / FFMIN(3, f->coded_bands - band); b = av_clip_uintp2(FFMIN(f->remaining2 + 1, f->pulses[band] + curr_balance), 14); } - if (f->dual_stereo) { pvq->encode_band(pvq, f, rc, band, X, NULL, band_size, b / 2, f->blocks, NULL, f->size, norm1, 0, 1.0f, lowband_scratch, cm[0]); @@ -925,7 +930,12 @@ static float pvq_band_cost(CeltPVQ *pvq, CeltFrame *f, OpusRangeCoder *rc, int b for (i = 0; i < band_size; i++) { err_x += (X[i] - X_orig[i])*(X[i] - X_orig[i]); - err_y += (Y[i] - Y_orig[i])*(Y[i] - Y_orig[i]); + } + + if (Y) { + for (i = 0; i < band_size; i++) { + err_y += (Y[i] - Y_orig[i])*(Y[i] - Y_orig[i]); + } } dist = sqrtf(err_x) + sqrtf(err_y);