From patchwork Tue Aug 17 21:00:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 29595 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp3312347iov; Tue, 17 Aug 2021 14:00:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzWMY/CXfg7Ok82ptJZNNX4r0NHETmBtD4P/sFTYzZ5DVJ2e4fAawcQlzpr8nUMwoHcXmkF X-Received: by 2002:a17:906:504:: with SMTP id j4mr5749169eja.245.1629234051078; Tue, 17 Aug 2021 14:00:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629234051; cv=none; d=google.com; s=arc-20160816; b=LyhsWGdhPxXtXW+50i6dh1KIJx7eXDFhhx/QunwjBcvfk9pDy9qQhFppHWqOpl31k6 HFKqNQSM7C51FXYu0c4edWErp97abB1ITdhPLf+GdgJd83Q3vZK+Av0CnhOOhoBK5QFp 86vdDfnllblIuziw1doDhyTagHAELUv4qFGEzdx3Pg0DPytxC9cbGiPPoTFV0CKI4DOn mcCxGdX8u9EzL6sa4UsOsUurTcpOfYTbvkq5oIJa656ru5Xf8e5KF9b3oBogiHQnebkC YQEvdl7v58ycKorSegQHFFzNfE+fLoi7bOMortHQv3gqhhEexXC5TVoXcbnRp2mQNwld eztw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=yvEhM3aM/DKDeExfeuG1vEyP+wcxxjDStgPeF1o+/sI=; b=DIykEdTVPd1SK+ln0ABlDgnFzDonoCBP0imSFPNpfnzKOSLipZYMAndCEpdN6Qi1ez W7unV55UVHN3vrxdckkl9Fd62YtLgaWktTNgqty0SoYYoNe6wC1nkhxAftyn0KVUcXmM bdtsl5BHKMFpo0IrC0X+GLpyT5ebHkesnXIoqht+CSeU0flc+sWaJftWtr+zhlY9cNI0 ERIZhKMJIo2ez9X78UjiVontiHZBoFlkgFZ+vkfhmlCK/4S+ZiAwuPREPprRutQjsOO3 3yTNzM8A38gDydAE3Gu6X95sxGtkvVSrhsrXLCxz4Hz6X3ROyzPgDTWnE2bTjn7X63KC 1mOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=J9BxD1Xx; 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 s7si3532355edw.218.2021.08.17.14.00.50; Tue, 17 Aug 2021 14:00:51 -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=J9BxD1Xx; 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 ECC3668A5AC; Wed, 18 Aug 2021 00:00:46 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 79E486809BA for ; Wed, 18 Aug 2021 00:00:39 +0300 (EEST) Received: by mail-lj1-f169.google.com with SMTP id y7so1025694ljp.3 for ; Tue, 17 Aug 2021 14:00:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=3q0VqNk5Ug8gGM0YcjM3ymdpcSgG8TIkMv2HtMWlSgc=; b=J9BxD1XxYC2vp18lSCeSddgR93vrKrIZ132UIBweA8GWN1rl4Y4lvxV/gkkUbY315a jr6x5TCBZ/1Fqx5HjKjeeOav3IfBwdP9mzjgaM3JVYyVOJR7MLBFHuEwGMMsISxvopbU bfinZV9ejGnlT1Kbmer71xZAsvsqHv1qsIXSWFD1/pY6DV1EsMeLWA8+IcALNIp7GWGC ErEgAe7tR1lkwxGu2e5G64++v52ybGI3PLkfkTknK1clcXXj2b0TWndx0lTQgGaJrjz9 IKbZO9Bygc17uKdFuX0VlYWVVSGyEhLjfeBmMeE9YaCK54J7vkVt0icWVzr54XUgidqI 5XlQ== 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:mime-version :content-transfer-encoding; bh=3q0VqNk5Ug8gGM0YcjM3ymdpcSgG8TIkMv2HtMWlSgc=; b=fddgQCsQY/v7iIX6Bn9ws5LweE7dPVVHRNFgdMaMVv5n8JzQlUL+9EHA2dtrlOrEP4 euP2MODeCRq6HEuoyPSk6tdnQyOEBkgLUvmopCLUgSkVwC3+lVEABW62zhQXu9ymE0WX 0IQklaVnideuqJ1Pi4CD6jraY6JzrWv95/FbSDxnSJnEzfRwxEZeUDnDxijNXXZ+iN7u SGkItbvpWRGtry37R3rJWydYrcttLDWvasc9cA4f4Gnl6vfnreLRvf6+ku+Fhpu8fFwo ImmL0vpACuU2n6ZE6C3/GkYflx+vsgBnyWAixjLUPVOcrms5Uf5lQ3t1OWmTAouGGsAU DdtA== X-Gm-Message-State: AOAM531U7QfA54DCX+GZ0fiX6pug5pYZuRnB7IiKpoWNztmwZHdROHcD mPimP97pxz59J1ihCuE/wstLkCiZ6MI= X-Received: by 2002:a2e:84ca:: with SMTP id q10mr4870290ljh.490.1629234038556; Tue, 17 Aug 2021 14:00:38 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id b4sm251973lfo.94.2021.08.17.14.00.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Aug 2021 14:00:38 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Aug 2021 00:00:31 +0300 Message-Id: <20210817210032.17597-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/libx264: leave full range flag unchanged if unknown X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Rlu9deB21fmr By default the x264 full range flag is set to -1. By not setting it to something else, we can let libx264 handle the RGB case. Additionally, change the preference order to user-specified range first, and then any fall-back logic left for the YUVJ pix_fmts. Fixes the capture part of #9374 --- libavcodec/libx264.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 9afaf19547..d48e142e41 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -857,10 +857,12 @@ static av_cold int X264_init(AVCodecContext *avctx) x4->params.i_slice_count = avctx->slices; - x4->params.vui.b_fullrange = avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ422P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ444P || - avctx->color_range == AVCOL_RANGE_JPEG; + if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED) + x4->params.vui.b_fullrange = avctx->color_range == AVCOL_RANGE_JPEG; + else if (avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || + avctx->pix_fmt == AV_PIX_FMT_YUVJ422P || + avctx->pix_fmt == AV_PIX_FMT_YUVJ444P) + x4->params.vui.b_fullrange = 1; if (avctx->colorspace != AVCOL_SPC_UNSPECIFIED) x4->params.vui.i_colmatrix = avctx->colorspace;