From patchwork Wed Nov 10 12:46:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 31359 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:d206:0:0:0:0:0 with SMTP id q6csp389542iob; Wed, 10 Nov 2021 04:46:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJy9yGqX0kUl748ZmHPwgkBFR2/BR5mTZXrFtXN9wUnftL8zKUONCOksSbXiGvvBFMATAy6i X-Received: by 2002:a17:906:34c3:: with SMTP id h3mr20385022ejb.10.1636548410435; Wed, 10 Nov 2021 04:46:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1636548410; cv=none; d=google.com; s=arc-20160816; b=eHubdMVZfeAglSROvo2jv/I8mNconkgGqMLI56OFtNFWEkHCMcg8OdYj5edOhXRzbJ UIvK2TzcrgwsOCiuQLRRsRQ9E8hOpt8ASy/bRk0mnSOGr/AUAUGu8xLRQMACpKnSS8Od CRWL6CN46vMtMkTwTbxx4WqnApCcT/1Yvhxmx3k/5m/3ZZ9hpN3NBedCxlHCCdbEOwJz euLYSa84tu4wbJP5daBV1hhnxo2j1lZtpK4IRClT+r83HQl8IPfPqtdcvEuh/9PGld/X jDd50laJlFaCEASL5cY6N0GWhin6b+68g15Y/B23DlDzmiBuxNGwNvI2Q9v5q7HOJfny Qmew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=HUZQD5MMuW52Xm2DbPPjmJn9HSWqOXwhr2TxxgTmplI=; b=vUv3kw3xs5u7CUIQUFjklOjgGzlUdk+zikhEH1X0VF9u7dTWtqe+Go0+L0qkX8Oter VmiwWMV5T1IywmTxwF9By9PsEG+wTIgwQKI7u4k9SSk7GAft90I3N751gNKO7FVQKt9D mZ0GT39ZzWKD9F+DVgV0qzBsX/XtZCnurlGeKAkOywujI/aM/abwbef5Xc0TsBn/Xwsk 1wuq1NCBEzHBYdVGo6fBRKmDKl6gPZjvX35CGJhFZR64WL5uvs2+o67bzH/Al7iYJVMs 7QcidjDC+cisl3uIPJzXCsNIpebAyuhYz1hjRdYoHzK2RScvFGudooVYgfVVEx+H3cVx 6xoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=POJIz9z4; 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=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nb23si50603966ejc.372.2021.11.10.04.46.49; Wed, 10 Nov 2021 04:46:50 -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=@foxmail.com header.s=s201512 header.b=POJIz9z4; 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=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BC7FA689D60; Wed, 10 Nov 2021 14:46:44 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-27.mail.qq.com (out203-205-251-27.mail.qq.com [203.205.251.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8AB46680AA8 for ; Wed, 10 Nov 2021 14:46:35 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1636548390; bh=Ne3PT4OhtO84Z7iUEILuY3y4OWddf3pNoN0ddf+/0rI=; h=From:To:Cc:Subject:Date; b=POJIz9z4onpsNJ5yY7AelM1KC/2ue4LnQoQO/Ut8/LoHciLVBM+gfRkGHtB3NeEqy 6QiTAKwIvJRMw7nmZGhiOjVWfB5kTwf8uq5cKoeBoU82/ZRcx0WfQDToxhkfhDWt+4 BbPGoCoiy7E7YaSR+dXFXSXn1d6TOOxy/6VBX1sI= Received: from ZHILIZHAO-MB2.tencent.com ([113.108.77.50]) by newxmesmtplogicsvrszb7.qq.com (NewEsmtp) with SMTP id B9CB52AE; Wed, 10 Nov 2021 20:46:28 +0800 X-QQ-mid: xmsmtpt1636548388t34kbqo79 Message-ID: X-QQ-XMAILINFO: MdDuF0zFTqpBE4LcUou0tT1/6uwVEtClukwVVgZfLVORD+OT3kzCLOhClwoSjF H+KbFdhyvcqo5dA/Nmijs7XhA18f2deI/BFgeUkOXm54XWlxgbc82PBt44st47tZ7ALB9YTllyT7 TMMs1rvH5GH4uDIQ4LqKtntFzmiX6QbIIQmbbfDWhkMvp4AlGBJpJdh3L+dGxGO8d/YVbs3eq+g+ 4Ig93j1/+3TlwMKcsYnQngVVLxa/rYcxQhs41yy/2Up767/YzYNNvaPH0Xr3o22GhHnXVqmJzIsn PA4Z5z+DBfvfpzLsWMnVfFmAKFg31Nu6lXbvOy6+7uSK9VUv54HxTOzpD1ruUMSoQbX8nyegVXD5 evwQbNKSiV5XuXKzaX4P/6V+Zg/8utgPzxWqsYajVtvxOrdBkuakZpiJUtyQJso3rbZhLi9S5ybB +Gxu3/FNpJEIhRHCnzyv+dSeXu3c5okHKHL4gmtTEQY+x0zw9QB+suQ877FfvLm4HYr1dRNk5YP7 TFsJjGwzl7og9Ed9VXYWYCj16utkphaIGXvmcOG2QR2shd4X7anPJcZmXEp0/UplvA0j8So7KhCu W+atjWwFVnGJCWv/WgZYZ7UKU4JEEfS+YFpvmkDSezk01rBu3hgXoKM/ffoSO9keBcR1Yx3W8zkL TrGYmm6qzZPp6TakIBqZyKKcGrgsFiQkiUpiVNl46YY0lo3dFoTqAED4bRi0r93+MTAfFKzI+uGp OtdN4bvtnZDAPsFfD9mXzzXsVEh3hpRPTtKuUM+URhzUcRN6HENHa6MeqD9eHk+tn66fMbBBCcbi xL2G5TM9B/OQRZAp+ydRbL9X4um6vnlRkh04UTHXVMGsF9WLDPHJhHNY9Ffrgrs5g= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Wed, 10 Nov 2021 20:46:26 +0800 X-OQ-MSGID: <20211110124626.92405-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/opt: handle whole range of int64_t in av_opt_get_int X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TqYr1X8xAEGR Make get_int/set_int symetric. The int64_t to double to int64_t conversion is unprecise for large value. --- libavutil/opt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavutil/opt.c b/libavutil/opt.c index c7001dbcd3..b2be63828d 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -920,7 +920,10 @@ int av_opt_get_int(void *obj, const char *name, int search_flags, int64_t *out_v if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0) return ret; - *out_val = num * intnum / den; + if (num / den == 1.0) + *out_val = intnum; + else + *out_val = num * intnum / den; return 0; }