From patchwork Wed Nov 9 15:38:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?GBK?B?w8+zvSjj1bfqKQ==?= X-Patchwork-Id: 1360 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.90.1 with SMTP id o1csp350450vsb; Wed, 9 Nov 2016 07:38:56 -0800 (PST) X-Received: by 10.28.27.133 with SMTP id b127mr20097824wmb.59.1478705936323; Wed, 09 Nov 2016 07:38:56 -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 o62si22716560wmg.3.2016.11.09.07.38.55; Wed, 09 Nov 2016 07:38:56 -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=@alibaba-inc.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 dis=NONE) header.from=alibaba-inc.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AFD34689DF2; Wed, 9 Nov 2016 17:38:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out0-142.mail.aliyun.com (out0-142.mail.aliyun.com [140.205.0.142]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E82A9689C05 for ; Wed, 9 Nov 2016 17:38:41 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alibaba-inc.com; s=default; t=1478705919; h=Date:From:To:Message-ID:Subject:MIME-Version:Content-Type; bh=ZJtPv0iUwN7u25ewD8wx6h2ek6AR7X7MEHjlJxk7bdo=; b=C8FJA4X3bGH7JY0WhKZMo0DQFtr49KPUhVcP1/i1Ztc4Myo3o2uBWlKiOOtDzD114K/WdU8HYQzvEzD9p6abyXbC89GfTJBpbWd9ZdCoA9gCDysMrmyGyl+asYBa8gGuukgWhHrgHIgSmAGdp0J1EKHRAhHwn11LqAElMwTfK4E= X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R171e4; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e02c03282; MF=mengchen.mc@alibaba-inc.com; NM=1; PH=DW; RN=2; SR=0; TI=W4_4767832_0AC26611_1478705752906_o7001c1459f; Received: from WS-web (mengchen.mc@alibaba-inc.com[42.120.73.202]) by e01l07449.eu6 at Wed, 09 Nov 2016 23:38:22 +0800 Date: Wed, 09 Nov 2016 23:38:22 +0800 From: "Chen Meng" To: "FFmpeg development discussions and patches" , "Steven Liu" Message-ID: <8846cc23-56f3-40ea-a8b4-0ab8a32b09c1.mengchen.mc@alibaba-inc.com> X-Mailer: Alimail-Mailagent revision 37 MIME-Version: 1.0 References: <20161109090938.GB4602@nb4> <20161109093057.84186-1-mengchen.mc@alibaba-inc.com>, CADxeRwmqOs=RcF869oSj+iXg1EHLkvM9z-RNiNGMXi2zdmHYPQ@mail.gmail.com In-Reply-To: CADxeRwmqOs=RcF869oSj+iXg1EHLkvM9z-RNiNGMXi2zdmHYPQ@mail.gmail.com x-aliyun-mail-creator: W4_4767832_NTMTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTJfMCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzU0LjAuMjg0MC43MSBTYWZhcmkvNTM3LjM2XQ X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: Re: [FFmpeg-devel] =?utf-8?q?=5BPATCH=5D_Make_the_process_for_uuid-xm?= =?utf-8?q?p_data_faster?= 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" avio_skip(AVIOContext *s, int64_t offset) equals avio_seek(s, offset, SEEK_CUR), of course, I have to say which has a better name. ------------------------------------------------------------------From:Steven Liu Time:2016 Nov 9 (Wed) 21:00To:FFmpeg development discussions and patches Cc:Oliver Subject:Re: [FFmpeg-devel] [PATCH] Make the process for uuid-xmp data faster 2016-11-09 17:30 GMT+08:00 Chen Meng : ---  libavformat/mov.c | 34 ++++++++++++++++++++--------------  1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index ca978c2..c358d17 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -4530,24 +4530,30 @@ static int mov_read_uuid(MOVContext *c, AVIOContext *pb, MOVAtom atom)      } else if (!memcmp(uuid, uuid_xmp, sizeof(uuid))) {          uint8_t *buffer;          size_t len = atom.size - sizeof(uuid); - -        buffer = av_mallocz(len + 1); -        if (!buffer) { -            return AVERROR(ENOMEM); -        } -        ret = avio_read(pb, buffer, len); -        if (ret < 0) { -            av_free(buffer); -            return ret; -        } else if (ret != len) { -            av_free(buffer); -            return AVERROR_INVALIDDATA; -        } +no need newline.          if (c->export_xmp) { +            buffer = av_mallocz(len + 1); +            if (!buffer) { +                return AVERROR(ENOMEM); +            } +            ret = avio_read(pb, buffer, len); +            if (ret < 0) { +                av_free(buffer); +                return ret; +            } else if (ret != len) { +                av_free(buffer); +                return AVERROR_INVALIDDATA; +            }              buffer[len] = '\0';              av_dict_set(&c->fc->metadata, "xmp", buffer, 0); +            av_free(buffer); +        } else { +            // skip all uuid atom, which makes it fast for long uuid-xmp file + +            ret = avio_seek(pb, len, SEEK_CUR);  maybe avio_skip? +            if (ret < 0) +                return ret;          } -        av_free(buffer);      }      return 0;  } -- 2.10.2