From patchwork Wed Nov 29 01:43:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 6435 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp3918092jah; Tue, 28 Nov 2017 17:44:00 -0800 (PST) X-Google-Smtp-Source: AGs4zMZFOmS0emyySXib+1fQQBmYjrvA97xeeIQWvfbUAHNUU4fRknAGBjchg9nEjYIf21futcqO X-Received: by 10.28.47.68 with SMTP id v65mr1217267wmv.11.1511919840702; Tue, 28 Nov 2017 17:44:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511919840; cv=none; d=google.com; s=arc-20160816; b=BIfpyV316foCGFTonXAZ3zEfrhLWQ66US3M8EgXr5Bst9SVEvwhSSqxHb9D/EQOMCy GZ0ZLzmsghki3ZwtdtF6y+0x78HujkrRJGmw2OBD95JTatv/PCOHp+1b4FDnu1vPHG+L JyzBbVfAUqwdrEUfORc3x3fjrxQOkg4nfRW7/PUbV1O94eben3rAIeJBtmwho8jKwvau FRPDWT0QcjfO5C5LfUHk8qJfGDQcP/uURnoL5xDSD/BY3CmyFLYCUeDbq4DDTkNwrJu9 5o1K4ulasJD7ftAzHF2HcKQa2pDG3hMc681dUuMMReJvn99M0g1iHq9cEdXPAeWi1/8h QiZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=Rh5F7JvFMUVYNXvMNXbW87lqPw8ctmFPJAmnZhinjCg=; b=k85j/nVuAwB0r4+hXVWkDWA2MSqR7oPvaO7oUnrE+IhWUu6iCR2ktvzq2taLmQAl9M a24/CasmahVTZwZJy5/P1q4Bg0mCul+9Zr57E7pz71ivW1kSG2ReXI/kJmYrjxtvBpfm PRZsSH3M5mILmngwjEsK5YurYKp+RNk017sKqpCi1VIPEJinQ4s8INcwXSCOuPbw5Oat cv8xW8b/UDI9Igb2D505U0qqRtWXj5qJISM9ZghH60OQehubIG1BpP1jdMs2jKExTWQR Tiv/mFuI6xhbDLwamyuy60YODuuB0uFo+TPq3QRGGGWqlBV+cEx6sHmFfOfs//69vUaB bOdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=pUE+kKWc; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 60si383338wrq.164.2017.11.28.17.44.00; Tue, 28 Nov 2017 17:44:00 -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 header.s=20161025 header.b=pUE+kKWc; 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 F029C68A1E9; Wed, 29 Nov 2017 03:43:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1F7CE68A19D for ; Wed, 29 Nov 2017 03:43:34 +0200 (EET) Received: by mail-qt0-f193.google.com with SMTP id u10so2486269qtg.2 for ; Tue, 28 Nov 2017 17:43:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=+hmx5C1hbRY/ZxM+wUVlD0Jvt4xZ6Zyp9CDRxdaCRhs=; b=pUE+kKWcGfgl78P0pcqfE5ENQRrXxBEJkqKRJPaQYW1VXrBvrUNpWGRdlGLX3hsOjb 6SCu7PAeNThS9DsNr9NV64pmS76xHhd7DAymVkJopfS5Uow8YBlHHGCmctup5E5XFfkh yDB6GMzGxM9mQQt3kMCh6aZbSaTapt2Ui963CIUT5BLl0VL/XHqWd+rUdrh1uEn/wkAy 6TieDz7IcE2cCSDLCtq60X9RkbDNgCy2DFngqV0IG2PDvr3VXzYLyHUWEsNtTQ8cnNWb O6kVackLS1Pspsx3hOJ9Wkw5OyBTYojaeTS0AnowK8ikNIhb53fUawzHI223OAo1Enhn S0tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=+hmx5C1hbRY/ZxM+wUVlD0Jvt4xZ6Zyp9CDRxdaCRhs=; b=ul+CcIuJKHW0gBeNoCVml3Av72kmZfsCvPz1fs7ofAAnVTCf1zVbE8XOqdY+4qt93+ zEHZiuyypzUoFG37bSb4juawcqiO3ilfV1fyNCs3kaOVjB9o8X6RFEkqjiSGYXhYnDxH 4ZY1OIf6rWC8wEKHyWx2W6NugWI+jt0yWFsQz8nvAmmfSnzRPbOncLLslbYt/E0Yq7Ix X6NBPFy+v/0rQ3hYtocNbraVGzDJEC27LkvTkhPS9p9ukRTCkTdFIf5UJBiHNZq+BX6E a5s4xej//LQoVjHlrsX+j4kmjF/HWpfKUZDHW5P3eZnImV0+CuaOw4M1pcpLWJOyqNA+ ZmXA== X-Gm-Message-State: AJaThX7oHBnEIKdHL40dzO1nRjfsB+A7D46+iQaqbFxpMahzvctSeGoH 1J88IQBUhrMkqIanlyTHl4W1Gg== X-Received: by 10.200.25.78 with SMTP id g14mr2043464qtk.119.1511919815667; Tue, 28 Nov 2017 17:43:35 -0800 (PST) Received: from localhost.localdomain ([181.231.59.220]) by smtp.gmail.com with ESMTPSA id k7sm407365qkf.57.2017.11.28.17.43.34 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 28 Nov 2017 17:43:35 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Nov 2017 22:43:01 -0300 Message-Id: <20171129014303.3716-3-jamrial@gmail.com> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171129014303.3716-1-jamrial@gmail.com> References: <20171129014303.3716-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 3/5] avformat/avc: reindent after the last commit 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavformat/avc.c | 91 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/libavformat/avc.c b/libavformat/avc.c index 6ec2f19577..7542db684b 100644 --- a/libavformat/avc.c +++ b/libavformat/avc.c @@ -113,54 +113,55 @@ int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len) if (len < 6) return AVERROR_INVALIDDATA; - /* check for H.264 start code */ - if (AV_RB32(data) != 0x00000001 && - AV_RB24(data) != 0x000001) { - avio_write(pb, data, len); - return 0; + /* check for H.264 start code */ + if (AV_RB32(data) != 0x00000001 && + AV_RB24(data) != 0x000001) { + avio_write(pb, data, len); + return 0; + } + + ret = ff_avc_parse_nal_units_buf(data, &buf, &len); + if (ret < 0) + return ret; + start = buf; + end = buf + len; + + /* look for sps and pps */ + while (end - buf > 4) { + uint32_t size; + uint8_t nal_type; + size = FFMIN(AV_RB32(buf), end - buf - 4); + buf += 4; + nal_type = buf[0] & 0x1f; + + if (nal_type == 7) { /* SPS */ + sps = buf; + sps_size = size; + } else if (nal_type == 8) { /* PPS */ + pps = buf; + pps_size = size; } - ret = ff_avc_parse_nal_units_buf(data, &buf, &len); - if (ret < 0) - return ret; - start = buf; - end = buf + len; - - /* look for sps and pps */ - while (end - buf > 4) { - uint32_t size; - uint8_t nal_type; - size = FFMIN(AV_RB32(buf), end - buf - 4); - buf += 4; - nal_type = buf[0] & 0x1f; - - if (nal_type == 7) { /* SPS */ - sps = buf; - sps_size = size; - } else if (nal_type == 8) { /* PPS */ - pps = buf; - pps_size = size; - } - - buf += size; - } + buf += size; + } + + if (!sps || !pps || sps_size < 4 || sps_size > UINT16_MAX || pps_size > UINT16_MAX) + return AVERROR_INVALIDDATA; + + avio_w8(pb, 1); /* version */ + avio_w8(pb, sps[1]); /* profile */ + avio_w8(pb, sps[2]); /* profile compat */ + avio_w8(pb, sps[3]); /* level */ + avio_w8(pb, 0xff); /* 6 bits reserved (111111) + 2 bits nal size length - 1 (11) */ + avio_w8(pb, 0xe1); /* 3 bits reserved (111) + 5 bits number of sps (00001) */ + + avio_wb16(pb, sps_size); + avio_write(pb, sps, sps_size); + avio_w8(pb, 1); /* number of pps */ + avio_wb16(pb, pps_size); + avio_write(pb, pps, pps_size); + av_free(start); - if (!sps || !pps || sps_size < 4 || sps_size > UINT16_MAX || pps_size > UINT16_MAX) - return AVERROR_INVALIDDATA; - - avio_w8(pb, 1); /* version */ - avio_w8(pb, sps[1]); /* profile */ - avio_w8(pb, sps[2]); /* profile compat */ - avio_w8(pb, sps[3]); /* level */ - avio_w8(pb, 0xff); /* 6 bits reserved (111111) + 2 bits nal size length - 1 (11) */ - avio_w8(pb, 0xe1); /* 3 bits reserved (111) + 5 bits number of sps (00001) */ - - avio_wb16(pb, sps_size); - avio_write(pb, sps, sps_size); - avio_w8(pb, 1); /* number of pps */ - avio_wb16(pb, pps_size); - avio_write(pb, pps, pps_size); - av_free(start); return 0; }