blob: d1e6634354b87a0736b02db1da36cd30d9070f6a [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/ozone.gni")
declare_args() {
# Indicates if X11 VA-API-based hardware acceleration is to be used.
# See also the comment near the |use_vaapi| arg.
use_vaapi_x11 =
is_linux && ozone_platform_x11 && !is_chromecast && !is_chromeos_lacros &&
(target_cpu == "x86" || target_cpu == "x64")
}
declare_args() {
# Indicates if V4L plugin is used.
use_v4lplugin = false
# Indicates if Video4Linux2 codec is used. This is used for all CrOS
# platforms which have v4l2 hardware encoder / decoder.
use_v4l2_codec = false
# Indicates if Video4Linux2 AML encoder is used. This is used for AML
# platforms which have v4l2 hardware encoder
use_v4l2_codec_aml = false
# Indicates if VA-API-based hardware acceleration is to be used. This
# is typically the case on x86-based ChromeOS devices.
# VA-API should also be compiled by default on x11-using linux devices
# using x86/x64.
use_vaapi = use_vaapi_x11 || (is_chromeos_lacros &&
(target_cpu == "x86" || target_cpu == "x64"))
# Indicates if ChromeOS protected media support exists. This is used
# to enable the CDM daemon in Chrome OS as well as support for
# encrypted content with HW video decoders.
# TODO(jkardatzke): Enable this for Lacros always, it is determined at runtime
# in that configuration.
use_chromeos_protected_media = false
# Indicates if ChromeOS protected media supports the AV1 codec. By default
# H.264, VP9 and HEVC are enabled if protected media is enabled; AV1 is
# optional.
use_chromeos_protected_av1 = false
}
if (use_chromeos_protected_av1) {
assert(
use_chromeos_protected_media,
"use_chromeos_protected_media must be set if use_chromeos_protected_av1 is")
}
# GN requires args that depend on other args to be declared in successive
# declare_args() blocks.
declare_args() {
# VA-API also allows decoding of images, but we don't want to use this
# outside of chromeos, even if video decoding is enabled.
use_vaapi_image_codecs = use_vaapi && is_chromeos_ash
}