aboutsummaryrefslogtreecommitdiff
path: root/src/encoder/video/software.c
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-08-29 22:22:46 +0200
committerdec05eba <dec05eba@protonmail.com>2024-08-29 22:22:46 +0200
commitdfe2b176487ee7937aec7ef3b9134ff7fa97dfa1 (patch)
tree6b885bb37d8088c3c35d870a2897bff086cf2860 /src/encoder/video/software.c
parent1b356677ea281a10f89eb21365d7182ae6019360 (diff)
Prepare for video codec query, cleanup readme, add libva-drm as dependency
Diffstat (limited to 'src/encoder/video/software.c')
-rw-r--r--src/encoder/video/software.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/encoder/video/software.c b/src/encoder/video/software.c
index 192be17..89b2cf0 100644
--- a/src/encoder/video/software.c
+++ b/src/encoder/video/software.c
@@ -58,6 +58,22 @@ static bool gsr_video_encoder_software_setup_textures(gsr_video_encoder_software
return true;
}
+static gsr_supported_video_codecs gsr_video_encoder_software_get_supported_codecs(gsr_video_encoder *encoder, bool cleanup) {
+ (void)encoder;
+ (void)cleanup;
+ return (gsr_supported_video_codecs) {
+ .h264 = true,
+ .hevc = false,
+ .hevc_hdr = false,
+ .hevc_10bit = false,
+ .av1 = false,
+ .av1_hdr = false,
+ .av1_10bit = false,
+ .vp8 = false,
+ .vp9 = false
+ };
+}
+
static void gsr_video_encoder_software_stop(gsr_video_encoder_software *self, AVCodecContext *video_codec_context);
static bool gsr_video_encoder_software_start(gsr_video_encoder *encoder, AVCodecContext *video_codec_context, AVFrame *frame) {
@@ -126,6 +142,7 @@ gsr_video_encoder* gsr_video_encoder_software_create(const gsr_video_encoder_sof
encoder_software->params = *params;
*encoder = (gsr_video_encoder) {
+ .get_supported_codecs = gsr_video_encoder_software_get_supported_codecs,
.start = gsr_video_encoder_software_start,
.copy_textures_to_frame = gsr_video_encoder_software_copy_textures_to_frame,
.get_textures = gsr_video_encoder_software_get_textures,