From patchwork Fri Jul 7 02:20:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Rice X-Patchwork-Id: 4251 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.1.76 with SMTP id 73csp2934684vsb; Thu, 6 Jul 2017 19:21:15 -0700 (PDT) X-Received: by 10.223.147.135 with SMTP id 7mr32007669wrp.104.1499394075856; Thu, 06 Jul 2017 19:21:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1499394075; cv=none; d=google.com; s=arc-20160816; b=FEeyIJAXdySqZ+SbCSzD6IkO/SqoefZH+CZB1snZfRmkU/ZqUnUQA1bR35s9IDQpIz gzm6TXd8WMmukROa+dNdavdJeFdLZkZ3Ghv3hB30W7WKrFezTdg/It17jBl0du5zN780 zm1MbBf+89bzxxJoibmrqmbLJuT1geD4GWHb6qDrbNNPHlg6jpQBh6CxQZ6EUvILKdKl coORIgAiCvOM+rYlKp6BGSaHWUtS95z/OQ9L5lgLLaO/vvgAyv9+y5iFmJIvQfUvqaKx ozEhNtY/ajZ23E0dQ+T+h7p4Lj0kE9MNaVu2TqRgEBdw87BeHTxn9mAzl8XV4DIjmLj1 N3qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:to:date:message-id:mime-version:from :delivered-to:arc-authentication-results; bh=e53xwtho1ajIGoLak8GY6gi9QBsE2YKoNOkLC0ORASM=; b=ADGGjCec3et/C7YwPHF/gANEdwYGM2xGncFcS4SCCC4NYILi1i/ncG6C5OxowAbmat KnE1IqU+EsfY/QOFtaEB3queYKPlLLcwIsIw17oiEmUdpw7iktwy5a7LusoDLrGBRpuq vrNVeKeNFaui8duwRwuaGjBcJLeoebpXUtvTBVVk1scUSxB/7NNAuAmGiDStua+Phkoj uQSN/HqnY0NzMZfqGdnpJPTp2qRqtifuQx4B0XLdKzpN/c+afwg+7gEiCdcA6qGgLWx7 JFX4iRmgHSwec5cZSxtgDcgfS4FCEaC6PUylSbxZ5eKvTvdxBPssKwMv+GHt+YIuBC4X NeLg== ARC-Authentication-Results: i=1; mx.google.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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 64si1648715wmc.171.2017.07.06.19.21.15; Thu, 06 Jul 2017 19:21:15 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2834C6899DC; Fri, 7 Jul 2017 05:21:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from server172-2.web-hosting.com (server172-2.web-hosting.com [68.65.122.110]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0B5E768839A for ; Fri, 7 Jul 2017 05:21:03 +0300 (EEST) Received: from cpe-104-162-86-103.nyc.res.rr.com ([104.162.86.103]:39815 helo=[10.0.1.3]) by server172.web-hosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.87) (envelope-from ) id 1dTIt9-001U7n-AZ for ffmpeg-devel@ffmpeg.org; Thu, 06 Jul 2017 22:21:04 -0400 From: Dave Rice Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Message-Id: Date: Thu, 6 Jul 2017 22:20:56 -0400 To: FFmpeg development discussions and patches X-Mailer: Apple Mail (2.3273) X-OutGoing-Spam-Status: No, score=-2.9 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server172.web-hosting.com X-AntiAbuse: Original Domain - ffmpeg.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - dericed.com X-Get-Message-Sender-Via: server172.web-hosting.com: authenticated_id: dave@dericed.com X-Authenticated-Sender: server172.web-hosting.com: dave@dericed.com X-Source: X-Source-Args: X-Source-Dir: X-From-Rewrite: unmodified, already matched Subject: [FFmpeg-devel] [PATCH] movenc: write clap tag 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" Resolves https://trac.ffmpeg.org/ticket/6145 and writes a clap atom that is coincident with the frames width and height. From 23d80d0d47829fed61e817b1e7c3f6d420c9ab5c Mon Sep 17 00:00:00 2001 From: Dave Rice Date: Thu, 6 Jul 2017 21:12:38 -0400 Subject: [PATCH] movenc: write clap tag --- libavformat/movenc.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 88f2f2c819..31a5de8d5c 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -1669,6 +1669,21 @@ static int mov_write_sv3d_tag(AVFormatContext *s, AVIOContext *pb, AVSphericalMa return update_size(pb, sv3d_pos); } +static int mov_write_clap_tag(AVIOContext *pb, MOVTrack *track) +{ + avio_wb32(pb, 40); + ffio_wfourcc(pb, "clap"); + avio_wb32(pb, track->par->width); /* apertureWidth_N */ + avio_wb32(pb, 1); /* apertureWidth_D (= 1) */ + avio_wb32(pb, track->height); /* apertureHeight_N */ + avio_wb32(pb, 1); /* apertureHeight_D (= 1) */ + avio_wb32(pb, 0); /* horizOff_N (= 0) */ + avio_wb32(pb, 1); /* horizOff_D (= 1) */ + avio_wb32(pb, 0); /* vertOff_N (= 0) */ + avio_wb32(pb, 1); /* vertOff_D (= 1) */ + return 40; +} + static int mov_write_pasp_tag(AVIOContext *pb, MOVTrack *track) { AVRational sar; @@ -1939,6 +1954,10 @@ static int mov_write_video_tag(AVIOContext *pb, MOVMuxContext *mov, MOVTrack *tr av_log(mov->fc, AV_LOG_WARNING, "Not writing 'colr' atom. Format is not MOV or MP4.\n"); } + if (track->mode == MODE_MOV) { + mov_write_clap_tag(pb, track); + } + if (track->mode == MODE_MP4 && mov->fc->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) { AVStereo3D* stereo_3d = (AVStereo3D*) av_stream_get_side_data(track->st, AV_PKT_DATA_STEREO3D, NULL); AVSphericalMapping* spherical_mapping = (AVSphericalMapping*)av_stream_get_side_data(track->st, AV_PKT_DATA_SPHERICAL, NULL);