From patchwork Fri Jul 28 07:55:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: sharpbai X-Patchwork-Id: 4481 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.1.76 with SMTP id 73csp82296vsb; Fri, 28 Jul 2017 01:22:58 -0700 (PDT) X-Received: by 10.28.213.205 with SMTP id m196mr5209131wmg.109.1501230178573; Fri, 28 Jul 2017 01:22:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501230178; cv=none; d=google.com; s=arc-20160816; b=05p7H+KHmI85ATm0iXRa0gHAGVow9E3FsHp+b3Afs5WxJQKZsmyGtNIX45MOdwuCqM UNVL1HqMV+n0wpXQEWUiPeLBehxdDEnmF3Rw8NuY1eMoxMn0hio1xYyOXdYLzQCI6XvT 3FpvlUXVQzGFF83rpSN+lqdRS3eKtzbUWvTO5PI7TWiHIPTdLPrBevaPBpMMK2I6Qg88 JAL0GIaniQFNZMllb5Fdo4A06Fc2KWcMBY+D9vpcLuGIcQ3OjF/gLEBo8epLiWhK324w F3hd0H73KatSezkVvjAfRteYzmmcw2WEnxyx1ecU0hRSjU6HiixdW4Iwj8bN8smTZ2GK JMIA== 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:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=38cJCGX+vU7Xmd5XITqUzINh/qbPjY4autdY9xKXlwM=; b=fKT7rtweC4TRlBu0qirjXacXIj7frSaBMUCRsyug4PpuaolaCCPPv/hquto7TklxZf D/AvFi2ef89p1ioBVvg0LNOqZFW0hw5E65MIrPV7uoBWwISSk9DYV8WEsb5x8dJoZyfM PdoH0uOwVp6fucv9GWx8fHxM3FF1042PMfVhMme0OO2yl0i15n7cPjlLfZ2IAgDeDr1a xZXAxKVYkuG+NUUcsBeZs1qMkul037801OkOgG0jTSqBC0N1Yand+NxEQnDbxHKc05ck NwR4WX8Y31WWY1EWrsVluAECdzuOMpHoDfs8Apz1jLO1P9qDFUqb5k2LZ/skwQ80+fdD 1h9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=P0w/HlsI; 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 m29si12477161wmh.22.2017.07.28.01.22.58; Fri, 28 Jul 2017 01:22:58 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=P0w/HlsI; 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 A092168998B; Fri, 28 Jul 2017 11:22:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com [209.85.192.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6108068971B for ; Fri, 28 Jul 2017 11:22:47 +0300 (EEST) Received: by mail-pf0-f195.google.com with SMTP id y25so12791387pfk.4 for ; Fri, 28 Jul 2017 01:22:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=3lWLal0XFGlT02PygVCCRz2ItaRm0gdRa5NDTEubyEE=; b=P0w/HlsI7MJTlOBkSng0nwGDQhhg+DxDkzrT4zIonhYdZGA0a7S2f7N88OdjrdLiAr DcOy3TWSIJPF9uzUO3S0du8x/f9kRDRjQQ25insVFhxHFe8nuBSIGPoZrNS7WRGdmgOG Y2bXd0PKZpL8H3E53+9Qv3o7ldS/C4m7KiThdfXx4WG002BhJ7ej4oSY5vyXLaBES5uM yhjT2YaK42tD4rnHdBAzYT/bjq4J06VkL3BtrWwC8unQhTpPUjRtX0liO7yI2EaMZsGx K+y6rYUQRUIXjN4QUZHVS29wm5SDh9e9E0FxdNSvtnsuHGUzOT//3dL5AQ11qSep1Hhx 9IPQ== 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=3lWLal0XFGlT02PygVCCRz2ItaRm0gdRa5NDTEubyEE=; b=R6ZP5mP5c7brB1iiFmslOpsm2J9/IGLty/BhDdeg4AIW3NzEKC2QelXiFHXztuZOY9 /U19haLY1XmHAiuD/VN1WOoECkArNtQYPEIxUGWTKgvJDmkQtQ4v6rrmJCSqecIhXRJw a2LEzMtX37fOWsMpTPzhBW0kGdA+8Cq4CklrnJlA+FnYCz7E141vquejW9IFpNqZwrKK Ij50j9SicZKYqN7Qde5b6CqPGlCA52AcAduYGMJiXboLp1+8M06dSKTNnTj5BzJjAHaY rlu3yzT+YTh+AVde+LKLt9ONzg4Yj1SY74X9aLIs8aRe1ZoMxWO1WfK35GGbc/gAvu3U Z4AA== X-Gm-Message-State: AIVw112TFbLLjYYGlTfRaeGUHHDBQZosffMNSResrR4TCXfC8j02cWa4 cYVyKsaltiPYbyNQ9lw= X-Received: by 10.98.8.86 with SMTP id c83mr6724155pfd.255.1501228569076; Fri, 28 Jul 2017 00:56:09 -0700 (PDT) Received: from localhost.localdomain (li377-58.members.linode.com. [106.187.34.58]) by smtp.gmail.com with ESMTPSA id u184sm36811336pfb.37.2017.07.28.00.56.05 (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 28 Jul 2017 00:56:08 -0700 (PDT) From: sharpbai To: ffmpeg-devel Date: Fri, 28 Jul 2017 15:55:01 +0800 Message-Id: <1501228501-23802-1-git-send-email-sharpbai@gmail.com> X-Mailer: git-send-email 2.2.1 Subject: [FFmpeg-devel] [PATCH] avdevice/avfoundation: add scaleFactor attribute for avfoundation 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: baitian , wangsiyuan , liyiren MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: sharpbai feature: add scaleFactor attribute for avfoundation added by: siyuan.wang@duobei.com added by: yiren.li@duobei.com --- libavdevice/avfoundation.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index e2ddf47..22cff1f 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -96,6 +96,7 @@ typedef struct int capture_cursor; int capture_mouse_clicks; + float scaleFactor; int list_devices; int video_device_index; @@ -748,6 +749,9 @@ static int avf_read_header(AVFormatContext *s) } else { capture_screen_input.capturesMouseClicks = NO; } + if (ctx->scaleFactor != 1 && ctx->scaleFactor > 0) { + capture_screen_input.scaleFactor = ctx->scaleFactor; + } video_device = (AVCaptureDevice*) capture_screen_input; capture_screen = 1; @@ -1025,6 +1029,7 @@ static const AVOption options[] = { { "video_size", "set video size", offsetof(AVFContext, width), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0, AV_OPT_FLAG_DECODING_PARAM }, { "capture_cursor", "capture the screen cursor", offsetof(AVFContext, capture_cursor), AV_OPT_TYPE_INT, {.i64=0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM }, { "capture_mouse_clicks", "capture the screen mouse clicks", offsetof(AVFContext, capture_mouse_clicks), AV_OPT_TYPE_INT, {.i64=0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM }, + { "scaleFactor", "scale screen factor range", offsetof(AVFContext, scaleFactor), AV_OPT_TYPE_FLOAT, {.i64=1}, 0, 2, AV_OPT_FLAG_DECODING_PARAM }, { NULL }, };