From dfe2b176487ee7937aec7ef3b9134ff7fa97dfa1 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 29 Aug 2024 22:22:46 +0200 Subject: Prepare for video codec query, cleanup readme, add libva-drm as dependency --- src/encoder/video/cuda.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/encoder/video/cuda.c') 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, -- cgit v1.2.3