From owner-freebsd-multimedia@freebsd.org Wed Feb 20 22:56:58 2019 Return-Path: Delivered-To: freebsd-multimedia@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC73614DFFDC for ; Wed, 20 Feb 2019 22:56:58 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 15D17737C9; Wed, 20 Feb 2019 22:56:58 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1354) id 8B6C61D8A0; Wed, 20 Feb 2019 22:56:57 +0000 (UTC) From: Jan Beich To: Cc: Subject: Re: FFmpeg hardware transcoding References: <005401d4c957$c6bbc840$543358c0$@gmail.com> Date: Wed, 20 Feb 2019 23:56:54 +0100 In-Reply-To: <005401d4c957$c6bbc840$543358c0$@gmail.com> (driesm michiels's message of "Wed, 20 Feb 2019 21:06:32 +0100") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 15D17737C9 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; TAGGED_RCPT(0.00)[]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_SHORT(-0.97)[-0.969,0]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-0.995,0] X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2019 22:56:59 -0000 writes: > What is the minimum requirements for being able to utilize quick sync on my > intel chip for ffmpeg hardware transcoding? I don't configure my system(s) daily to remember such things. ;) Quick Sync Video is exposed via MediaSDK (high-level) and libva (low-level). MediaSDK hasn't been ported yet but media-driver (its backend) has. FFmpeg and GStreamer support both MediaSDK and libva. > 1. DRM module loaded > 2. Correct permission for the application on /dev/dri/renderD128 > 3. FFmpeg build with libva support (VAAPI on) 4. Either libva-intel-driver or libva-intel-media-driver > Are there any more I am missing? Probably not. Try and report your issues. > I saw another driver in ports as "multimedia/libva-intel-media-driver"? Try both. ;) Some examples from https://trac.ffmpeg.org/wiki/Hardware/VAAPI don't work on iHD e.g., "Burn subtitles into the video while transcoding". i965 (libva-intel-driver) advantages: - VP8 encoding on Skylake - Partial VP8 encoding on Haswell/Broadwell - Partial VP9 decoding on Haswell/Broadwell/Skylake - H264 encoding profiles for Multiview and Stereo iHD (libva-intel-media-driver) advantages: - Decoding on console framebuffer (e.g, mpv --gpu-context=drm) - Better encoding performance (even without MediaSDK) - FEI (Flexible Encoding Infrastructure) for HEVC - JIT (Just-In-Time) compilation of media kernels (needs intel-graphics-compiler) - Icelake support (and maybe Xe in future) - Actively developed upstream