From patchwork Fri Mar 2 11:54:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuri Palich X-Patchwork-Id: 7794 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.181.170 with SMTP id m39csp6153011jaj; Fri, 2 Mar 2018 04:01:06 -0800 (PST) X-Google-Smtp-Source: AG47ELu0w1LDzYphTbe9s//tWcUuWHpGvSWgyfePp8jA9ac9PKv/N92xEMRkKMCBM/pTQhpIXkh0 X-Received: by 10.223.187.199 with SMTP id z7mr4965585wrg.58.1519992066038; Fri, 02 Mar 2018 04:01:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519992066; cv=none; d=google.com; s=arc-20160816; b=H9AWDdbl+041TnuI7AwnQKUTevcdmP2Up9gktuHbMPA5+arz9ZNuny+TdD8qCYQnig Knq6v8Av6KlxU67IOy197rCBoMThANE6lAasX5Ae4OUVTbp7dVYk1Ipe53OK/6Q7bDZh N+CgtaqyC9krvOv1ATbHbj+iME6d03AV2Jmf/YSkQ+ZhlrEw6eoW8jOLkeEt/OJKk+21 frNrOWMMtvRi2FIt/u+/Su3GW93j/7UX6gqHSX4KgRHo25b1AcOW+9YJrZFDL48TjHqE sjsaaHJMfpgSToZm/N1n+RKfnKUHJq+HpoRQQ6jLKqN/Makv99NyuFcBRmU+OqheDEYz bzeg== 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:to:message-id:date:from:mime-version :dkim-signature:delivered-to:arc-authentication-results; bh=ZWe3px5oH/GIaok33a8c9PCgIteF68BXRYLsNKoAOuA=; b=eOzhEXtKO2vrZSMCOcw/9MfMZsJkPA96vZNwrFlBKIbUMcbFSJ8plL2rbCYO7cMEjv VqJgm6A8YXzvsLHypeqZ5iqXwH32dkdkSxl+7MMiMavpZRE+47p48ltsH69PWplNZk/S hN5Og86TleHPM4VH2LrvIQbExLTaOgALuam6zOc2iJxyjGsi9wFkm/R2K0v9sdzuGMuJ VSeeotBtveIxaAs8hUU2oKjfDHK4n5Y8Cu4xvsynnp+FwO05QKKCIzb0GyUk9b4For6G aez/5V6XweGYjPAsNyTjMubENzw5Khf+pfSJ5dxrOBRpKRPzTEy3AVU2vqBG4Sq4v26m GWsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=CRDQD8h4; 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 59si4527788wrs.221.2018.03.02.04.01.05; Fri, 02 Mar 2018 04:01:06 -0800 (PST) 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=CRDQD8h4; 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 1209968A5DF; Fri, 2 Mar 2018 14:00:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f182.google.com (mail-qt0-f182.google.com [209.85.216.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CF64E68A5D3 for ; Fri, 2 Mar 2018 14:00:50 +0200 (EET) Received: by mail-qt0-f182.google.com with SMTP id m13so11489223qtg.13 for ; Fri, 02 Mar 2018 04:00:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=DkgRnZHht5qgfEQ9iJv9Jz8UgdhZxCFUmGc7lPwUnqc=; b=CRDQD8h42IMCZHX65SshlQKtCNaTb22kdnmbFJOYugXR6CpvRYfskRAy8/QbPU06tJ jMUjyWeQepS+84e2p6ihVZGt0bVkmDKuNeAhGWOMUFiJ51qw4vcrrxfS1HhoF8Jq+jL9 p5Eprf+f3VKIrk0G6XulygmwMqtF0uL7+3BZTmyKR+tFwvdeO8+opJXrIvrb7DiRtMl6 Kw9lwTL336+v+WSlctBCcKrCs703L9QZfhJ7k/lvF37hPdR33WtZWQV5aXMUXLDO/WnC kqq/Ofz6qliuU/NXi9qQTm+g88mUNa1V7DQpLJXJ0z3LyGzd3EfIkt8reYolgUcKFQw8 Q4bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=DkgRnZHht5qgfEQ9iJv9Jz8UgdhZxCFUmGc7lPwUnqc=; b=bavg5Qc6c5Yu2HF9/s8opZ+p+HP4pS8jPFjTwdEkUXxhMwre6WDI+cIBdPg9nYisaM nUNZPCLKHVeY6it2bnmK3o5LZ6G6UyO1BA7NZk0cC4M5ANbFRpxk68XfzlUTgCoJfj3F LHx9iMsbg3fR7J0G5Hz7TQBt1dI3HQCALSjxgSd/uYE0/GPO+mwJB2CsBsjBlJy+3XQR 8J0xxQWaVQE9cAeeFRhiskKanNADTZC1u5uUjn+km1N0daCUcnxJbT3nDOaBeskymoGn GtCXqViZtbHAN3ihkyYCiRCP5yFUQAQmYE7vlqY57yg66xgRwAYAVsR+bLnMYTxAxdqI +G0Q== X-Gm-Message-State: AElRT7Fc7yeXHdGBIccPkTS4i3SoTVVQ+xTHX9iMbojqAP+c/siiN/t4 084EezANDpIUzzI6BjZ1nz8H7XaCyH4uKmNcqfOEHA== X-Received: by 10.200.8.205 with SMTP id y13mr8250870qth.89.1519991698208; Fri, 02 Mar 2018 03:54:58 -0800 (PST) MIME-Version: 1.0 Received: by 10.140.16.130 with HTTP; Fri, 2 Mar 2018 03:54:57 -0800 (PST) From: Yuri Palich Date: Fri, 2 Mar 2018 13:54:57 +0200 Message-ID: To: ffmpeg-devel X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH] https://trac.ffmpeg.org/ticket/7030 fix 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" From 7056d06412214bd601afb4b423d20ab6100e6ac5 Mon Sep 17 00:00:00 2001 From: palich2000 Date: Fri, 2 Mar 2018 11:48:22 +0000 Subject: [PATCH] https://trac.ffmpeg.org/ticket/7030 fix --- libavcodec/qsvenc_h264.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)"), @@ -186,5 +197,9 @@ AVCodec ff_h264_qsv_encoder = { .priv_class = &class, .defaults = qsv_enc_defaults, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, + .hw_configs = (const AVCodecHWConfigInternal*[]) { + HWACCEL_QSV(h264), + NULL + }, .wrapper_name = "qsv", }; diff --git a/libavcodec/qsvenc_h264.c b/libavcodec/qsvenc_h264.c index 09e4c0e..5f60675 100644 --- a/libavcodec/qsvenc_h264.c +++ b/libavcodec/qsvenc_h264.c @@ -34,6 +34,7 @@ #include "qsv.h" #include "qsv_internal.h" #include "qsvenc.h" +#include "hwaccel.h" typedef struct QSVH264EncContext { AVClass *class; @@ -169,6 +170,16 @@ static const AVCodecDefault qsv_enc_defaults[] = { { NULL }, }; +#define HWACCEL_QSV(codec) \ + HW_CONFIG_HWACCEL(1, 1, 1, QSV, QSV, ff_ ## codec ## _qsv_hwaccel) + +const AVHWAccel ff_h264_qsv_hwaccel = { + .name = "h264_qsv", + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_H264, + .pix_fmt = AV_PIX_FMT_QSV +}; + AVCodec ff_h264_qsv_encoder = { .name = "h264_qsv",