#ifndef MEDIA_VIDEO_VIDEO_ENCODE_ACCELERATOR_H_
#define MEDIA_VIDEO_VIDEO_ENCODE_ACCELERATOR_H_
#include <stddef.h>
#include <stdint.h>
#include <memory>
#include <optional>
#include <vector>
#include "base/functional/callback_forward.h"
#include "base/memory/scoped_refptr.h"
#include "base/time/time.h"
#include "media/base/bitrate.h"
#include "media/base/encoder_status.h"
#include "media/base/media_export.h"
#include "media/base/svc_scalability_mode.h"
#include "media/base/video_bitrate_allocation.h"
#include "media/base/video_codecs.h"
#include "media/base/video_encoder.h"
#include "media/base/video_types.h"
#include "media/video/video_encoder_info.h"
#include "ui/gfx/color_space.h"
namespace media {
class BitstreamBuffer;
class MediaLog;
class VideoFrame;
struct MEDIA_EXPORT DropFrameMetadata final { … };
struct MEDIA_EXPORT H264Metadata final { … };
struct MEDIA_EXPORT H265Metadata final { … };
struct MEDIA_EXPORT Vp8Metadata final { … };
struct MEDIA_EXPORT Vp9Metadata final { … };
struct MEDIA_EXPORT Av1Metadata final { … };
struct MEDIA_EXPORT BitstreamBufferMetadata final { … };
class MEDIA_EXPORT VideoEncodeAccelerator { … };
MEDIA_EXPORT bool operator==(const VideoEncodeAccelerator::SupportedProfile& l,
const VideoEncodeAccelerator::SupportedProfile& r);
MEDIA_EXPORT bool operator==(const Vp8Metadata& l, const Vp8Metadata& r);
MEDIA_EXPORT bool operator==(const Vp9Metadata& l, const Vp9Metadata& r);
MEDIA_EXPORT bool operator==(const Av1Metadata& l, const Av1Metadata& r);
MEDIA_EXPORT bool operator==(const BitstreamBufferMetadata& l,
const BitstreamBufferMetadata& r);
MEDIA_EXPORT bool operator==(
const VideoEncodeAccelerator::Config::SpatialLayer& l,
const VideoEncodeAccelerator::Config::SpatialLayer& r);
MEDIA_EXPORT bool operator==(const VideoEncodeAccelerator::Config& l,
const VideoEncodeAccelerator::Config& r);
MEDIA_EXPORT inline VideoEncodeAccelerator::SupportedRateControlMode operator|(
VideoEncodeAccelerator::SupportedRateControlMode lhs,
VideoEncodeAccelerator::SupportedRateControlMode rhs) { … }
MEDIA_EXPORT inline VideoEncodeAccelerator::SupportedRateControlMode&
operator|=(VideoEncodeAccelerator::SupportedRateControlMode& lhs,
VideoEncodeAccelerator::SupportedRateControlMode rhs) { … }
MEDIA_EXPORT inline VideoEncodeAccelerator::SupportedRateControlMode operator&(
VideoEncodeAccelerator::SupportedRateControlMode lhs,
VideoEncodeAccelerator::SupportedRateControlMode rhs) { … }
MEDIA_EXPORT inline VideoEncodeAccelerator::SupportedRateControlMode&
operator&=(VideoEncodeAccelerator::SupportedRateControlMode& lhs,
VideoEncodeAccelerator::SupportedRateControlMode rhs) { … }
}
namespace std {
template <>
struct MEDIA_EXPORT default_delete<media::VideoEncodeAccelerator> { … };
}
#endif