From patchwork Mon Jan 30 11:46:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: bananaman255@gmail.com X-Patchwork-Id: 2368 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.89.21 with SMTP id n21csp1413726vsb; Mon, 30 Jan 2017 03:47:02 -0800 (PST) X-Received: by 10.223.151.138 with SMTP id s10mr17835710wrb.65.1485776822342; Mon, 30 Jan 2017 03:47:02 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i133si13077946wme.31.2017.01.30.03.47.01; Mon, 30 Jan 2017 03:47:02 -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=@gmail.com; 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=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9D82D68A450; Mon, 30 Jan 2017 13:46:57 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wj0-f194.google.com (mail-wj0-f194.google.com [209.85.210.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 397A368A210 for ; Mon, 30 Jan 2017 13:46:51 +0200 (EET) Received: by mail-wj0-f194.google.com with SMTP id ip10so7404570wjb.1 for ; Mon, 30 Jan 2017 03:46:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=GFwL547aRYk50YfgXzPyKn+yD1RJBn6/7xTFWrTTnuY=; b=kqDrek6uJuo7V47q5O8ELsRLrkSuVaipkyfBsjw4L1OvAKtG64S+d737U5v6ywlKrT WbAWG/YvgV7leGoFtLfxpp4p56xDYNfsLwpzxDNeFKnBdlbjNa3mOCxuL2R238P4jZ4g k87D8KggBjpyXmVe5oOIt/JL8L4lC+MNz/NGrd/+QwuaoAGBvtSBj2sKPHKXTSkkEPgy A4+GDMCtgBA/9yPG+hov/it6p1cpvqrr6AkMO5DOt+a/KotO2IO127lEFoHwFhbiMbL5 4+vLMGftj0A3jSpMkBIXmPjxQLtHr8bLtkOGg8/6D4iFHR77bxKT+KAxmnBSA5qgWk+B 126A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=GFwL547aRYk50YfgXzPyKn+yD1RJBn6/7xTFWrTTnuY=; b=JFXMVQ3XoOrGSg61xfQxQdPzsB6RdNYlfph7IdIcPjTam9a2NbCmVEHU9FzuwAyQ4h c3qwOS6oYrOe7LIw+sB3FGtV6T4ZEJwhabCqozzDw9qbJCKtkepQHiO57bgdKxOqmeSB FGAiqU+SSURcYg4H+rKOEoj5b4Ci0ZJnULxe7iSnGHfQWBURNc1Jq+c0YnBquHGMK4zV I2lcsvehRyyGdrM3K2kGgrxM7mDssYKIdBtUWD+CjrXagr2bwHEVURC0TxRzhkZ5V2P9 61eY3IwtFG0jVZvQt2QUdA/aFbCTcLIRUpDoxJi9ACGkhqvSYQB0L4lug6vJrO+3X7lO D1UQ== X-Gm-Message-State: AIkVDXIY1wCnhSF7emD1kMJWAajbUlbxe2DkkL9D4+/D5F/gChfx7A/uSigwj/SpLli2Dw== X-Received: by 10.223.160.14 with SMTP id k14mr20722957wrk.69.1485776813153; Mon, 30 Jan 2017 03:46:53 -0800 (PST) Received: from localhost.localdomain (171.88.134.37.dynamic.jazztel.es. [37.134.88.171]) by smtp.gmail.com with ESMTPSA id w204sm18322124wmd.17.2017.01.30.03.46.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 30 Jan 2017 03:46:52 -0800 (PST) From: bananaman255@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Mon, 30 Jan 2017 12:46:15 +0100 Message-Id: <20170130114615.3144-1-bananaman255@gmail.com> X-Mailer: git-send-email 2.10.2 Subject: [FFmpeg-devel] [PATCH] avformat/msf: fix codec 4 (joint stereo ATRAC3) and align 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 Cc: bnnm MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: bnnm Codec 4 (frame size 98) uses joint stereo per spec and examples. Also removed an incorrect "align" var which wasn't used anyway (it was overwrittern). Probably all/only .AT3 of frame size 98 are JS, too. Signed-off-by: bnnm --- libavformat/msf.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libavformat/msf.c b/libavformat/msf.c index 24654e6569..8f8e80fd30 100644 --- a/libavformat/msf.c +++ b/libavformat/msf.c @@ -42,7 +42,7 @@ static int msf_probe(AVProbeData *p) static int msf_read_header(AVFormatContext *s) { - unsigned codec, align, size; + unsigned codec, size; AVStream *st; int ret; @@ -61,10 +61,7 @@ static int msf_read_header(AVFormatContext *s) st->codecpar->sample_rate = avio_rb32(s->pb); if (st->codecpar->sample_rate <= 0) return AVERROR_INVALIDDATA; - align = avio_rb32(s->pb) ; - if (align > INT_MAX / st->codecpar->channels) - return AVERROR_INVALIDDATA; - st->codecpar->block_align = align; + //flags = avio_rb32(s->pb); /* byte flags with encoder info */ switch (codec) { case 0: st->codecpar->codec_id = AV_CODEC_ID_PCM_S16BE; break; case 3: st->codecpar->block_align = 16 * st->codecpar->channels; @@ -76,8 +73,10 @@ static int msf_read_header(AVFormatContext *s) if (ret < 0) return ret; memset(st->codecpar->extradata, 0, st->codecpar->extradata_size); - AV_WL16(st->codecpar->extradata, 1); - AV_WL16(st->codecpar->extradata+4, 4096); + AV_WL16(st->codecpar->extradata, 1); /* version */ + AV_WL16(st->codecpar->extradata+2, 2048 * st->codecpar->channels); /* unknown size */ + AV_WL16(st->codecpar->extradata+6, codec == 4 ? 1 : 0); /* joint stereo */ + AV_WL16(st->codecpar->extradata+8, codec == 4 ? 1 : 0); /* joint stereo (repeat?) */ AV_WL16(st->codecpar->extradata+10, 1); st->codecpar->codec_id = AV_CODEC_ID_ATRAC3; break; case 7: st->need_parsing = AVSTREAM_PARSE_FULL_RAW;