From patchwork Sun Mar 11 18:30:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 7914 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp826978jad; Sun, 11 Mar 2018 11:36:59 -0700 (PDT) X-Google-Smtp-Source: AG47ELtmAKSPMOcUE+btNxQLLGu377+hzTdgUqM8JCLOwhasiOqSJRBX3GadVN+pbd/z9lcdyBLg X-Received: by 10.28.128.137 with SMTP id b131mr3842778wmd.121.1520793419755; Sun, 11 Mar 2018 11:36:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520793419; cv=none; d=google.com; s=arc-20160816; b=kwGVa59pEfYMrWRxk2RuGfLk3WnpuyAGAN1QHXk9uljlf0FC5R8e84ghOsHm639uB3 uvxEBlCobXvKtjSWk629bz2qxDttTvjew0ctFdM2QPUVXhHtYrHUdXUNdcuFJzsDoQqj vFLkJ4m3TYw0eyE1zmYUNbEEC77tL41RfpKiLcflVnjR5S7SRje+MVjlVBAIvuobhoE2 SA2j3cfwSn0XO6N/UKgJMmCGTUAow51bHaqWh0oZW5ZZP/PZTIYWfiiQETTMTeS/MnS1 u2JYRjRaG/f+9TdyRuZjWKjH8bRrdzfByYQyGKuJef6ArHLo2XVq2lHw5lK2wvbwLTVD 9zMg== 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:arc-authentication-results; bh=TwAoCpEP36Ej141XnqhWqcViu1bLC0clZEK+7eXEt2U=; b=T5FfYILuxI+uagKYSrWDyPIVC+PhRLjUabKCdHV6GGZjIugnsi5qoyfZDGYCsWVsh+ sBhdSifyTe2rbElB4pJYImaRb+LY3bdZ3WPoJbGxmgDQsBcLu47JnmEOCaznxVhay4lg ZqSSaR2P6aNTkWLqLSmuwxtUIez7xqXIJLIeRmuZpXUSQdDmHn15Bx77Bi67azoSdGg+ J5VYD+/g3zr00h10BVP6oPlCuvbgxt9r6D0hcG9ckyFl1vHEokA7q8KsjbSjrRa+ouW1 LiTMmmbfXtvIdscG1DlO3rUf3jlvjXHDmE5HWEkBhpgl3bWh8VnppYdDfQtCDKPhTPLX MW0g== 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=huZtyH+X; 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 r8si2159938wma.99.2018.03.11.11.36.59; Sun, 11 Mar 2018 11:36:59 -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=huZtyH+X; 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 145A168A204; Sun, 11 Mar 2018 20:36:48 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3BB3468A19B for ; Sun, 11 Mar 2018 20:36:42 +0200 (EET) Received: by mail-wm0-f65.google.com with SMTP id z81so12334973wmb.4 for ; Sun, 11 Mar 2018 11:36:52 -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=NCtYlAgvD5OPAWXlJgRN/kb4M7jhOV6u+MNn2c3jgtI=; b=huZtyH+XuoCHvwiO3uFnDvXTBOvSy+N+yqV9xYac1WnGAsKkaDR1AvaveauOras0GB UZRAUgYIRt8TzcF0yaN6g79SNQQRGeE7Gt9S8EkDKeTnHkhQy40X75C0IJ271njwGieN gugoIq4ZMJBpQcQJeEU2X8vDjlswbscQ/f2mGlrYqwMc4qOAaIKINGBZ0uTV1j3l2cqN SG73XqsKiAZkrhey3wNv8xU5TGKKcHzubPWPG22UCO90ORAFbA+6vUww15/upEDMPY1J q/qB+rZKx9KXjsfeFOysIWqOfl7oKzCooa9WYFnM/wO20+nPPrDGypQy3VH3XCs7lOm/ BGCg== 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=NCtYlAgvD5OPAWXlJgRN/kb4M7jhOV6u+MNn2c3jgtI=; b=ILmsAkb5kOdVEgLf2iMlkDm9SAazW1Xl17tbn3x+5k24VDTLyJlTLbfb4cZRBbxP8N pBK5vSJW11xrFsXyVmfstjigmsRyLsTJTl1yv+Ox50fuGjX5fLhPZZZ2a2YWqVMicZjm MOWKIUgiechpuPcm6A657lEDPibxt9XkieoCV7djkiL+U4b3aIOJ9blUUUUSfk6T+5+j 0gUQCi4YE88cmdpzVsUeAbyuciU0FJdsm6DqLTjQVVHkJy4OCW26diqwmjTPFc3F0KK4 NoPss2FncDVI+NelN8OWFG8SNXnAjF4XEybbhYoDC6gAn3Nqsou9CU9zn2Uq1O22Tk3X xpgw== X-Gm-Message-State: AElRT7GywdLHsr2sEfPmrwngyv48GrQtt8JoblRrYMlcR+5/3CqVgCGZ nslWsSFZSyXl1eFOogj3t/EmYGKx X-Received: by 10.28.27.194 with SMTP id b185mr3476100wmb.102.1520793026368; Sun, 11 Mar 2018 11:30:26 -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 31sm5064514wrr.59.2018.03.11.11.30.25 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Mar 2018 11:30:25 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Sun, 11 Mar 2018 18:30:15 +0000 Message-Id: <20180311183021.25556-2-sw@jkqxz.net> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180311183021.25556-1-sw@jkqxz.net> References: <20180311183021.25556-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 2/8] cbs_h265: Use helper macro for maximum values of fixed-width elements 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" Apply the same logic as the previous patch to H.265. There are no cases which currently overflow here, but this is still more consistent. --- libavcodec/cbs_h265_syntax_template.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libavcodec/cbs_h265_syntax_template.c b/libavcodec/cbs_h265_syntax_template.c index dae7f2dd46..140c827c9d 100644 --- a/libavcodec/cbs_h265_syntax_template.c +++ b/libavcodec/cbs_h265_syntax_template.c @@ -665,7 +665,7 @@ static int FUNC(sps_scc_extension)(CodedBitstreamContext *ctx, RWContext *rw, : current->bit_depth_chroma_minus8 + 8; for (i = 0; i <= current->sps_num_palette_predictor_initializer_minus1; i++) u(bit_depth, sps_palette_predictor_initializers[comp][i], - 0, (1 << bit_depth) - 1); + 0, MAX_UINT_BITS(bit_depth)); } } } @@ -827,7 +827,7 @@ static int FUNC(sps)(CodedBitstreamContext *ctx, RWContext *rw, for (i = 0; i < current->num_long_term_ref_pics_sps; i++) { u(current->log2_max_pic_order_cnt_lsb_minus4 + 4, lt_ref_pic_poc_lsb_sps[i], - 0, (1 << (current->log2_max_pic_order_cnt_lsb_minus4 + 4)) - 1); + 0, MAX_UINT_BITS(current->log2_max_pic_order_cnt_lsb_minus4 + 4)); flag(used_by_curr_pic_lt_sps_flag[i]); } } @@ -845,7 +845,7 @@ static int FUNC(sps)(CodedBitstreamContext *ctx, RWContext *rw, flag(sps_multilayer_extension_flag); flag(sps_3d_extension_flag); flag(sps_scc_extension_flag); - u(4, sps_extension_4bits, 0, (1 << 4) - 1); + u(4, sps_extension_4bits, 0, MAX_UINT_BITS(4)); } if (current->sps_range_extension_flag) @@ -925,7 +925,7 @@ static int FUNC(pps_scc_extension)(CodedBitstreamContext *ctx, RWContext *rw, : current->chroma_bit_depth_entry_minus8 + 8; for (i = 0; i < current->pps_num_palette_predictor_initializer; i++) u(bit_depth, pps_palette_predictor_initializers[comp][i], - 0, (1 << bit_depth) - 1); + 0, MAX_UINT_BITS(bit_depth)); } } } @@ -1038,7 +1038,7 @@ static int FUNC(pps)(CodedBitstreamContext *ctx, RWContext *rw, flag(pps_multilayer_extension_flag); flag(pps_3d_extension_flag); flag(pps_scc_extension_flag); - u(4, pps_extension_4bits, 0, (1 << 4) - 1); + u(4, pps_extension_4bits, 0, MAX_UINT_BITS(4)); } if (current->pps_range_extension_flag) CHECK(FUNC(pps_range_extension)(ctx, rw, current)); @@ -1274,7 +1274,7 @@ static int FUNC(slice_segment_header)(CodedBitstreamContext *ctx, RWContext *rw, const H265RawSTRefPicSet *rps; u(sps->log2_max_pic_order_cnt_lsb_minus4 + 4, slice_pic_order_cnt_lsb, - 0, (1 << (sps->log2_max_pic_order_cnt_lsb_minus4 + 4)) - 1); + 0, MAX_UINT_BITS(sps->log2_max_pic_order_cnt_lsb_minus4 + 4)); flag(short_term_ref_pic_set_sps_flag); if (!current->short_term_ref_pic_set_sps_flag) { @@ -1321,7 +1321,7 @@ static int FUNC(slice_segment_header)(CodedBitstreamContext *ctx, RWContext *rw, ++num_pic_total_curr; } else { u(sps->log2_max_pic_order_cnt_lsb_minus4 + 4, poc_lsb_lt[i], - 0, (1 << (sps->log2_max_pic_order_cnt_lsb_minus4 + 4)) - 1); + 0, MAX_UINT_BITS(sps->log2_max_pic_order_cnt_lsb_minus4 + 4)); flag(used_by_curr_pic_lt_flag[i]); if (current->used_by_curr_pic_lt_flag[i]) ++num_pic_total_curr; @@ -1487,7 +1487,7 @@ static int FUNC(slice_segment_header)(CodedBitstreamContext *ctx, RWContext *rw, ue(offset_len_minus1, 0, 31); for (i = 0; i < current->num_entry_point_offsets; i++) u(current->offset_len_minus1 + 1, entry_point_offset_minus1[i], - 0, (1 << (current->offset_len_minus1 + 1)) - 1); + 0, MAX_UINT_BITS(current->offset_len_minus1 + 1)); } }