libobs: Add obs_output_get_video_conversion

Need post-convert size to avoid CPU rescale.
This commit is contained in:
jpark37 2022-09-06 22:03:02 -07:00
parent 19a0afe526
commit 9ee97bba1a
3 changed files with 10 additions and 5 deletions

View file

@ -697,9 +697,10 @@ Functions used by outputs
---------------------
.. function:: void obs_output_set_video_conversion(obs_output_t *output, const struct video_scale_info *conversion)
const struct video_scale_info *obs_output_get_video_conversion(obs_output_t *output)
Optionally sets the video conversion information. Only used by raw
outputs.
Optionally sets/gets the video conversion information. Only used by
raw outputs.
Relevant data types used with this function:

View file

@ -1098,8 +1098,8 @@ static inline bool has_scaling(const struct obs_output *output)
video_height != output->scaled_height);
}
static inline struct video_scale_info *
get_video_conversion(struct obs_output *output)
const struct video_scale_info *
obs_output_get_video_conversion(struct obs_output *output)
{
if (output->video_conversion_set) {
if (!output->video_conversion.width)
@ -1966,7 +1966,7 @@ static void hook_data_capture(struct obs_output *output, bool encoded,
} else {
if (has_video)
start_raw_video(output->video,
get_video_conversion(output),
obs_output_get_video_conversion(output),
default_raw_video_callback, output);
if (has_audio)
start_raw_audio(output);

View file

@ -2194,6 +2194,10 @@ obs_output_get_supported_audio_codecs(const obs_output_t *output);
EXPORT void *obs_output_get_type_data(obs_output_t *output);
/** Gets the video conversion info. Used only for raw output */
EXPORT const struct video_scale_info *
obs_output_get_video_conversion(obs_output_t *output);
/** Optionally sets the video conversion info. Used only for raw output */
EXPORT void
obs_output_set_video_conversion(obs_output_t *output,