mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-03-27 07:58:16 -04:00
vulkan: Add videoconvert plugin
This commit is contained in:
parent
66792c1e77
commit
9f45238a8c
4 changed files with 1308 additions and 0 deletions
|
|
@ -138,6 +138,10 @@ extern "C" {
|
||||||
"api.vulkan.blit.filter" /**< a vulkan blit filter. */
|
"api.vulkan.blit.filter" /**< a vulkan blit filter. */
|
||||||
#define SPA_NAME_API_VULKAN_BLIT_DSP_FILTER \
|
#define SPA_NAME_API_VULKAN_BLIT_DSP_FILTER \
|
||||||
"api.vulkan.blit.dsp-filter" /**< a vulkan blit dsp-filter. */
|
"api.vulkan.blit.dsp-filter" /**< a vulkan blit dsp-filter. */
|
||||||
|
#define SPA_NAME_API_VULKAN_VIDEO_CONVERT \
|
||||||
|
"api.vulkan.videoconvert" /**< converts raw video from one format
|
||||||
|
* to another using vulkan. Must
|
||||||
|
* include at least format and scaling */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \}
|
* \}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ spa_vulkan_sources = [
|
||||||
'vulkan-compute-filter.c',
|
'vulkan-compute-filter.c',
|
||||||
'vulkan-compute-source.c',
|
'vulkan-compute-source.c',
|
||||||
'vulkan-compute-utils.c',
|
'vulkan-compute-utils.c',
|
||||||
|
'videoconvert-vulkan.c',
|
||||||
'vulkan-blit-filter.c',
|
'vulkan-blit-filter.c',
|
||||||
'vulkan-blit-dsp-filter.c',
|
'vulkan-blit-dsp-filter.c',
|
||||||
'vulkan-blit-utils.c',
|
'vulkan-blit-utils.c',
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ extern const struct spa_handle_factory spa_vulkan_compute_filter_factory;
|
||||||
extern const struct spa_handle_factory spa_vulkan_compute_source_factory;
|
extern const struct spa_handle_factory spa_vulkan_compute_source_factory;
|
||||||
extern const struct spa_handle_factory spa_vulkan_blit_filter_factory;
|
extern const struct spa_handle_factory spa_vulkan_blit_filter_factory;
|
||||||
extern const struct spa_handle_factory spa_vulkan_blit_dsp_filter_factory;
|
extern const struct spa_handle_factory spa_vulkan_blit_dsp_filter_factory;
|
||||||
|
extern const struct spa_handle_factory spa_videoconvert_vulkan_factory;
|
||||||
|
|
||||||
SPA_EXPORT
|
SPA_EXPORT
|
||||||
int spa_handle_factory_enum(const struct spa_handle_factory **factory, uint32_t *index)
|
int spa_handle_factory_enum(const struct spa_handle_factory **factory, uint32_t *index)
|
||||||
|
|
@ -30,6 +31,9 @@ int spa_handle_factory_enum(const struct spa_handle_factory **factory, uint32_t
|
||||||
case 3:
|
case 3:
|
||||||
*factory = &spa_vulkan_blit_dsp_filter_factory;
|
*factory = &spa_vulkan_blit_dsp_filter_factory;
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
*factory = &spa_videoconvert_vulkan_factory;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1299
spa/plugins/vulkan/videoconvert-vulkan.c
Normal file
1299
spa/plugins/vulkan/videoconvert-vulkan.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue