From patchwork Sat Oct 29 20:37:05 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 1224 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.133 with SMTP id o127csp1676003vsd; Sat, 29 Oct 2016 13:37:16 -0700 (PDT) X-Received: by 10.28.74.193 with SMTP id n62mr3998523wmi.67.1477773436590; Sat, 29 Oct 2016 13:37:16 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c75si16619663wme.33.2016.10.29.13.37.15; Sat, 29 Oct 2016 13:37:16 -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=@jkqxz-net.20150623.gappssmtp.com; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1F21E689758; Sat, 29 Oct 2016 23:37:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F24D568920A for ; Sat, 29 Oct 2016 23:37:03 +0300 (EEST) Received: by mail-wm0-f50.google.com with SMTP id p190so78024847wmp.1 for ; Sat, 29 Oct 2016 13:37:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=pL8zmoyzH0X/52CS+kP2rJZ/rPV5GJy1OoFLNAcMzlk=; b=kGFdV2s2oHiWpbiYe76YLROTwqI0XZUUtfihPoAPlkbsEfjumKZs1dknJ7Al1WPtpm 43clpJZsxwvMSqGml/9VzQqMn4yvYdFKECdIaY3QzACvZHszbs9dNjyfJ0krLGzdgcSX 6WYAmVyKxdonc+fMJ44cpw0S64e1OvalcwpB0oQztKglrrHuqwHRfwUkSUompUH0bO2W mKuI3z+bBSNtiTrOUJ5jqp9Vqwo9gnOwAFVwV4dSYO2vHgGc6keFcgliLz0byKczcy0G WaDHhW3Bqyc5rpZoBuqd5LiGbYs5B5YEzUvuRYn3+sFY8c2nKKS9xossEbu1O7sEuGte qCrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=pL8zmoyzH0X/52CS+kP2rJZ/rPV5GJy1OoFLNAcMzlk=; b=BMvZ2ZsYx89WXPLiq6XO0PbQn1CFuObyyn6PZeHmTDnX3joaDVNAyTpJ+9+scePXWL 1mJfuqi6aqoJJKDsDwL4Chogsdbh4ruZXvm9HolXNdKxPGyk1FbxpK4zg4R3TjjG12oK hZzatZijsBicEhF1WH9UGXZIh42rfqH7BAnCX5cK4oYNJLRam+x0O9kf/hy+/96Br7Ey y1kQAmJLzBaGu3dFAx0XVH/AhiK7vJnURHOjoA86JNBlfbz9jQ0u06gjibskv48VlM4d KFgFwBENi/LTqVySDQ8nrL++dzXF5Y4bMfabf7j7OrYPL6a9khoAZCaEvxQAwU9z/1EU cqKA== X-Gm-Message-State: ABUngvdR/EZI6LpRNLF3XX7fCG0mUWmQXlLwQR4ZrB/jqKYDYl72GrM96cErl0SidVI3bw== X-Received: by 10.194.58.175 with SMTP id s15mr16489756wjq.97.1477773426450; Sat, 29 Oct 2016 13:37:06 -0700 (PDT) Received: from [192.168.0.7] (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id jq10sm21088172wjb.46.2016.10.29.13.37.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 29 Oct 2016 13:37:05 -0700 (PDT) To: FFmpeg development discussions and patches References: <72236c3c-6f1c-b3c4-766e-84817400be25@jkqxz.net> From: Mark Thompson Message-ID: <5a1849f8-10d2-1619-b287-13dc613f2d9f@jkqxz.net> Date: Sat, 29 Oct 2016 21:37:05 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: <72236c3c-6f1c-b3c4-766e-84817400be25@jkqxz.net> Subject: [FFmpeg-devel] [PATCH] qsvdec: Avoid probing with qsv decoders 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" Set the AV_CODEC_CAP_AVOID_PROBING flag on all of the qsv decoders. --- To apply after the libav merge set. The specific problem this fixes is attempting to use the H.265 decoder when the appropriate plugin isn't loaded, but it seems like a sensible change to make for all of the decoders. libavcodec/qsvdec_h2645.c | 4 ++-- libavcodec/qsvdec_mpeg2.c | 2 +- libavcodec/qsvdec_vc1.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/qsvdec_h2645.c b/libavcodec/qsvdec_h2645.c index df86eea..94fbd07 100644 --- a/libavcodec/qsvdec_h2645.c +++ b/libavcodec/qsvdec_h2645.c @@ -266,7 +266,7 @@ AVCodec ff_hevc_qsv_decoder = { .decode = qsv_decode_frame, .flush = qsv_decode_flush, .close = qsv_decode_close, - .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, + .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING, .priv_class = &hevc_class, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, AV_PIX_FMT_QSV, @@ -304,7 +304,7 @@ AVCodec ff_h264_qsv_decoder = { .decode = qsv_decode_frame, .flush = qsv_decode_flush, .close = qsv_decode_close, - .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, + .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING, .priv_class = &class, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, AV_PIX_FMT_QSV, diff --git a/libavcodec/qsvdec_mpeg2.c b/libavcodec/qsvdec_mpeg2.c index c080657..e558ca0 100644 --- a/libavcodec/qsvdec_mpeg2.c +++ b/libavcodec/qsvdec_mpeg2.c @@ -171,7 +171,7 @@ AVCodec ff_mpeg2_qsv_decoder = { .decode = qsv_decode_frame, .flush = qsv_decode_flush, .close = qsv_decode_close, - .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, + .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING, .priv_class = &class, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, AV_PIX_FMT_QSV, diff --git a/libavcodec/qsvdec_vc1.c b/libavcodec/qsvdec_vc1.c index f7b1fb0..70a47b1 100644 --- a/libavcodec/qsvdec_vc1.c +++ b/libavcodec/qsvdec_vc1.c @@ -168,7 +168,7 @@ AVCodec ff_vc1_qsv_decoder = { .decode = qsv_decode_frame, .flush = qsv_decode_flush, .close = qsv_decode_close, - .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, + .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING, .priv_class = &class, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, AV_PIX_FMT_QSV,