From patchwork Fri Feb 24 15:52:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 40505 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:5494:b0:bf:7b3a:fd32 with SMTP id i20csp1366959pzk; Fri, 24 Feb 2023 07:53:01 -0800 (PST) X-Google-Smtp-Source: AK7set8RlXG7xQ0pNUmZXoE2B648+2PT5e0lWKdAp1wcR8ZvSmSQF8zURWBMC1FuQNhzrJTTvwGL X-Received: by 2002:aa7:dc17:0:b0:4af:6067:9b76 with SMTP id b23-20020aa7dc17000000b004af60679b76mr9264676edu.5.1677253981004; Fri, 24 Feb 2023 07:53:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677253980; cv=none; d=google.com; s=arc-20160816; b=PWCpje07vG9ZQtuU2BzBCmSrEp9GLvjjRYpl+EgKqnEXShkBKvLknJuzBRPZZif8eK n9YLGn+uPrrpHAYsBexHcTTbwNTAgzASj3hwqRgCQaPclGbAm+yRJEcXvg64J81rYhjZ CTcAU/gndXLJ0kF116el+qtVQSzoVQNBAIwBz6twhSdtKKt9GaL+DLgjH4PYlhflhx4F 9j6yY6V733S9PUGcfHQwr+rYHbZdz2AaVeOPk/16zSGuAqgooLt+k1GKTZsEoqJOlvBk UK5UYM+hfhukF9C0P/xi7LEzoqfyuEq5Gs87cOaLxdUyWe2wGd1JIbERkGfSJdKwtJwH Xndw== 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:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=bGb+QrAy2NXw912F99CODNkoJJhl2x1uLHK7fDcgGHA=; b=haPeGo+jwClgDewzSz7U4z8e6e8SsLiFp7mD1X86rfQSaMRf8kVJxAtSNhvqR3NYLw F0KKlYgjmSHlu5SqKP6GFmlWM3CKGhsZxLJXe7Z66sCL8JGb0KRUfu1Nd7Wa5w2HZb/T rnkzTRZDRrz2AyAxFsqYnk6kN2Fq2rGYqvIw/JGHQvPQFAiqrpH3sU1GnV9xuFZbpJf0 frj+VQzAbu7R/8omLX7txHRwNnfBztZAMbc0jnQUDglGX4lVtkcYQBol9aa7JBa7yDRX 9MkGnw4zrW0274woHcx8xkW/NZ2fvkDhox3qk2I2K26TfxPshV5zoUpbQ3yujrov1uxc Gn9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b="uh4Z/ije"; 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 l7-20020a170907914700b008cb405fa59csi19054258ejs.73.2023.02.24.07.53.00; Fri, 24 Feb 2023 07:53:00 -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="uh4Z/ije"; 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 7851068C121; Fri, 24 Feb 2023 17:52:39 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-58-216.mail.qq.com (out162-62-58-216.mail.qq.com [162.62.58.216]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2529068C11F for ; Fri, 24 Feb 2023 17:52:30 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1677253947; bh=FvvHK25Ts1M7C/OulLDzPoMUb2/tIbypKpIW4NNWFvw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=uh4Z/ijeWQHuyiAmo7dFMpVvB2T9DpjzDUfItgfouWsX37Niv4Eqa2AxzknVLwnkR 0++pTTc4KlJ1SiKE6P8scVLcDZFEysvJu08hIbBc9o3lllptCHBjwEovpbJuKon3cx ivgYjSNG55hKa2xWCe+5CFfNAA/klXYvMrWxNsQo= Received: from localhost.localdomain ([113.118.101.228]) by newxmesmtplogicsvrszc2-1.qq.com (NewEsmtp) with SMTP id D19BEA50; Fri, 24 Feb 2023 23:52:25 +0800 X-QQ-mid: xmsmtpt1677253946tjyfr9co2 Message-ID: X-QQ-XMAILINFO: MiE+axgVDEQLRI4mDuZiLCm+/y8Uh7j5gPN9ttMZ1r3WvNaS9A500ue6fU2+dZ KIA99cDeXB1QE/Jl1M1QKOTpX0QKoMae42nez4pBTVFofjzi7J9ZFVSn4J1PwDW+fP5bIv94GZ/N o3Bsg+jy5F09LQJoOv+XBRQHUuocBfThNvbur20S99yYMNKMwO3hytHJw0V8ji+sQi4kiVGH9Trt 7ihp3/c/LYx9pvByXqHCKjg4+nBT7b5h0jTQHD6ZqtpQg50bhpZtTpX91T70MxyaQqWEuoCnJClb 7Fmzt4cxGSpzR1Wci5GAUOTFQ7ZHeaOqe5pc1rxSO12K9lJT5IdRfyhif9LpeMRz6FjlQC8ftcSA EM9I0iRa+wDglgJT+bReshUcBbOfKfKwP1205brknIYNoyl3q6QUsE7u4P2j7MmbtWS7az3go0oD zA6Txy19jnx7TZ85IJkysVJuF0JgIxNOGyUTwjNq7uSFdgQkZPexlV4Tzy6TprZjEwRWCDdEZA7B t5NBjFX+Bl4kwgt8Cm17akCfcqPuilfkaul3hAzx4OaWI5XBV/eskTzCkG1bdmB0fudRUo9TtPMP vJEgLa+HJzXvbnx6lKMv9SkhN09JHnjqUts2KsjeXVx/8ZTut9TCY1+FJ4GrmWRMwxitPFOMBlSR DimNIFOFlMwmDVTkMaX1mVfpLyfFIbtyLXAO3ydOuKm96hJfO/lOzXmk1ukfphB4cXWRiOnTF4ew sAGq/yRCjSGMZW0m5soDY4jZkhHaulcCk7ZxAu90Z8CyZMhPsozEgAgcCpK08aT5Ikt13VqA5jCL jj0NvVtEcfOqgKr1z3/zCvtx40+t6HiGYPrE5GmGMYsUoc9Gq2jMHRNFMHak7Us4EsWC6TIOr69w TZxuC5V7Bx9m/Cegf3zbKtnHKB80+4/xgt3FhANCYA1mUnFAq0l52w/9NI7vzwxs69zwxzpzlqdK R9Kj13HXoDm4Qjh6e/1/eopNn863EA6g5YoVjyAfY5GBnBq69oAamN8HdxXBf9eaI89LZAnDY= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Feb 2023 23:52:15 +0800 X-OQ-MSGID: <20230224155222.194400-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230224155222.194400-1-quinkblack@foxmail.com> References: <8bf59545-b8a1-bd88-f83c-ba0db7ee6f04@gmail.com> <20230224155222.194400-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 2/9] avcodec/dynamic_hdr_vivid: fix three spline params 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: 2TQ8eSUC2ZBv From: Zhao Zhili Signed-off-by: Zhao Zhili --- libavcodec/dynamic_hdr_vivid.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/libavcodec/dynamic_hdr_vivid.c b/libavcodec/dynamic_hdr_vivid.c index d689669dec..f2bc0c9059 100644 --- a/libavcodec/dynamic_hdr_vivid.c +++ b/libavcodec/dynamic_hdr_vivid.c @@ -98,26 +98,38 @@ int ff_parse_itu_t_t35_to_dynamic_hdr_vivid(AVDynamicHDRVivid *s, const uint8_t return AVERROR_INVALIDDATA; tm_params->three_Spline_enable_flag = get_bits(gb, 1); if (tm_params->three_Spline_enable_flag) { + AVHDRVivid3SplineParams *three_spline; + if (get_bits_left(gb) < 1 + tm_params->three_Spline_num * (2 + 12 + 28 + 1)) return AVERROR_INVALIDDATA; tm_params->three_Spline_num = get_bits(gb, 1) + 1; + if (tm_params->three_Spline_num > FF_ARRAY_ELEMS(tm_params->three_spline)) + return AVERROR_INVALIDDATA; for (int j = 0; j < tm_params->three_Spline_num; j++) { - tm_params->three_Spline_TH_mode = get_bits(gb, 2); - if (tm_params->three_Spline_TH_mode == 0 || tm_params->three_Spline_TH_mode == 2) { + three_spline = &tm_params->three_spline[j]; + three_spline->th_mode = get_bits(gb, 2); + if (three_spline->th_mode == 0 || three_spline->th_mode == 2) { if (get_bits_left(gb) < 8) return AVERROR_INVALIDDATA; - tm_params->three_Spline_TH_enable_MB = (AVRational){get_bits(gb, 8), 255}; + three_spline->th_enable_mb = (AVRational){get_bits(gb, 8), 255}; } - tm_params->three_Spline_TH_enable = (AVRational){get_bits(gb, 12), 4095}; - tm_params->three_Spline_TH_Delta1 = (AVRational){get_bits(gb, 10), 1023}; - tm_params->three_Spline_TH_Delta2 = (AVRational){get_bits(gb, 10), 1023}; - tm_params->three_Spline_enable_Strength = (AVRational){get_bits(gb, 8), 255}; + three_spline->th_enable = (AVRational){get_bits(gb, 12), 4095}; + three_spline->th_delta1 = (AVRational){get_bits(gb, 10), 1023}; + three_spline->th_delta2 = (AVRational){get_bits(gb, 10), 1023}; + three_spline->enable_strength = (AVRational){get_bits(gb, 8), 255}; } - } else { - tm_params->three_Spline_num = 1; - tm_params->three_Spline_TH_mode = 0; +#if FF_API_HDR_VIVID_THREE_SPLINE + three_spline = &tm_params->three_spline[0]; +FF_DISABLE_DEPRECATION_WARNINGS + tm_params->three_Spline_TH_mode = three_spline->th_mode; + tm_params->three_Spline_TH_enable_MB = three_spline->th_enable_mb; + tm_params->three_Spline_TH_enable = three_spline->th_enable; + tm_params->three_Spline_TH_Delta1 = three_spline->th_delta1; + tm_params->three_Spline_TH_Delta2 = three_spline->th_delta2; + tm_params->three_Spline_enable_Strength = three_spline->enable_strength; +FF_ENABLE_DEPRECATION_WARNINGS +#endif } - } } }