From patchwork Sat Apr 18 04:52:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 19040 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 EB92544B90E for ; Sat, 18 Apr 2020 07:53:07 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D791368BEB7; Sat, 18 Apr 2020 07:53:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8D86A68B6A3 for ; Sat, 18 Apr 2020 07:52:59 +0300 (EEST) Received: by mail-pl1-f196.google.com with SMTP id v2so1751265plp.9 for ; Fri, 17 Apr 2020 21:52:59 -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=3kC+hDiv92AeXdVkyZOR/4udXzE+brjC0zpE64MyJd0=; b=BVLkS5bjGMxgYz1QA+9LScD5Sdmn0yF6jqWV7w5GIlPu5TncbkHarCMrIFdC+thm4J hEysp5E7SGIXbd5PBTFZ43V+GHLevSb/K108pSreB9Vcv7QKvGcuaevOQU2G9GwFyoJ0 cPiViRl+dbSq9sUZ9bWqM7/t+Gb5XF8Ya4TgKGEHaW+73YvsJab1EsjNONJsXCVgAt9l 8de1zxNyNwwDQgUtya+FQhRFf77HFD99BIOH4c1fsl2n9iO5wlBfAwXFPzLSOw77DCPC kQZb5v9X+z1tIkiRUp5LTLmh4Ocqqgy9+wNbmeKrxnsyqe3HIXdFOOL4WoQN9mFbMdxB SMmg== 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=3kC+hDiv92AeXdVkyZOR/4udXzE+brjC0zpE64MyJd0=; b=qlWQNjZdJ2hro/tJLM33uqvn24IbZ5/PiY5N50mtE3VQ32nu5dFKkauLWo7zCVIo7h QpVWcK6A1N8C2sXhCosGIXlLoKx0aX700PzhnT+5m9ru7MvHYripXddZMYH7NcVnoT5r K9wlE41oYMFsvvwoDK6mNXIVJaWZjn0V2PkG+iAAvO4pGrGIJdvVpd6XHJ+k/LR/18MI hL4riNnS669GHGVNMrgub2tekCAZ7e5loJ2qDDwKWUL0d0UK5NPOBHMXJ+fzA1mELXeT eMB878jLroblkBpg5KOKcBB/tGSZB67Fxfu9IKfI6q+e3WtkGTgoERT8S3fYZZTS1gxh bucw== X-Gm-Message-State: AGi0PuYo2UaX7UKMk9vutyGPhk5NPBa47prAYJ1YElyOXTO5rOhvQsTu Dx1lgHZCNAcFMLBrJ8YceiKtC70N X-Google-Smtp-Source: APiQypIfEXiLY7GJLwBCC6ADvJl6qhVETJQdie4wcJVuDg+2N1aF4xM+LPeLlBlob7sgBECxTQ2x/w== X-Received: by 2002:a17:902:aa88:: with SMTP id d8mr6708705plr.201.1587185577706; Fri, 17 Apr 2020 21:52:57 -0700 (PDT) Received: from vpn.localdomain ([47.90.99.151]) by smtp.gmail.com with ESMTPSA id y26sm15992769pfq.107.2020.04.17.21.52.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 Apr 2020 21:52:57 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sat, 18 Apr 2020 12:52:48 +0800 Message-Id: <20200418045249.8057-2-lance.lmwang@gmail.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20200418045249.8057-1-lance.lmwang@gmail.com> References: <20200418045249.8057-1-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 2/3] avcodec/libx264: return immediately if encode_nals return 0 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang x264_encoder_encode can return 0 with nnal 0. As a result, encode_nals will return 0. In this condition, it's better to return 0 immediately to avoid the following unneeded pict_type and flags setting. Signed-off-by: Limin Wang --- libavcodec/libx264.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index a08fe0c..edd343e 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -447,6 +447,9 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame, return ret; } while (!ret && !frame && x264_encoder_delayed_frames(x4->enc)); + if (!ret) + return 0; + pkt->pts = pic_out.i_pts; pkt->dts = pic_out.i_dts;