aboutsummaryrefslogtreecommitdiff
path: root/src/encoder/video/cuda.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/encoder/video/cuda.c')
-rw-r--r--src/encoder/video/cuda.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/encoder/video/cuda.c b/src/encoder/video/cuda.c
index 4142e97..53abe78 100644
--- a/src/encoder/video/cuda.c
+++ b/src/encoder/video/cuda.c
@@ -122,6 +122,24 @@ static bool gsr_video_encoder_cuda_setup_textures(gsr_video_encoder_cuda *self,
return true;
}
+static gsr_supported_video_codecs gsr_video_encoder_cuda_get_supported_codecs(gsr_video_encoder *encoder, bool cleanup) {
+ (void)encoder;
+ (void)cleanup;
+ //gsr_video_encoder_cuda *encoder_cuda = encoder->priv;
+ // TODO: Query support
+ return (gsr_supported_video_codecs) {
+ .h264 = true,
+ .hevc = true,
+ .hevc_hdr = true,
+ .hevc_10bit = true,
+ .av1 = true,
+ .av1_hdr = true,
+ .av1_10bit = true,
+ .vp8 = false,
+ .vp9 = false
+ };
+}
+
static void gsr_video_encoder_cuda_stop(gsr_video_encoder_cuda *self, AVCodecContext *video_codec_context);
static bool gsr_video_encoder_cuda_start(gsr_video_encoder *encoder, AVCodecContext *video_codec_context, AVFrame *frame) {
@@ -225,6 +243,7 @@ gsr_video_encoder* gsr_video_encoder_cuda_create(const gsr_video_encoder_cuda_pa
encoder_cuda->params = *params;
*encoder = (gsr_video_encoder) {
+ .get_supported_codecs = gsr_video_encoder_cuda_get_supported_codecs,
.start = gsr_video_encoder_cuda_start,
.copy_textures_to_frame = gsr_video_encoder_cuda_copy_textures_to_frame,
.get_textures = gsr_video_encoder_cuda_get_textures,