mirror of
https://github.com/mpv-player/mpv
synced 2025-01-14 02:51:26 +00:00
video: get hwaccel flag from pixdesc
This commit is contained in:
parent
5e9dfe932f
commit
ffe9c03502
@ -121,7 +121,8 @@ static struct mp_imgfmt_desc mp_only_imgfmt_desc(int mpfmt)
|
||||
return (struct mp_imgfmt_desc) {
|
||||
.id = mpfmt,
|
||||
.avformat = AV_PIX_FMT_NONE,
|
||||
.flags = MP_IMGFLAG_BE | MP_IMGFLAG_LE | MP_IMGFLAG_RGB,
|
||||
.flags = MP_IMGFLAG_BE | MP_IMGFLAG_LE | MP_IMGFLAG_RGB |
|
||||
MP_IMGFLAG_HWACCEL,
|
||||
};
|
||||
}
|
||||
return (struct mp_imgfmt_desc) {0};
|
||||
@ -224,6 +225,9 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
|
||||
if ((desc.bpp[0] % 8) != 0)
|
||||
desc.align_x = 8 / desc.bpp[0]; // expect power of 2
|
||||
|
||||
if (pd->flags & AV_PIX_FMT_FLAG_HWACCEL)
|
||||
desc.flags |= MP_IMGFLAG_HWACCEL;
|
||||
|
||||
return desc;
|
||||
}
|
||||
|
||||
|
@ -64,6 +64,8 @@
|
||||
// The only real paletted format we support is IMGFMT_PAL8, so check for that
|
||||
// format directly if you want an actual paletted format.
|
||||
#define MP_IMGFLAG_PAL 0x8000
|
||||
// planes don't contain real data; planes[3] contains an API-specific pointer
|
||||
#define MP_IMGFLAG_HWACCEL 0x10000
|
||||
|
||||
// Exactly one of these bits is set in mp_imgfmt_desc.flags
|
||||
#define MP_IMGFLAG_COLOR_CLASS_MASK \
|
||||
@ -330,10 +332,7 @@ static inline bool IMGFMT_IS_RGB(int fmt)
|
||||
}
|
||||
|
||||
#define IMGFMT_RGB_DEPTH(fmt) (mp_imgfmt_get_desc(fmt).plane_bits)
|
||||
|
||||
#define IMGFMT_IS_HWACCEL(fmt) \
|
||||
((fmt) == IMGFMT_VDPAU || (fmt) == IMGFMT_VDPAU_OUTPUT || \
|
||||
(fmt) == IMGFMT_VAAPI || (fmt) == IMGFMT_VDA || (fmt) == IMGFMT_DXVA2)
|
||||
#define IMGFMT_IS_HWACCEL(fmt) (mp_imgfmt_get_desc(fmt).flags & MP_IMGFLAG_HWACCEL)
|
||||
|
||||
int mp_imgfmt_from_name(bstr name, bool allow_hwaccel);
|
||||
char *mp_imgfmt_to_name_buf(char *buf, size_t buf_size, int fmt);
|
||||
|
Loading…
Reference in New Issue
Block a user