mirror of
https://github.com/mpv-player/mpv
synced 2024-10-22 08:51:57 +02:00
gl_hwdec: use a imgfmt field instead of a query_format callback
Now that vdpau always uses a single image format, this can be simplified.
This commit is contained in:
parent
2a316c3506
commit
9edc2dbcf3
@ -182,8 +182,8 @@ struct gl_hwdec {
|
||||
struct gl_hwdec_driver {
|
||||
// Same name as used by mp_hwdec_info->load_api()
|
||||
const char *api_name;
|
||||
// Test whether the given IMGFMT_ is supported.
|
||||
bool (*query_format)(int imgfmt);
|
||||
// The hardware surface IMGFMT_ that must be passed to map_image later.
|
||||
int imgfmt;
|
||||
// Create the hwdec device. It must fill in hw->info, if applicable.
|
||||
// This also must set hw->converted_imgfmt.
|
||||
int (*create)(struct gl_hwdec *hw);
|
||||
|
@ -35,11 +35,6 @@ struct priv {
|
||||
void *vaglx_surface;
|
||||
};
|
||||
|
||||
static bool query_format(int imgfmt)
|
||||
{
|
||||
return imgfmt == IMGFMT_VAAPI;
|
||||
}
|
||||
|
||||
static void destroy_texture(struct gl_hwdec *hw)
|
||||
{
|
||||
struct priv *p = hw->priv;
|
||||
@ -131,7 +126,7 @@ static void unmap_image(struct gl_hwdec *hw)
|
||||
|
||||
const struct gl_hwdec_driver gl_hwdec_vaglx = {
|
||||
.api_name = "vaapi",
|
||||
.query_format = query_format,
|
||||
.imgfmt = IMGFMT_VAAPI,
|
||||
.create = create,
|
||||
.reinit = reinit,
|
||||
.map_image = map_image,
|
||||
|
@ -40,11 +40,6 @@ struct priv {
|
||||
VdpVideoMixer video_mixer;
|
||||
};
|
||||
|
||||
static bool query_format(int imgfmt)
|
||||
{
|
||||
return imgfmt == IMGFMT_VDPAU;
|
||||
}
|
||||
|
||||
static void mark_vdpau_objects_uninitialized(struct gl_hwdec *hw)
|
||||
{
|
||||
struct priv *p = hw->priv;
|
||||
@ -253,7 +248,7 @@ static void unmap_image(struct gl_hwdec *hw)
|
||||
|
||||
const struct gl_hwdec_driver gl_hwdec_vdpau = {
|
||||
.api_name = "vdpau",
|
||||
.query_format = query_format,
|
||||
.imgfmt = IMGFMT_VDPAU,
|
||||
.create = create,
|
||||
.reinit = reinit,
|
||||
.map_image = map_image,
|
||||
|
@ -1948,7 +1948,7 @@ static bool init_format(int fmt, struct gl_video *init)
|
||||
init = &dummy;
|
||||
|
||||
init->hwdec_active = false;
|
||||
if (init->hwdec && init->hwdec->driver->query_format(fmt)) {
|
||||
if (init->hwdec && init->hwdec->driver->imgfmt == fmt) {
|
||||
fmt = init->hwdec->converted_imgfmt;
|
||||
init->hwdec_active = true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user