#ifndef MEDIA_RENDERERS_VIDEO_FRAME_RGBA_TO_YUVA_CONVERTER_H_
#define MEDIA_RENDERERS_VIDEO_FRAME_RGBA_TO_YUVA_CONVERTER_H_
#include <optional>
#include "base/memory/scoped_refptr.h"
#include "media/base/media_export.h"
#include "third_party/skia/include/gpu/ganesh/GrTypes.h"
namespace gfx {
class Size;
}
namespace gpu {
class ClientSharedImage;
struct SyncToken;
}
namespace viz {
class RasterContextProvider;
}
namespace media {
class VideoFrame;
MEDIA_EXPORT std::optional<gpu::SyncToken> CopyRGBATextureToVideoFrame(
viz::RasterContextProvider* raster_context_provider,
const gfx::Size& src_size,
scoped_refptr<gpu::ClientSharedImage> src_shared_image,
const gpu::SyncToken& acquire_sync_token,
VideoFrame* dst_video_frame);
}
#endif