From patchwork Wed Feb 12 23:36:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andriy Gelman X-Patchwork-Id: 17768 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 2C95444B702 for ; Thu, 13 Feb 2020 01:43:50 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0AF2C68AE4E; Thu, 13 Feb 2020 01:43:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f195.google.com (mail-oi1-f195.google.com [209.85.167.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C911E68AB42 for ; Thu, 13 Feb 2020 01:43:43 +0200 (EET) Received: by mail-oi1-f195.google.com with SMTP id z2so3906426oih.6 for ; Wed, 12 Feb 2020 15:43:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=HiLkevje1FV1e+X4sA+XAT64THbGEDLUMPvo9bpHvHA=; b=PD75ZCbUheXHYf/kTqbjjw6aEfZmqrAtIZpL7eFYBIilA4VaAJa/7af+Bq6cri4c/T X6/ojqTPby4SOi4fUVsoF0lZfjt2Di5sQ7tjZ+upeNH9c2NnGW1Cf4urL2e9TLr0Mn3F +WC9WXwpTodmbrkurywFe1Y9+FuuMkzEmWeLRYjHTAiG78pFknYUacWWNES9zg5kNh4V /E2WFwdUNJpXiIxU10tgpzezsBcpFvE8WBR4/tQuf2bF5f149slgAR/6nqzFl03f8kDs v9miJ9eNCWgI44JvhePedpYuBM5qxmncs3UheciXu9LS0Vbsrn0JKgNgyMoqqUvOpY07 VvpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=HiLkevje1FV1e+X4sA+XAT64THbGEDLUMPvo9bpHvHA=; b=B1mw/3dtFzLCn17j8ddFhD08LERmrsxZc1nBUR15/2vZWTa/M9jqmUxiEUwznxrPnx iWfm+nsgHdIgXPKTN4RkPNSbfRvrV3d7dWkwfANK7qQLrSVQ64UhiSHyYwG7ERQ45snV oLBQb0aYmSxHwQbTvAt6QyK3rvxmTh/CnHmD3Bbn/XMHQzc/vgy9qFoZllD7wdm+4DE/ 7MlwSQgvN2YmRzVwlOfM/pU5rdcHtx0MVZhcS7iECdWIzFGFW0cEJupszxrDuWxL3aW7 fHfq9q5rUR/zjd3odyo6JSiulbWHbbkayURsYVJI/9oBVXvF1BtGWfqUnsDL8tPaAqoW z7uQ== X-Gm-Message-State: APjAAAVNISTkIeMQL7puJw3dL847LCW3V7J+A5wnOzuSBL01XNTHLVjg 3Sy2xzRrZEY0iU7NKddvC3kcB+sE X-Google-Smtp-Source: APXvYqw3kREzHSWfkAIbBitXn+hRvdbc+2lPCPuRoS/AzTJwMd0XQwAPQAdv6pPPDH/U0rIRqkObZQ== X-Received: by 2002:aca:c507:: with SMTP id v7mr1095244oif.157.1581550622283; Wed, 12 Feb 2020 15:37:02 -0800 (PST) Received: from manj.guest.slb.com ([192.23.22.48]) by smtp.gmail.com with ESMTPSA id r13sm142377oic.52.2020.02.12.15.37.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Feb 2020 15:37:01 -0800 (PST) From: Andriy Gelman X-Google-Original-From: Andriy Gelman To: ffmpeg-devel@ffmpeg.org Date: Wed, 12 Feb 2020 18:36:56 -0500 Message-Id: <20200212233656.1498-1-andriy.gelman@gmail.com> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avcodec/h264_ps: Return error if pps has FMO parameters 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 Cc: Andriy Gelman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Andriy Gelman FMO is not supported and fields related to FMO are not parsed, meaning that any fields which follow will be corrupt. --- libavcodec/h264_ps.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index d36921e47bf..708594954cb 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -794,7 +794,9 @@ int ff_h264_decode_picture_parameter_set(GetBitContext *gb, AVCodecContext *avct pps->slice_group_count = get_ue_golomb(gb) + 1; if (pps->slice_group_count > 1) { pps->mb_slice_group_map_type = get_ue_golomb(gb); - av_log(avctx, AV_LOG_ERROR, "FMO not supported\n"); + avpriv_report_missing_feature(avctx, "FMO"); + ret = AVERROR_PATCHWELCOME; + goto fail; } pps->ref_count[0] = get_ue_golomb(gb) + 1; pps->ref_count[1] = get_ue_golomb(gb) + 1;