From patchwork Wed Jul 15 21:05:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongle Lin X-Patchwork-Id: 21104 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:80ca:0:0:0:0:0 with SMTP id c10csp745742ybm; Wed, 15 Jul 2020 14:06:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz0awUJUfCYNZqvfL4snh+hJ3iGdzP91PUxm8msog77lFrLcEbCUz9coCGT3pEi5yWdh46s X-Received: by 2002:a5d:6288:: with SMTP id k8mr1358923wru.373.1594847169785; Wed, 15 Jul 2020 14:06:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594847169; cv=none; d=google.com; s=arc-20160816; b=WmE5n4X2K/4iCTvp27J/SIuDxWJWkgUm3UGxvJ26tgxjRjm0DDpUPYV3lezZg3V9Y0 vdSaBluOs9Mn1SVhdRl/lyraDav9rAz3g0DaWyYGJwBk0llbZkuG1DNoncCuZHvTa7Tz RK+OQXp+SKqSaVnK/9qWtkQ089saDtoOa5fwaS55bcpfd6gIey+TGraBQvoIrMA1qThD PC+lfsGsjANu6SLmeKEZADAVO42Yqtva600T3y1uSRp4JPKHhB41egeuo35cu+wGOutR ioRvkhTc3FHaAyK6hFMsDRhcKqYZq0I9utPGQWpnpTsRo2++moZ26mBbG7VZqzmOWPz8 Hp/A== 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 :message-id:date:to:from:dkim-signature:delivered-to; bh=ehYV1n6xuhMim4Tbykt9+sCEnvuLfhZiZdiB78c19/s=; b=Sf+/JyeRh4rZ5yjRjTyriq/vhnoXACwkup73t40UkEK8BmvpV1t0wdwzmK6z1VB+Ev HxiFY7euQhgtDtELq2Qeoz7Yf+h0ayZ0r87ewu8m3mwPxNeUmUP+bNOxpqgDAPEK2j89 mioAJJVhPQLFva1U49n29nfpLMc3GvFDRl2E+OZbD5vNhkS0cZ26aXKsb46GHaKPIsb2 NidDXdjvvBNFLVvX4EkCV7s5uM1RzPigbFd9SVsf+OMESMdyqqEONClRux+rX5C9nXmD xSbx5DoJPDukJdlWn+ThaH0QEqIyRqT+yT6trw2oY9T7X0/E3fFkuAxYa5Q2GU+ZsBX0 72GA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=I4dDviJk; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c5si2777629wrp.214.2020.07.15.14.06.08; Wed, 15 Jul 2020 14:06:09 -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 header.s=20161025 header.b=I4dDviJk; 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=QUARANTINE 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 ACC7968B4A9; Thu, 16 Jul 2020 00:06:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 99E39688113 for ; Thu, 16 Jul 2020 00:06:01 +0300 (EEST) Received: by mail-pl1-f193.google.com with SMTP id b9so2905772plx.6 for ; Wed, 15 Jul 2020 14:06:01 -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 :mime-version:content-transfer-encoding; bh=cEpboieoRhAM+r85GWlGBvs0rtTabBoXW1jI798hdjU=; b=I4dDviJkFP8Puv1e0Zy+OHQakmNAZEI1f7tYZVesaRwCr/el+k4lG4IxXnKzWmRxTF sb0VvkhIMyRQlJgIZiqujXCmDFCpGTGate/PVEqswrgbN1/3kAR8bnVE1zUl0tgLlktB N4AkBNd/sqoSeWBlxEamQmrXs8n+0SvYQh4l6dJD4eDZWoBzmivHusLeT/DVlMNlgbTZ iVDdEQYX9+NhIdsK+CITUiCM6WsVccwB85Cd9jc/XuFPIl5ja5hTBEeFGc3SOi5VuRKr qTng8ViCS+FDHe0zFsxOeqQMSjWAWGQ9HkcGiPrMUvbZk5JSLXJITQZx7nd0Pm38itFA 9c+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:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cEpboieoRhAM+r85GWlGBvs0rtTabBoXW1jI798hdjU=; b=CjWGE+CnmpzQrkeQKoLIit8iy7Ajt7eiCsCSTroDqSqpuZftuRTpfTVOQ1XBkM102e N0MlTp6+cCG4nqaKj5grPAp4dgWS79RUhebd3/ssABPOvb6jYypjgnxTbvQTfvxDCPGn qr9+guTgNnvLf5LpGzfeeYtxo3dWlsNoUoKDf7y3eaznrKePhvGtes1k55xWn4HarWbY NY8dEaKGj3E0aOzRwoMaALmlhRo+lPXrrtP0b9hoChgq74kKNwOsOzjaadsK5kWFjEIJ H6AV85iiTFnwaMK9r8peqmBd5Val+cK/4F/Q4p+kx9A0U0N9DHVFVkfie1AdPXLp+CmN 9pVA== X-Gm-Message-State: AOAM533Vi7yfQ+OeobzD6OfA2frFfJ/J7FyBGHq2d6Y12ChXWJcaj3rF P969JEfxfoGc1OwrnMC3mRA+ylbC X-Received: by 2002:a17:90a:9606:: with SMTP id v6mr1562415pjo.110.1594847159668; Wed, 15 Jul 2020 14:05:59 -0700 (PDT) Received: from yonglel.c.googlers.com.com (197.59.83.34.bc.googleusercontent.com. [34.83.59.197]) by smtp.gmail.com with ESMTPSA id v11sm2960611pgs.22.2020.07.15.14.05.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 14:05:59 -0700 (PDT) From: Yongle Lin X-Google-Original-From: Yongle Lin To: ffmpeg-devel@ffmpeg.org Date: Wed, 15 Jul 2020 21:05:30 +0000 Message-Id: <20200715210530.790655-1-yonglel@google.com> X-Mailer: git-send-email 2.27.0.389.gc38d7665816-goog In-Reply-To: References: MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavcodec/h264dec: export block type in H.264 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: Yongle Lin Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: gaisSngu5iX8 Content-Length: 1686 --- libavcodec/h264dec.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 1e2ca68449..b3de5290d0 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -816,6 +816,20 @@ static int h264_export_enc_params(AVFrame *f, H264Picture *p) b->h = 16; b->delta_qp = p->qscale_table[mb_xy] - par->qp; + + int mb_type = p->mb_type[mb_xy]; + if (IS_PCM(mb_type)) + b->flags |= AV_VIDEO_ENC_BLOCK_INTRA; + if (IS_SKIP(mb_type)) + b->flags |= AV_VIDEO_ENC_BLOCK_SKIP; + if (!USES_LIST(mb_type, 1)) + b->ref[0] = p->ref_index[0]; + else if (!USES_LIST(mb_type, 0)) + b->ref[0] = p->ref_index[1]; + else { + b->ref[0] = p->ref_index[0]; + b->ref[1] = p->ref_index[1]; + } } return 0;