From patchwork Sat Mar 23 17:30:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 12405 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C8BED444ABE for ; Sat, 23 Mar 2019 19:30:40 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A3B8268A8D9; Sat, 23 Mar 2019 19:30:40 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f193.google.com (mail-qk1-f193.google.com [209.85.222.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 608EC68A6E0 for ; Sat, 23 Mar 2019 19:30:34 +0200 (EET) Received: by mail-qk1-f193.google.com with SMTP id g1so3076433qki.5 for ; Sat, 23 Mar 2019 10:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=XMQUU14QY7nT2C15JjyzCHXlYJaknwepDS/LT0lDvEg=; b=nOsds5q75YMUdWBbYawvJHz4y+QIY99s2lZgN8H4et2G2HiSM8eyUwNNgelr6JV+cN DzzPeZEgO7wrdktEbF/7io34kiugajcIKs/p5Mr0j1uQxobhusExE5Du/q9ht0CVWWNl EapEcVdJUeeaSnkuG/VAUWHRwfHBUBhIfVdhzpiWu5+WhZ9qBTSLkT/5cmwF42+IK99v +VUVVZMPYCVRWMRZSHiGL1lVEH0OwxsAe78GlrGSnJLlUnMUnyGg/f61VvOH/FQZxgMd IZVadC/9oxLXPKwY40FIsj7+Y9LxN72/FFRMuEkzZzNL/gj5Wy5p0Rgnz3dbFoZ9m+w1 IRJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XMQUU14QY7nT2C15JjyzCHXlYJaknwepDS/LT0lDvEg=; b=b+HI+G738ZJDpvTGGoncsby3Uj+NZOh/xcvgUJcQZolZzNyiaAhO5NbCHJdENLKvw/ lRI+Af2gdfxIjEINgTIjiqdxuETDL+SH+X4Ep81c7Hc+ux566FOP/KoJJKVmfFOuh8pn HjeFn/5h/CQrzZAac7B3nnKhwu6zfzMShPf+Dd1y7TZ0kDwS8ZpUdsiU0HMQvK55DpEp Ki/CI2jL6CaiHQ8wSEr1I7rTFoasIyZf9x+UIH8sCTRbS5+hsYcz6NM5dMjP8QDwF6vr Pd5R8NGSK+18TrvT4W93hGyjOaRkeQqRbXsSwk7haPv0q2b2yJB0sYpVwi3hC2soO0o7 qLHA== X-Gm-Message-State: APjAAAWMUZJqDQcs2UpmZHF0ayeHIZFGznDv8l7GfcNJfKmHZxfcyLwF 8nxX6YVDEbL0EiER5FooSYK/7I5t X-Google-Smtp-Source: APXvYqy8dAyszuf0btD1JnaW4Vt2Hxj0Hy7NoUGzMoUpPLuWYZTjOjgtN11JDNP0juLqtYtXyU+cZg== X-Received: by 2002:ae9:f202:: with SMTP id m2mr12548788qkg.52.1553362232541; Sat, 23 Mar 2019 10:30:32 -0700 (PDT) Received: from localhost.localdomain ([181.23.66.178]) by smtp.gmail.com with ESMTPSA id 56sm855891qto.57.2019.03.23.10.30.31 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 Mar 2019 10:30:31 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sat, 23 Mar 2019 14:30:19 -0300 Message-Id: <20190323173019.7924-1-jamrial@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <94637004-a9cf-10c1-d818-eff77fe85e63@jkqxz.net> References: <94637004-a9cf-10c1-d818-eff77fe85e63@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/cbs_av1: fix range of values for Mastering Display Color Volume Metadata OBUs 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" Signed-off-by: James Almer --- > Does something like > FFMIN(((uint64_t)current->luminance_max << 6) - 1, MAX_UINT_BITS(32)) > do the right thing? Yes. Fixed and a comment added. libavcodec/cbs_av1_syntax_template.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c index 48f4fab514..76eb90b279 100644 --- a/libavcodec/cbs_av1_syntax_template.c +++ b/libavcodec/cbs_av1_syntax_template.c @@ -1637,15 +1637,18 @@ static int FUNC(metadata_hdr_mdcv)(CodedBitstreamContext *ctx, RWContext *rw, int err, i; for (i = 0; i < 3; i++) { - fcs(16, primary_chromaticity_x[i], 0, 50000, 1, i); - fcs(16, primary_chromaticity_y[i], 0, 50000, 1, i); + fbs(16, primary_chromaticity_x[i], 1, i); + fbs(16, primary_chromaticity_y[i], 1, i); } - fc(16, white_point_chromaticity_x, 0, 50000); - fc(16, white_point_chromaticity_y, 0, 50000); + fb(16, white_point_chromaticity_x); + fb(16, white_point_chromaticity_y); fc(32, luminance_max, 1, MAX_UINT_BITS(32)); - fc(32, luminance_min, 0, current->luminance_max >> 6); + // luminance_min must be lower than luminance_max. Convert luminance_max from + // 24.8 fixed point to 18.14 fixed point in order to compare them. + fc(32, luminance_min, 0, FFMIN(((uint64_t)current->luminance_max << 6) - 1, + MAX_UINT_BITS(32))); return 0; }