#ifndef MEDIA_GPU_GPU_VIDEO_ACCELERATOR_UTIL_H_
#define MEDIA_GPU_GPU_VIDEO_ACCELERATOR_UTIL_H_
#include "gpu/config/gpu_info.h"
#include "media/base/supported_video_decoder_config.h"
#include "media/gpu/media_gpu_export.h"
#include "media/video/video_decode_accelerator.h"
#include "media/video/video_encode_accelerator.h"
namespace media {
class MEDIA_GPU_EXPORT GpuVideoAcceleratorUtil {
public:
static VideoDecodeAccelerator::Capabilities
ConvertGpuToMediaDecodeCapabilities(
const gpu::VideoDecodeAcceleratorCapabilities& gpu_capabilities);
static VideoDecodeAccelerator::SupportedProfiles
ConvertGpuToMediaDecodeProfiles(
const gpu::VideoDecodeAcceleratorSupportedProfiles& gpu_profiles);
static gpu::VideoDecodeAcceleratorCapabilities
ConvertMediaToGpuDecodeCapabilities(
const VideoDecodeAccelerator::Capabilities& media_capabilities);
static gpu::VideoDecodeAcceleratorSupportedProfiles
ConvertMediaToGpuDecodeProfiles(
const VideoDecodeAccelerator::SupportedProfiles& media_profiles);
static gpu::VideoDecodeAcceleratorSupportedProfiles
ConvertMediaConfigsToGpuDecodeProfiles(
const SupportedVideoDecoderConfigs& configs);
static VideoEncodeAccelerator::SupportedProfiles
ConvertGpuToMediaEncodeProfiles(
const gpu::VideoEncodeAcceleratorSupportedProfiles& gpu_profiles);
static gpu::VideoEncodeAcceleratorSupportedProfiles
ConvertMediaToGpuEncodeProfiles(
const VideoEncodeAccelerator::SupportedProfiles& media_profiles);
static void InsertUniqueDecodeProfiles(
const VideoDecodeAccelerator::SupportedProfiles& new_profiles,
VideoDecodeAccelerator::SupportedProfiles* media_profiles);
static void InsertUniqueEncodeProfiles(
const VideoEncodeAccelerator::SupportedProfiles& new_profiles,
VideoEncodeAccelerator::SupportedProfiles* media_profiles);
};
}
#endif