From patchwork Fri Dec 15 07:06:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Bin X-Patchwork-Id: 6789 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp137519jah; Thu, 14 Dec 2017 23:07:12 -0800 (PST) X-Google-Smtp-Source: ACJfBotwB/ygJ6qDhgqv2Qa0F9oV7YE4TseRMmHyuW0LtF//2bwIO/1XOd3XAcJckKo0eTC/gEpe X-Received: by 10.223.136.184 with SMTP id f53mr843351wrf.143.1513321632184; Thu, 14 Dec 2017 23:07:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513321632; cv=none; d=google.com; s=arc-20160816; b=0IIwg2s2X4XxLm5PeYq0o+mUkPO2cQF/7HRPC0WtCXnGbQkByjzf1FNQHl9TD8p3XR Bl6SvxUvaDe39OQcCOsTtjrLVV16kxkDAL61yta+NXoTD1HMAWQwOBU8Opaeqjqc78yG 0JC6lxwfeqI/dUObQgLJCVcs4mDZ+DeFd/F4JB8b/FrcVo5eQ0ZZqvL8R4mfLMZVmYgS 39dhdHU7PaIEPu50xaemzZDJVavOyjg0JD0r6W0UFMRvLUkS9wH7hZihaa+nSwYEChIZ vPB+q2X2dyFTLPV0kQDkWqqQmVfVPh1/rty7Zu1W/Bn9MKA6OtofVB4Pqdr8KJqQWuya hzrg== 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=KI2aultPihyKuNkiX+m/gwpZbgMA5sbQebTBEDSPEm4=; b=yMvZLJ5ITCVs8R01ilWFKBZNNtwu1M7t7Cy/uqcVfdkrrNZIjzsjeMhlR860xsWMwo yQQSNSw8QqAu56rRqaDlXNIvyoKQyowqGr4OaFBlPEVMimjlHE2MG/yoXQQpm7oy4ms4 JxIDTlI0tCFh2+wIKonNnVEEfif/teyFH+EYPbzwVd9dlzvNMKWNtl5K6cmOp0L7sLsr xW+MEgcfOJSON+qYZLixMv/f2Ja2R3xAc0YeqG90oL9vx6P5yM3Vx0idytHxmqeB2CNM YEoKNPrJHktkzNJbb17luNlvdeTlTwkdX8/PUbAGCSBjdr9G+HSxDDthfXmPPeASFIvj USBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=e0I3R0T2; 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 200si4271148wmh.64.2017.12.14.23.07.11; Thu, 14 Dec 2017 23:07:12 -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=e0I3R0T2; 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 45D406898AD; Fri, 15 Dec 2017 09:07:02 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg0-f68.google.com (mail-pg0-f68.google.com [74.125.83.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 38F556805FD for ; Fri, 15 Dec 2017 09:06:55 +0200 (EET) Received: by mail-pg0-f68.google.com with SMTP id j4so5232543pgp.1 for ; Thu, 14 Dec 2017 23:07:04 -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=N6ELLCVqrRCl10Hh8dWouBJ7y82EADMfv114hxnMSG0=; b=e0I3R0T2JE23b94nDfrrlsHfvhZx+rm4h6WNwUrhnDsxazeAhcvLD7j8ZRd/Vs+F0F Ki0ebciJCJp43JDQT0a3XZPmebAPILVZNrprdePf6OBhTpfRwVQYBiAwt3UB4Zt8Z91b EQzxu180w9m3xLULOM78o1orYaVDFjn3uWeX+i1FRxBxsyd3fVXxSMkx+zRP0XDtXITI 3CBTuzV2kG6SAp2WNx2sL7R2fp60mEHYPzCG0jaukUY3xeoT/oPeGwDzmAA/QWE9z+eQ wOmbZUHLWq6NDABqajEFRiu3ukusL7oHbk1Sjloqi79UGeecKCcnNbKTEvRvuX/6um+5 ceaw== 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=N6ELLCVqrRCl10Hh8dWouBJ7y82EADMfv114hxnMSG0=; b=G6hRN1xQ7floXF3gOMtOzkdfcVfw3oao/GP69DDQ8lpPWfb7g9b4jTyIEDL3ziBqyL 6yD4jQZk4nxDFOUDbQ6+niBx6bw8E7Ss+BSaYT5Rvj027lOHBKL+XsvXUe/iutZcktqd LSyHGrkdQCKLKS1jtdehlX4LBg0ckv+dN+R1NSajCEhTJIiuXDkRFLlluCRUero5Fl2Y 6DOYqj3rIQ4Gt6kbbD4df1QhQ/uQZJCLEHIpZSnKKkk5jaig1p2Htr0maz8vOmBtiuC+ dLGS9mqly7b7a3FFEOpEmfBL+aBACIhNew7CJShlyd6maT36gvCWg57EG+xAfwRpEGdz b9ww== X-Gm-Message-State: AKGB3mI0k2L4AxhlZe07+1/xLG3mV1kIMCLq3IiTncYKxK13w3jiDsWI 9l1DAoLI4ia0oqdGWli5JuLk X-Received: by 10.159.235.143 with SMTP id f15mr12107797plr.56.1513321622696; Thu, 14 Dec 2017 23:07:02 -0800 (PST) Received: from localhost.localdomain ([188.166.166.98]) by smtp.gmail.com with ESMTPSA id j5sm9773469pgn.82.2017.12.14.23.06.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 23:07:02 -0800 (PST) From: wbsecg1@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Fri, 15 Dec 2017 15:06:49 +0800 Message-Id: <20171215070649.34900-1-wbsecg1@gmail.com> X-Mailer: git-send-email 2.15.1 Subject: [FFmpeg-devel] [PATCH 07/14] mediacodec: check whether cropping is set before use 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: wang-bin MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: wang-bin --- libavcodec/mediacodecdec_common.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/libavcodec/mediacodecdec_common.c b/libavcodec/mediacodecdec_common.c index cb2f6ae5e5..05d3bcd4b5 100644 --- a/libavcodec/mediacodecdec_common.c +++ b/libavcodec/mediacodecdec_common.c @@ -412,20 +412,15 @@ static int mediacodec_dec_parse_format(AVCodecContext *avctx, MediaCodecDecConte } /* Optional fields */ - if (ff_AMediaFormat_getInt32(s->format, "crop-top", &value)) - s->crop_top = value; - - if (ff_AMediaFormat_getInt32(s->format, "crop-bottom", &value)) - s->crop_bottom = value; - - if (ff_AMediaFormat_getInt32(s->format, "crop-left", &value)) - s->crop_left = value; - - if (ff_AMediaFormat_getInt32(s->format, "crop-right", &value)) - s->crop_right = value; - - width = s->crop_right + 1 - s->crop_left; - height = s->crop_bottom + 1 - s->crop_top; + if (ff_AMediaFormat_getInt32(s->format, "crop-top", &s->crop_top) && ff_AMediaFormat_getInt32(s->format, "crop-bottom", &s->crop_bottom)) + height = s->crop_bottom + 1 - s->crop_top; + else + height = s->height; + + if (ff_AMediaFormat_getInt32(s->format, "crop-left", &s->crop_left) && ff_AMediaFormat_getInt32(s->format, "crop-right", &s->crop_right)) + width = s->crop_right + 1 - s->crop_left; + else + width = s->width; av_log(avctx, AV_LOG_INFO, "Output crop parameters top=%d bottom=%d left=%d right=%d, "