From patchwork Mon Mar 26 01:25:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 8173 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp3000270jad; Sun, 25 Mar 2018 18:26:04 -0700 (PDT) X-Google-Smtp-Source: AG47ELtyvq3lMGMWUhgoYKmwkMtFo4NZuyKrNYpRNXeglVpYmCUqMIqRvjp486FIK6FVeODwWGda X-Received: by 10.223.176.36 with SMTP id f33mr30779821wra.75.1522027564698; Sun, 25 Mar 2018 18:26:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522027564; cv=none; d=google.com; s=arc-20160816; b=pbBGkymvS+sUwtM7JcMxtvnSxa2cqGY2ftz3v0CeAf4yLE35JVvQIGr2ymMVt7ZthU MVLJ6GN7gX92cKyt/4JsbUZUZzY2eMqEEMzjblBo/sY+PnN8mBgZTGEgAgx/bfHoHRgq qVkq8dJl84vm3oz6RrkGtK57aizFMH8TSoPgcEJFf5K8wykXvA0ccVESmQ2fA/FN3G9g /ALzHgQ8cjxo2y0UV1FO42XWGRGCNpWCa+UHenUgtFOUWRCAKvDfJjt3olk7H0YoeeiV v3BpAAfSZ07YcHNoFltU0LTjghml0A+z5JpZBh0R1PgDPd3cojIC6ak1+oLUGtj+GfJi JCbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :content-language:mime-version:user-agent:date:message-id:from:to :dkim-signature:delivered-to:arc-authentication-results; bh=Rih/I/1QZg6cw1kCa2nuvNJLjyoUmyqfSq6Z9G0sfuw=; b=OfvAS9qSw7FYeyFZa4Od0fY9A1N8Nrx1CvaIs65quHJV3/m3U9ph1K3rXx7j9Fk3X2 E1DH5/diR4kqWv/coW5LJiT6JfRBj11oef8g+eXHa8IKeCHm7kYU36gDmp6f09pllXlC 48dFl03qsv/Br/5dZQDgVC99y4KlGOmcnPW1kUSJ7Q6N39kPewTlt2xERBAbR2B+dCbv o8GKU9SUOKncfYfe4RsqiQlGDNByxQsBOUySw3ACejtqEBqfOXgEkXImycJ9hN5tInAg HGgq5z+B5MBvZ9qHajvh6AXFJnlLlTB1LJyC81Hj6Al3we8GoSvIWpKk2kmllGCz4dHA VhJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=cPwS8DCr; 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 b62si9132136wme.37.2018.03.25.18.26.03; Sun, 25 Mar 2018 18:26:04 -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=cPwS8DCr; 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 F32E9689206; Mon, 26 Mar 2018 04:25:44 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f171.google.com (mail-pf0-f171.google.com [209.85.192.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B7A2968090C for ; Mon, 26 Mar 2018 04:25:38 +0300 (EEST) Received: by mail-pf0-f171.google.com with SMTP id t16so2687034pfh.4 for ; Sun, 25 Mar 2018 18:25:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=UNxiwckZVENz7bmvmH30AXm/zq7nugHiwjdbSXXHBwY=; b=cPwS8DCrpI8gn6yh9lgYqp0yt8gzRY5pvCSf4M3UBDQbw6K9BKzXjlFfx7gQhFc1ny COs8WAcmKIPutpuJFiZjRGLR2uYeYDzODJt2KgZ55jmxq86Yig9UuGWyU7hiW+rXfvoR GxFDGLkKcwsLsxeSHkg3phE1mT0uvxACcZmz8D7qnu9N+/YkiLF37/DNlYbWkYlDgU4i f6apLm37/gV7iToJP4mqix53tQLAdilkTgWI07vz1y1uhtgIzFV6i9jxlRq8sZ34DKTZ IwtFX0wdqk7jpJ2ISpTT6EIgRv3TE2urK3sAve2+B6ZsIYYEbvbQrodxl9TgeC3hHCv+ Ix8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=UNxiwckZVENz7bmvmH30AXm/zq7nugHiwjdbSXXHBwY=; b=Pf0co9keKB/mQtMvvtq+26VtY31F6YIn4eek0RnCWWmPLWPtI6CieN4A1O+XYBoCy1 mPjAaKEzZ/C2Dr5C+8xWUWnFIu1B0ZIjr47Qtg4/wjz7hB7f+jg+01my5G+ZXosXRlgu QZWheNhNOU9D7bcylg1GtKlTvMiKOiFdLzkqQsAqGOOc++80ayWas8UA0XalLAT3B6O5 ONQC8R2mK4O4zyHXHt8f1dHRQAVbrQZDrcbHRIj0JdI48EvWvU/6spGnuomAx9cNrNTF bnDep9GNsSjCblGosVO+GCP0NHU+Kk/7n6c0gS2NsRK2vwxwiXmWqS4ON1abacp5tYkm 6aCQ== X-Gm-Message-State: AElRT7EzK0D/6bLSFu6d9Kg+RXD0VGYwSvyB6nJ5yU1vafQWvc4ZGXDt gbQEAcHFLFnl7u45BCZXok4= X-Received: by 10.98.200.82 with SMTP id z79mr2491658pff.45.1522027554035; Sun, 25 Mar 2018 18:25:54 -0700 (PDT) Received: from [10.67.68.23] ([134.134.139.83]) by smtp.gmail.com with ESMTPSA id l90sm30311439pfg.5.2018.03.25.18.25.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Mar 2018 18:25:53 -0700 (PDT) To: FFmpeg development discussions and patches , Michael Niedermayer , Mark Thompson From: Jun Zhao Message-ID: <83e96981-44ec-64c8-c428-9ceb05f2315f@gmail.com> Date: Mon, 26 Mar 2018 09:25:50 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Content-Language: en-US Subject: [FFmpeg-devel] [PATCH V2] ffmpeg_filter: enable stream_loop in HWAccel transcoding. 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" V2: simplified the logic as Michael's review. From 6c332c65d64977c4d6220acfb7e9db3505281f87 Mon Sep 17 00:00:00 2001 From: Jun Zhao Date: Wed, 14 Mar 2018 16:13:39 +0800 Subject: [PATCH V2] ffmpeg_filter: enable stream_loop in HWAccel transcoding. use the cmd: ffmpeg -y -stream_loop 1 -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i input.mp4 -c:v h264_vaapi output.mp4 can get the error like: Error while decoding stream #0:1: Invalid data found when processing input Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0' Error reinitializing filters! Failed to inject frame into filter network: Function not implemented the root cause is can't insert software scale filter in the hwaccel transcoding pipeline. Signed-off-by: Jun Zhao --- fftools/ffmpeg_filter.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 877fd670e6..4e5d8fa24e 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -452,6 +452,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter, int pad_idx = out->pad_idx; int ret; char name[255]; + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(ofilter->format); snprintf(name, sizeof(name), "out_%d_%d", ost->file_index, ost->index); ret = avfilter_graph_create_filter(&ofilter->filter, @@ -461,7 +462,8 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter, if (ret < 0) return ret; - if (ofilter->width || ofilter->height) { + if ((ofilter->width || ofilter->height) && + (!desc || !(desc->flags & AV_PIX_FMT_FLAG_HWACCEL))) { char args[255]; AVFilterContext *filter; AVDictionaryEntry *e = NULL;