X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=shared%2Fva_display.h;fp=shared%2Fva_display.h;h=5809b65c3328596df2a04018cb85d5ad3a4817cb;hp=395ecbb5f1f007412e2605440bb1a59c88502d83;hb=0c7201c2d136870ea8c5fe205bee21207369312c;hpb=1a7e004368f4f5221e91bf53e17a8c0f7e1ceeb8 diff --git a/shared/va_display.h b/shared/va_display.h index 395ecbb..5809b65 100644 --- a/shared/va_display.h +++ b/shared/va_display.h @@ -5,7 +5,8 @@ #include #include -#include +#include +#include struct VADisplayWithCleanup { ~VADisplayWithCleanup(); @@ -15,6 +16,17 @@ struct VADisplayWithCleanup { bool can_use_zerocopy = true; // For H.264 encoding in Nageru. int drm_fd = -1; }; -std::unique_ptr va_open_display(const std::string &va_display); // Can return nullptr on failure. + +struct ConfigRequest { + std::string name; // For error texts only. + uint32_t rt_format, fourcc; + + // Output. + VAConfigID *config_id; + VAImageFormat *image_format; +}; +std::unique_ptr try_open_va( + const std::string &va_display, const std::vector &desired_profiles, VAEntrypoint entrypoint, + const std::vector &desired_configs, VAProfile *chosen_profile, std::string *error); // Can return nullptr on failure. #endif // !defined(_VA_DISPLAY_H)