From patchwork Tue Sep 18 22:31:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 10376 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:12c4:0:0:0:0:0 with SMTP id 65-v6csp13344jap; Tue, 18 Sep 2018 15:34:45 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZHqEtzCNONi0kNDOG7Q5MBfe4LHPeGUjiw/L8aOu/qYaUtyj4LFWBIZhFBC8Fh9WSs2qXv X-Received: by 2002:a1c:2807:: with SMTP id o7-v6mr17743415wmo.60.1537310085454; Tue, 18 Sep 2018 15:34:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537310085; cv=none; d=google.com; s=arc-20160816; b=mZdZru/nJsXufkiMRYJp6C2mRIFi8IWaGHFYpSQi5E7rsuBMT374oU42/nlZwVPc0s uVHe0ddPKDj//erTeBpmSMiO13zNwsPvJBS1BDtQk/L1kAJO7/jUoz2rhf3jBDIZ5l9V xlxnpU6n/ybVANpMe3WWLgDDc05vCo2ChyxBB0igbxgMWfmcNohKrKDGvVL0F1DvIH+U HhuRSpr3qg5XZE+FmsPrhbNmwO5pJD6RNf1lMiUv/LOkEIUzggDeE/Cy2Unkz5RnH60t nH4Kgwm21RBMesgqMcqJSPKVqf30HOxfv4UrtdH9Adrn+W+CWviVuwNcIbSFDyPAZHLw ottA== 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:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=Euw3Pm9t7MDNFM0gB6Nq5XIBX+1o7b7kvxqhqo3OIpI=; b=0gO7+RMLIbK6CV8Hd7Q7TIrELL6Y+iK0YCurjAAmbJ7yPKkkf1B7gwFJ0+MMzWBsHH g6fWZLK8lmmMa2BFA5c6avK345rdKmR9kIT5cUBR7Uo6VEZepo2je7BISHRUZ6QQVr8l eZkP1EkVcqVjBlMbJgdt4VRFYU5QzTjMuIdfBYazUKSorCOl9yX0v/GTMekcY+2gvgPq u6izTpMdQSlAK8QlCZyJGY1vBkvInKebJXFG0WgprRwEMTHoALB/d3/c1CFZaICR8emx 7jBrvfBuNZp6ncf3tJir4q2yuXq8Rfu9mEF17YvYZY24sZ4leXb5mJdww8Jd5r+jf2qN gvvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=qY95HhNi; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f1-v6si950642wrh.303.2018.09.18.15.34.44; Tue, 18 Sep 2018 15:34:45 -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=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=qY95HhNi; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3DFAB68A617; Wed, 19 Sep 2018 01:31:35 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3B43068A55D for ; Wed, 19 Sep 2018 01:31:31 +0300 (EEST) Received: by mail-wm1-f43.google.com with SMTP id s12-v6so4149574wmc.0 for ; Tue, 18 Sep 2018 15:31:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=3cn/flrfEz/3bhJqTiIBBKniim9LX7cf5llVynSwtcs=; b=qY95HhNiyHFwR9NXJSVeOE+4xcjjeyYCkV/Rg6GlNYqG7i4PSBrVnH05VMugohai/B kriYz1WWI7Fjoi16HWB63j5M+mN5xlrJR7T7j98JBWxykIqs/vBe6o8yqCXTXIpAuKTd NR/jgTyushyKtdzKEuFSF2EZnXHa6lkFjja00s1c6J9adjegyDj/6qoiBLm9HF5AIlbp PeHMAqP266hyo3z8RHKXO9s1DpyPykJz2qz4X7y7YWFKj6booDf0COHvSOtod124nCTM Dg/TSysCPUy+v3MFSb76OcBgfZ24og+8R7xcXMVQs/S1pji36P3IdzB3/cVZCAym/rt+ 9H+A== 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; bh=3cn/flrfEz/3bhJqTiIBBKniim9LX7cf5llVynSwtcs=; b=MtO2JT6lLqC1Py1BzYxS4PIYrlzB/MiEdMJQqwMuAqxB27p234G61Pgb7Skm68Rr9W XQhs9oGH9NROC1N7rCvDOKSHd/xW7zmXXr4vGdz0ThUpgjvpcDzUpU/z02BSekSTJ3R7 5zdgOCLqAaIbrFhIOJBcLClO19CGB9gYLtUOVl3Q0b1kGsLwmEjOmV6Hqcap+W9/o7JX zyipTvp0c84NcWlt/k/YgrlQqQqKf+U2173We4m6RhWnIHOyCE0VpOoVdbJYgob+yMJN pLRyDIdeVypQQh9Wxh2AWIr/ymt02bCVw8OHsQBO3/OVDBdBOrqgEZ+/47SUxlhOoifQ WvdQ== X-Gm-Message-State: APzg51B5+iSyqbLH0gZZCM6bL6e7JdEyK7QnGjJYmRKAnyD59oAMh3d/ ctzdPmIQ+xd0XWca9wbi3uBTui3PcVw= X-Received: by 2002:a1c:1b0c:: with SMTP id b12-v6mr17825921wmb.157.1537309904461; Tue, 18 Sep 2018 15:31:44 -0700 (PDT) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id e141-v6sm4863826wmd.32.2018.09.18.15.31.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Sep 2018 15:31:43 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Tue, 18 Sep 2018 23:31:00 +0100 Message-Id: <20180918223116.14322-23-sw@jkqxz.net> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180918223116.14322-1-sw@jkqxz.net> References: <20180918223116.14322-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH v4 22/38] cbs_h264: Fix default value for max mv lengths 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" A recent version of the standard changed the max and default to 15, from 16 in older versions. This updates the default to 15 to match, but the max stays as 16 so that we don't reject older streams. --- libavcodec/cbs_h264_syntax_template.c | 6 ++++-- libavcodec/vaapi_encode_h264.c | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libavcodec/cbs_h264_syntax_template.c b/libavcodec/cbs_h264_syntax_template.c index 027b555db6..1efa97dccb 100644 --- a/libavcodec/cbs_h264_syntax_template.c +++ b/libavcodec/cbs_h264_syntax_template.c @@ -185,6 +185,8 @@ static int FUNC(vui_parameters)(CodedBitstreamContext *ctx, RWContext *rw, flag(motion_vectors_over_pic_boundaries_flag); ue(max_bytes_per_pic_denom, 0, 16); ue(max_bits_per_mb_denom, 0, 16); + // The current version of the standard constrains this to be in + // [0,15], but older versions allow 16. ue(log2_max_mv_length_horizontal, 0, 16); ue(log2_max_mv_length_vertical, 0, 16); ue(max_num_reorder_frames, 0, H264_MAX_DPB_FRAMES); @@ -193,8 +195,8 @@ static int FUNC(vui_parameters)(CodedBitstreamContext *ctx, RWContext *rw, infer(motion_vectors_over_pic_boundaries_flag, 1); infer(max_bytes_per_pic_denom, 2); infer(max_bits_per_mb_denom, 1); - infer(log2_max_mv_length_horizontal, 16); - infer(log2_max_mv_length_vertical, 16); + infer(log2_max_mv_length_horizontal, 15); + infer(log2_max_mv_length_vertical, 15); if ((sps->profile_idc == 44 || sps->profile_idc == 86 || sps->profile_idc == 110 || sps->profile_idc == 110 || diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index e55ed0f59c..8feae0d42f 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -491,8 +491,8 @@ static int vaapi_encode_h264_init_sequence_params(AVCodecContext *avctx) sps->vui.bitstream_restriction_flag = 1; sps->vui.motion_vectors_over_pic_boundaries_flag = 1; - sps->vui.log2_max_mv_length_horizontal = 16; - sps->vui.log2_max_mv_length_vertical = 16; + sps->vui.log2_max_mv_length_horizontal = 15; + sps->vui.log2_max_mv_length_vertical = 15; sps->vui.max_num_reorder_frames = (ctx->b_per_p > 0); sps->vui.max_dec_frame_buffering = sps->max_num_ref_frames;