Sunshine master
Self-hosted game stream host for Moonlight.
vulkan_encode.h
Go to the documentation of this file.
1
5#pragma once
6
8
9extern "C" struct AVBufferRef;
10
11namespace vk {
12
19 int vulkan_init_avcodec_hardware_input_buffer(platf::avcodec_encode_device_t *encode_device, AVBufferRef **hw_device_buf);
20
24 std::unique_ptr<platf::avcodec_encode_device_t> make_avcodec_encode_device_ram(int width, int height);
25
29 std::unique_ptr<platf::avcodec_encode_device_t> make_avcodec_encode_device_vram(int width, int height, int offset_x, int offset_y);
30
34 bool validate();
35
36} // namespace vk
Declarations for common platform specific utilities.
Definition common.h:413
std::unique_ptr< platf::avcodec_encode_device_t > make_avcodec_encode_device_ram(int, int)
Create a Vulkan encode device for RAM capture.
Definition vulkan_encode.cpp:1047
int vulkan_init_avcodec_hardware_input_buffer(platf::avcodec_encode_device_t *, AVBufferRef **hw_device_buf)
Initialize Vulkan hardware device for FFmpeg encoding.
Definition vulkan_encode.cpp:1023
std::unique_ptr< platf::avcodec_encode_device_t > make_avcodec_encode_device_vram(int w, int h, int offset_x, int offset_y)
Create a Vulkan encode device for VRAM capture.
Definition vulkan_encode.cpp:1039