moq-vaapi 0.0.2

(AI GENERATED) VA-API H.264 hardware encoder, derived from discord/cros-libva + discord/cros-codecs
// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

use bitflags::bitflags;

use crate::bindings;

bitflags! {
	/// Gives the driver a hint of intended usage to optimize allocation (e.g. tiling).
	#[derive(Debug, Clone, Copy)]
	pub struct UsageHint: u32 {
		/// Surface used by video decoder.
		const USAGE_HINT_DECODER = bindings::VA_SURFACE_ATTRIB_USAGE_HINT_DECODER;
		/// Surface used by video encoder.
		const USAGE_HINT_ENCODER = bindings::VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER;
		/// Surface read by video post-processing.
		const USAGE_HINT_VPP_READ = bindings::VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ;
		/// Surface written by video post-processing.
		const USAGE_HINT_VPP_WRITE = bindings::VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE;
		/// Surface used for display.
		const USAGE_HINT_DISPLAY = bindings::VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY;
		/// Surface used for export to third-party APIs, e.g. via `vaExportSurfaceHandle()`.
		const USAGE_HINT_EXPORT = bindings::VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT;
	}
}