Skip to content

Instantly share code, notes, and snippets.

//
// Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
Encoder hevc_amf [AMD AMF HEVC encoder]:
General capabilities: dr1 delay hardware
Threading capabilities: none
Supported hardware devices: d3d11va d3d11va dxva2 dxva2
Supported pixel formats: nv12 yuv420p d3d11 dxva2_vld
hevc_amf AVOptions:
-usage <int> E..V....... Set the encoding usage (from 0 to 3) (default transcoding)
transcoding 0 E..V.......
ultralowlatency 1 E..V.......
lowlatency 2 E..V.......
Encoder h264_amf [AMD AMF H.264 Encoder]:
General capabilities: dr1 delay hardware
Threading capabilities: none
Supported hardware devices: d3d11va d3d11va dxva2 dxva2
Supported pixel formats: nv12 yuv420p d3d11 dxva2_vld
h264_amf AVOptions:
-usage <int> E..V....... Encoder Usage (from 0 to 3) (default transcoding)
transcoding 0 E..V....... Generic Transcoding
ultralowlatency 1 E..V.......
lowlatency 2 E..V.......
//
// Notice Regarding Standards. AMD does not provide a license or sublicense to
// any Intellectual Property Rights relating to any standards, including but not
// limited to any audio and/or video codec technologies such as MPEG-2, MPEG-4;
// AVC/H.264; HEVC/H.265; AAC decode/FFMPEG; AAC encode/FFMPEG; VC-1; and MP3
// (collectively, the "Media Technologies"). For clarity, you will pay any
// royalties due for such third party technologies, which may include the Media
// Technologies that are owed as a result of AMD providing the Software to you.
//
// MIT license
# ffmpeg -h encoder=h264_nvenc
Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:
General capabilities: dr1 delay hardware
Threading capabilities: none
Supported hardware devices: cuda cuda d3d11va d3d11va
Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 bgra rgb0 rgba x2rgb10le x2bgr10le gbrp gbrp16le cuda d3d11
h264_nvenc AVOptions:
-preset <int> E..V....... Set the encoding preset (from 0 to 18) (default p4)
default 0 E..V.......
slow 1 E..V....... hq 2 passes
@sandr1x
sandr1x / hevc_nvenc
Last active February 26, 2024 12:40
ffmpeg -h encoder=hevc_nvenc
hevc_nvenc AVOptions:
-preset <int> E..V....... Set the encoding preset (from 0 to 18) (default p4)
default 0 E..V.......
slow 1 E..V....... hq 2 passes
medium 2 E..V....... hq 1 pass
fast 3 E..V....... hp 1 pass
hp 4 E..V.......
hq 5 E..V.......
bd 6 E..V.......
ll 7 E..V....... low latency
@sandr1x
sandr1x / libaom-av1
Last active February 26, 2024 12:40
ffmpeg -h encoder=av1
Encoder libaom-av1 [libaom AV1]:
General capabilities: delay threads
Threading capabilities: other
Supported pixel formats: yuv420p yuv422p yuv444p gbrp yuv420p10le yuv422p10le yuv444p10le yuv420p12le yuv422p12le yuv444p12le gbrp10le gbrp12le gray gray10le gray12le
libaom-av1 encoder AVOptions:
-cpu-used <int> E..V....... Quality/Speed ratio modifier (from 0 to 8) (default 1)
-auto-alt-ref <int> E..V....... Enable use of alternate reference frames (2-pass only) (from -1 to 2) (default -1)
-lag-in-frames <int> E..V....... Number of frames to look ahead at for alternate reference frame selection (from -1 to INT_MAX) (default -1)
-arnr-max-frames <int> E..V....... altref noise reduction max frame count (from -1 to INT_MAX) (default -1)
-arnr-strength <int> E..V....... altref noise reduction filter strength (from -1 to 6) (default -1)
@sandr1x
sandr1x / libsvtav1
Last active February 26, 2024 12:39
ffmpeg -h encoder=libsvtav1
libsvtav1 AVOptions:
-hielevel <int> E..V....... Hierarchical prediction levels setting (from 3 to 4) (default 4level)
3level 3 E..V.......
4level 4 E..V.......
-la_depth <int> E..V....... Look ahead distance [0, 120] (from -1 to 120) (default -1)
-preset <int> E..V....... Encoding preset [0, 8] (from 0 to 8) (default 8)
-tier <int> E..V....... Set operating point tier (from 0 to 1) (default main)
main 0 E..V.......
high 1 E..V.......
-rc <int> E..V....... Bit rate control mode (from 0 to 3) (default cqp)
@sandr1x
sandr1x / libx264
Last active February 26, 2024 12:39
ffmpeg -h encoder=libx264
libx264 AVOptions:
-preset <string> E..V....... Set the encoding preset (cf. x264 --fullhelp) (default "medium")
-tune <string> E..V....... Tune the encoding params (cf. x264 --fullhelp)
-profile <string> E..V....... Set profile restrictions (cf. x264 --fullhelp)
-fastfirstpass <boolean> E..V....... Use fast settings when encoding first pass (default true)
-level <string> E..V....... Specify level (as defined by Annex A)
-passlogfile <string> E..V....... Filename for 2 pass stats
-wpredp <string> E..V....... Weighted prediction for P-frames
-a53cc <boolean> E..V....... Use A53 Closed Captions (if available) (default true)
-x264opts <string> E..V....... x264 options
@sandr1x
sandr1x / h264_qsv ffmpeg
Last active February 26, 2024 12:36
ffmpeg -h encoder=h264_qsv
264_qsv encoder AVOptions:
-async_depth <int> E..V....... Maximum processing parallelism (from 1 to INT_MAX) (default 4)
-avbr_accuracy <int> E..V....... Accuracy of the AVBR ratecontrol (from 0 to INT_MAX) (default 0)
-avbr_convergence <int> E..V....... Convergence of the AVBR ratecontrol (from 0 to INT_MAX) (default 0)
-preset <int> E..V....... (from 1 to 7) (default medium)
veryfast 7 E..V.......
faster 6 E..V.......
fast 5 E..V.......
medium 4 E..V.......
slow 3 E..V.......