From patchwork Wed Mar 29 14:12:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ronald S. Bultje" X-Patchwork-Id: 3176 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.44.195 with SMTP id s186csp1111378vss; Wed, 29 Mar 2017 07:13:05 -0700 (PDT) X-Received: by 10.28.13.65 with SMTP id 62mr959731wmn.1.1490796785240; Wed, 29 Mar 2017 07:13:05 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k8si7373818wmg.107.2017.03.29.07.13.04; Wed, 29 Mar 2017 07:13:05 -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=@gmail.com; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9DABB689B0E; Wed, 29 Mar 2017 17:12:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f177.google.com (mail-qk0-f177.google.com [209.85.220.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C7B74689A72 for ; Wed, 29 Mar 2017 17:12:08 +0300 (EEST) Received: by mail-qk0-f177.google.com with SMTP id p22so13733789qka.3 for ; Wed, 29 Mar 2017 07:12:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jjQcg0HivF2YcyGZ8qjbUZgc/2O0n3vhaEpNAnofAEA=; b=WL0KOl+Dp/JCcMShuEwJmsPw5JFG5Up5VSh0ia4z+viV72UIKGBe8r9+F2Fi/odPpq wkmMm4Bka0ede19/3XRPq2aD3Nmo8o3RbzhWnsXihj5bekYaSvbTDk0GHhS04YUZzvAc Wz14LKYZHERMAKljTfbdDXBL1shxBH8/CxnC7u7kM94RIrhQ9JIiKXicAUHeDVJ+cBPL k1qhfbWOXrqGBTLLDB9jfIrtGJt5uBX5I49nFSzangB2EUJwck+tJS9o+hoRftUUmxjp 6i0chfAeNh0H++8OKujKDMFzu7ogW78MyQLnaumSRDc2vO4FldNm2Oq230NHWJXOztoe Ef/g== 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:in-reply-to :references; bh=jjQcg0HivF2YcyGZ8qjbUZgc/2O0n3vhaEpNAnofAEA=; b=ogOKULmdXATAsA/+na6vVfnHY4v1O66w4ObFnIPNJEPhjdOOF+/9BC/k3EJ7zzZo1C Hud/XQRG4zf2MV18FtKawn7FlZmZgqp2fTxOa38K9raNcrZvcz7IwlxrD6X/SA5YOpmR +WdtClyId91h7uiQdqhqB7RZZ55VdUInN4fwt3jcgUWIzePSGAP+NjbosmvPffwMo85g Y+DlGc6318IVvtRzdnbZQeWJ9RnyLcD76ddicoEs+iIO7/0rTOivt+dtqkV1yYSTV2vQ K11z0gXUV2aaxqc0vqNomFJBCaeL4NHa3KMnVAr4KABLo58GGrRUZ+taq3YeNLuNDHLt WSvA== X-Gm-Message-State: AFeK/H020aDdV9q7scuuTmO1qvogTvrsFElb8msODcqMMtaVQ4ywR3W1he/NZYcVEgB36A== X-Received: by 10.55.125.132 with SMTP id y126mr728135qkc.314.1490796750540; Wed, 29 Mar 2017 07:12:30 -0700 (PDT) Received: from localhost.localdomain ([65.206.95.146]) by smtp.gmail.com with ESMTPSA id u63sm4976197qkh.45.2017.03.29.07.12.29 (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 29 Mar 2017 07:12:30 -0700 (PDT) From: "Ronald S. Bultje" To: ffmpeg-devel@ffmpeg.org Date: Wed, 29 Mar 2017 10:12:22 -0400 Message-Id: <1490796744-76454-4-git-send-email-rsbultje@gmail.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1490796744-76454-1-git-send-email-rsbultje@gmail.com> References: <1490796744-76454-1-git-send-email-rsbultje@gmail.com> Subject: [FFmpeg-devel] [PATCH 4/6] h264: don't re-assign H264Picture::mbaff between slices. 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: "Ronald S. Bultje" MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" The value must be identical between slices. (Maybe this needs an error path to inform caller if this fails?) --- libavcodec/h264_direct.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c index 4e7202b..20136b0 100644 --- a/libavcodec/h264_direct.c +++ b/libavcodec/h264_direct.c @@ -138,7 +138,11 @@ void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext * memcpy(cur->ref_poc[1], cur->ref_poc[0], sizeof(cur->ref_poc[0])); } - cur->mbaff = FRAME_MBAFF(h); + if (h->current_slice == 0) { + cur->mbaff = FRAME_MBAFF(h); + } else if (cur->mbaff != FRAME_MBAFF(h)) { + av_log(h->avctx, AV_LOG_ERROR, "Frame mixes MBAFF and non-MBAFF slices\n"); + } sl->col_fieldoff = 0;