From patchwork Sun Jun 18 22:09:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 4030 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.22.4 with SMTP id 4csp645736vsw; Sun, 18 Jun 2017 15:10:05 -0700 (PDT) X-Received: by 10.28.185.7 with SMTP id j7mr13071211wmf.74.1497823805221; Sun, 18 Jun 2017 15:10:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497823805; cv=none; d=google.com; s=arc-20160816; b=UBsO4u5fjFgdn5jK70NCcM+bOgXPhxi2cyT2+VHUEvZeFBV4btsVfmNRciTaIZeaks SSHkOl0arNmUIuxucS3u6q+uylKfBhCQ7nseYeLt0XT7S0Q4aKtLLFUefd4zZ96945di kfSqzBzmRG6EFRWy/jXYbb7UdbfS8wLIBHcGBcpttqlkfIqlD7MO/ie3V5L0+JDCseI5 n0Bn8PZHMWu4pujeYMLTF/Be7qBI2mrMRas9RRzOKbQOBf5IoPoId2OyQ2qixBTIx+J1 mwkCMxgqLWIu3iGwC7C1G96ScohdOo8UFx8psAqbYuOquVXO2MTMXgFQU+uNmONr1W/5 mzRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=AtPWi4Ee2TgkTEXZ+oQnYsB0NEv4fs/colzFieUaMdg=; b=CM1ZkXttagOZvoKnE462GHlgX+ps/MlIEoE+iJxezbQWjBBv67gruj9ZfjGfL76Irj pWhDpyMt2kmCT28fUxiYZCilt+zGaN4ICTB/VMHufMEKzTo/nKjWh9Z4RacJyQgM8RTw srBykINpRxkvAmAYvjsOgY1Pnu/r/S3WbzGEEUvjO7PLYtZdnZxagO//OPWPVvsSZCa2 7ASzhU41LB6RQi/EdfB/Sgty6UePA9JJjC42yMlLY9ALm92F7X4HbpmXof/3knUdAyRe ytSGHAL4sH63VGcoxQvldmouHlVgfWVLq1YmzvTVQ7MkLs2OlXHKl7SQqTq5F9fpZ2/W 4Mbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20150623.gappssmtp.com header.b=iEFKRz8S; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v24si8116267wrd.237.2017.06.18.15.10.04; Sun, 18 Jun 2017 15:10:05 -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 header.b=iEFKRz8S; 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 F177E68A3F3; Mon, 19 Jun 2017 01:09:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F1BA668A340 for ; Mon, 19 Jun 2017 01:09:30 +0300 (EEST) Received: by mail-wm0-f48.google.com with SMTP id d73so59434376wma.0 for ; Sun, 18 Jun 2017 15:09:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=QRH1VZ71+UAo14mDXZPrMbFUxf+QlGS3d4Bdj5/Gdac=; b=iEFKRz8S1e1qszf54TxINUmwrRSpaYNgXH1y/7tXBhJ/n2U4day/3B0H2odYmPmg3p Py3b7UrM1ETL4U6/fv5lkeaGJUD+j70g+DspgZDodDUdPFQWnF9Ic2o42jHu04Gms0BW o4IW6OG+m7wjCAOxtfktVuRxA74kkEQv1I1DInt2zFqWy+TD3xcN7sldQkzJTrkiTH9k 9yG3FnCKOfmc5q7jMKGON8FI3+dsjT5UTUovXnrWlTY1oEvjD2DQEM7YxMd4OSXd9dss Z0/9bYSrm0WKQWjcyDPdhxsezVOs3gRPTmfTzX+2KPEiIsVQQuI1eUZlvxsIwG1yzGUV MPnA== 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:in-reply-to :references; bh=QRH1VZ71+UAo14mDXZPrMbFUxf+QlGS3d4Bdj5/Gdac=; b=Cr+bFwBo0APIoBJJCAxzr4JMbn5lELPkq0nIGIn3uVrMVa7Mlr/TLEL2aoAS86Vt/W VLMGpNrR1uDmYoKcam157WkvTPbseHtWq3sEQt6G86MKTfzHAwMS/WF8Np/AGmauclft 7CDUAWZoBzL9xXBp5RWibYXYvm6qSbD0DrPiTbsh5hxH1krDlzOMTh2FGlam4qhUUAvi mSjiy9A4pitu2oNUsjMLgaRflzq5qdESV6+AlESSF3ttKlMdYDjKFoDzm7J1hz0NiK/k KUUjOSVh1fs+uWFurfp/MFjanVicL34C5pmo0aNuqGLm8GZg1+z+Hyk1M8asG5Z9Vk2N 4DIQ== X-Gm-Message-State: AKS2vOy8WOaQhd1RAno9D94qFMp0BFRHVzzmMgSAvllex3mo9g8H9aXL oV/0vgdI1ytvaBzKPbo= X-Received: by 10.28.88.3 with SMTP id m3mr13594838wmb.28.1497823774813; Sun, 18 Jun 2017 15:09:34 -0700 (PDT) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id 62sm8922667wra.44.2017.06.18.15.09.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 18 Jun 2017 15:09:34 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Sun, 18 Jun 2017 23:09:26 +0100 Message-Id: <20170618220926.24656-4-sw@jkqxz.net> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170618220926.24656-1-sw@jkqxz.net> References: <20170618220926.24656-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 4/4] doc: Add VAAPI encoders 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" (cherry picked from commit 41dda860870fb1566b17f6b0b61922f0ef89be47) --- doc/encoders.texi | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index 3645b490f9..a8bee092cf 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -2527,6 +2527,102 @@ encoder use CAVLC instead of CABAC. dia size for the iterative motion estimation @end table +@section VAAPI encoders + +Wrappers for hardware encoders accessible via VAAPI. + +These encoders only accept input in VAAPI hardware surfaces. If you have input +in software frames, use the @option{hwupload} filter to upload them to the GPU. + +The following standard libavcodec options are used: +@itemize +@item +@option{g} / @option{gop_size} +@item +@option{bf} / @option{max_b_frames} +@item +@option{profile} +@item +@option{level} +@item +@option{b} / @option{bit_rate} +@item +@option{maxrate} / @option{rc_max_rate} +@item +@option{bufsize} / @option{rc_buffer_size} +@item +@option{rc_init_occupancy} / @option{rc_initial_buffer_occupancy} +@item +@option{q} / @option{global_quality} +@item +@option{qmin} +(only: @option{qmax} is not supported) +@item +@option{i_qfactor} / @option{i_quant_factor} +@item +@option{i_qoffset} / @option{i_quant_offset} +@item +@option{b_qfactor} / @option{b_quant_factor} +@item +@option{b_qoffset} / @option{b_quant_offset} +@end itemize + +@table @option + +@item vaapi_h264 +@option{profile} sets the value of @emph{profile_idc} and the @emph{constraint_set*_flag}s. +@option{level} sets the value of @emph{level_idc}. + +@table @option +@item quality +Set the local encoding quality/speed tradeoff (range 1-8, higher values are faster; not all +systems implement all levels). +@item low_power +Use low-power encoding mode. +@end table + +@item vaapi_hevc +@option{profile} and @option{level} set the values of +@emph{general_profile_idc} and @emph{general_level_idc} respectively. + +@item vaapi_mjpeg +Always encodes using the standard quantisation and huffman tables - +@option{global_quality} scales the standard quantisation table (range 1-100). + +@item vaapi_mpeg2 +@option{profile} and @option{level} set the value of @emph{profile_and_level_indication}. + +No rate control is supported. + +@item vaapi_vp8 +B-frames are not supported. + +@option{global_quality} sets the @emph{q_idx} used for non-key frames (range 0-127). + +@table @option +@item loop_filter_level +@item loop_filter_sharpness +Manually set the loop filter parameters. +@end table + +@item vaapi_vp9 +@option{global_quality} sets the @emph{q_idx} used for P-frames (range 0-255). + +@table @option +@item loop_filter_level +@item loop_filter_sharpness +Manually set the loop filter parameters. +@end table + +B-frames are supported, but the output stream is always in encode order rather than display +order. If B-frames are enabled, it may be necessary to use the @option{vp9_raw_reorder} +bitstream filter to modify the output stream to display frames in the correct order. + +Only normal frames are produced - the @option{vp9_superframe} bitstream filter may be +required to produce a stream usable with all decoders. + +@end table + @section vc2 SMPTE VC-2 (previously BBC Dirac Pro). This codec was primarily aimed at