diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-09-26 16:08:26 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-09-26 16:08:26 +0200 |
commit | 1aaa26d87e539c1f3cef2052f6f47960f7d2c303 (patch) | |
tree | 1b5402270dbd8097f87e14543a41bdd7ccae9ef7 /include | |
parent | 0b20a46e58d376d00b292b15826a6b0fb17fc00a (diff) |
Move codec query from encoder to separate file
Diffstat (limited to 'include')
-rw-r--r-- | include/codec_query/codec_query.h | 18 | ||||
-rw-r--r-- | include/codec_query/cuda.h | 8 | ||||
-rw-r--r-- | include/codec_query/vaapi.h | 8 | ||||
-rw-r--r-- | include/encoder/video/video.h | 14 |
4 files changed, 34 insertions, 14 deletions
diff --git a/include/codec_query/codec_query.h b/include/codec_query/codec_query.h new file mode 100644 index 0000000..7d5a292 --- /dev/null +++ b/include/codec_query/codec_query.h @@ -0,0 +1,18 @@ +#ifndef GSR_CODEC_QUERY_H +#define GSR_CODEC_QUERY_H + +#include <stdbool.h> + +typedef struct { + bool h264; + bool hevc; + bool hevc_hdr; + bool hevc_10bit; + bool av1; + bool av1_hdr; + bool av1_10bit; + bool vp8; + bool vp9; +} gsr_supported_video_codecs; + +#endif /* GSR_CODEC_QUERY_H */ diff --git a/include/codec_query/cuda.h b/include/codec_query/cuda.h new file mode 100644 index 0000000..b57c4ee --- /dev/null +++ b/include/codec_query/cuda.h @@ -0,0 +1,8 @@ +#ifndef GSR_CODEC_QUERY_CUDA_H +#define GSR_CODEC_QUERY_CUDA_H + +#include "codec_query.h" + +bool gsr_get_supported_video_codecs_nvenc(gsr_supported_video_codecs *video_codecs, bool cleanup); + +#endif /* GSR_CODEC_QUERY_CUDA_H */ diff --git a/include/codec_query/vaapi.h b/include/codec_query/vaapi.h new file mode 100644 index 0000000..60bdeca --- /dev/null +++ b/include/codec_query/vaapi.h @@ -0,0 +1,8 @@ +#ifndef GSR_CODEC_QUERY_VAAPI_H +#define GSR_CODEC_QUERY_VAAPI_H + +#include "codec_query.h" + +bool gsr_get_supported_video_codecs_vaapi(gsr_supported_video_codecs *video_codecs, const char *card_path, bool cleanup); + +#endif /* GSR_CODEC_QUERY_VAAPI_H */ diff --git a/include/encoder/video/video.h b/include/encoder/video/video.h index 899357a..21338d6 100644 --- a/include/encoder/video/video.h +++ b/include/encoder/video/video.h @@ -8,20 +8,7 @@ typedef struct gsr_video_encoder gsr_video_encoder; typedef struct AVCodecContext AVCodecContext; typedef struct AVFrame AVFrame; -typedef struct { - bool h264; - bool hevc; - bool hevc_hdr; - bool hevc_10bit; - bool av1; - bool av1_hdr; - bool av1_10bit; - bool vp8; - bool vp9; -} gsr_supported_video_codecs; - struct gsr_video_encoder { - gsr_supported_video_codecs (*get_supported_codecs)(gsr_video_encoder *encoder, bool cleanup); bool (*start)(gsr_video_encoder *encoder, AVCodecContext *video_codec_context, AVFrame *frame); void (*copy_textures_to_frame)(gsr_video_encoder *encoder, AVFrame *frame); /* Can be NULL */ /* |textures| should be able to fit 2 elements */ @@ -32,7 +19,6 @@ struct gsr_video_encoder { bool started; }; -gsr_supported_video_codecs gsr_video_encoder_get_supported_codecs(gsr_video_encoder *encoder, bool cleanup); bool gsr_video_encoder_start(gsr_video_encoder *encoder, AVCodecContext *video_codec_context, AVFrame *frame); void gsr_video_encoder_copy_textures_to_frame(gsr_video_encoder *encoder, AVFrame *frame); void gsr_video_encoder_get_textures(gsr_video_encoder *encoder, unsigned int *textures, int *num_textures, gsr_destination_color *destination_color); |