From patchwork Tue Sep 21 12:32:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 30423 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp2379553iob; Tue, 21 Sep 2021 05:33:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwbaehCO84um4ApaIQt8A6c6U4CAPxGQ1dtwTYRaCWoqHoutj6FwyIBSGuHIMRg4qeJ46NF X-Received: by 2002:a17:906:f906:: with SMTP id lc6mr33655574ejb.487.1632227629087; Tue, 21 Sep 2021 05:33:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632227629; cv=none; d=google.com; s=arc-20160816; b=NhHGX9Y66MHvt1nCiXegS20u7rzq9L8qZHg48h9w4KuiggqJFM+H+shKIKmzfpuXVJ rHapxldeDuS6npgPon4NJxgZVkasTGw+R2g+OXCq2Rb5Eit/j0/LoKMC+N+Vf5Dm/8MJ AFkI8ik+tMCYqhqKknwLKSVlJX9ayLOmpeB77Xcpxcm35NtHGGaNV+7H8FgGRfhWNpRv 11dC2tZHBbrhyull/3r5v4Kl8Sy8py64g7atPh6aPr0qKb4P8nsLKeLSQ6ODKkAchkEc jR5TlOJk2JqJM1AO16lyuT7uKlLo+J80g5+36Vl9gUAzbaeW8Z8rQoVC0liZa/msBkd1 5cLA== 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=pMNHg6w0hhj0IZdIpFtH2aOGksvZfTH22qurm+VabJE=; b=maUeXojHTmzV2BqtKBRK0WX4iS2Qk4d5LD+Ru07k3jTUOLz5yrMva/lGOsu9tAXFf+ B0kCJY/AoM0eDVwhHj6qKf+Jy/zPdYv5m6rcSIQACg/XeTbDStroUgrEMHBlnXD3c2Qg xZJOmLPFYwTuNJkI0qRs8BJCoSYG6tSLTHcyA9hWb4BogJrHj2O0pGXWO49se0t2+yZy aGARB+s3pW3M4gevCX2m4gSQNpw1OREKj6tVUqeXqvCc/lNTlfMLqG/JQfQ8YT2xhPWX j/lTTIFf++2pNedAGS4TRjPATgGwx2pq2A+vzVoS2hF82FBnh1/5XxANCs67dr8ekPll i9Ug== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=n0FM9nCS; 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 y16si19407827edv.216.2021.09.21.05.33.47; Tue, 21 Sep 2021 05:33:49 -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=20210112 header.b=n0FM9nCS; 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 61D1768B1D1; Tue, 21 Sep 2021 15:33:44 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 964B468B182 for ; Tue, 21 Sep 2021 15:33:37 +0300 (EEST) Received: by mail-qk1-f173.google.com with SMTP id f22so53981304qkm.5 for ; Tue, 21 Sep 2021 05:33:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=f+0wmJ0itqtfHE3yz4YpGZg8aTGzDVbCIybbZH/ZyVY=; b=n0FM9nCSQOYNadWnzNxKzInocTatXJL+USLlxscC4fKdRKFm0RpnK+zGeqnjz5M4ST MG/wvtNpLGND1H3sJ2phZtARkAUxZKV3pcrlvpGji93tY+H8yVOqs8uXowJCJGE8Ov1x 6K5mTbVlzJvNteY049azgFHQhi4GO/4SESPWtqg7SQxhvYXusDy/+yxELg7uvo//YpUV kBVu3cvdrY6GvZixId+bHGBj/cIh9Edi4+GL/2ObF2kzXyzGnUovw6p4D1TTQkIwZIxJ qBxfFYl5K6WhqT7BDioWlul5h9EDEE/PF1VhsiLYzglPzbKSpj9Vcx18dRiBUGPir7W5 tp2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=f+0wmJ0itqtfHE3yz4YpGZg8aTGzDVbCIybbZH/ZyVY=; b=GIj+tCTu78gJ8u506wYcK5NiON04Gq7U7IBoNTtQyuZR4G3Uk9oCaeF3QCqZWezr9j SWQblg7ZI8gt2B4P/kyINJfBu+niyPgD3eNhVzJSHDHK8YtcNzVnnVEyaj4pZCJxhJV6 YSch0vFuLWkLlNydVBfxk7JHelH+cWaRAei+7U622w9at4Vydv0lhrPH9mgKvHd7XTf0 aDw+54sbpy2ikZKvIXepCGDuXOdmnpvbrPpqeEPsQeS69yLIejFvB0mJ883uTa3ILPIH xZyswub4+qrFw7iL2SMKGrFLLxh4FIQCPaOSuMeyLPBTMK4awUYI58FWOUjcTIA22St4 QHGA== X-Gm-Message-State: AOAM530qnXchlk0TDN6PDTThc8lSlvGPkO4mBnzTH7FWdemBIYvSGmU3 DppS+xaScRY5pIsbyqxB9ej4IQaneV0= X-Received: by 2002:a05:620a:5ec:: with SMTP id z12mr15494255qkg.41.1632227615962; Tue, 21 Sep 2021 05:33:35 -0700 (PDT) Received: from localhost.localdomain ([191.84.244.56]) by smtp.gmail.com with ESMTPSA id p12sm10565525qtw.54.2021.09.21.05.33.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Sep 2021 05:33:35 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 21 Sep 2021 09:32:54 -0300 Message-Id: <20210921123254.1712-1-jamrial@gmail.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] ffmpeg_filter: don't try to autorotate frames with hwaccel pixel formats 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: T+bxqg/m2+x9 The transpose, rotate, hflip, and vflip filters don't support them. Fixes ticket #9432. Signed-off-by: James Almer --- I'm surprised nobody tried to decode an mp4 video like those coming from a cellphone camera using a hwaccel decoder. This would have been noticed much earlier. fftools/ffmpeg_filter.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index da0d4faf54..cc3dc33246 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -699,6 +699,7 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter, { AVFilterContext *last_filter; const AVFilter *buffer_filt = avfilter_get_by_name("buffer"); + const AVPixFmtDescriptor *desc; InputStream *ist = ifilter->ist; InputFile *f = input_files[ist->file_index]; AVRational tb = ist->framerate.num ? av_inv_q(ist->framerate) : @@ -756,7 +757,9 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter, av_freep(&par); last_filter = ifilter->filter; - if (ist->autorotate) { + desc = av_pix_fmt_desc_get(ifilter->format); + // TODO: insert hwaccel enabled filters like transpose_vaapi into the graph + if (ist->autorotate && desc && !(desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) { int32_t *displaymatrix = ifilter->displaymatrix; double theta;