1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-25 00:53:22 +00:00

img_format: expose another helper

This commit is contained in:
wm4 2020-05-21 02:29:05 +02:00
parent 8f22aefae1
commit 2525aa3393
2 changed files with 6 additions and 2 deletions

View File

@ -528,8 +528,9 @@ static bool get_native_desc(int mpfmt, struct mp_imgfmt_desc *desc)
return true;
}
static int num_comps(int flags)
int mp_imgfmt_desc_get_num_comps(struct mp_imgfmt_desc *desc)
{
int flags = desc->flags;
if (!(flags & MP_IMGFLAG_COLOR_MASK))
return 0;
return 3 + (flags & MP_IMGFLAG_GRAY ? -2 : 0) + !!(flags & MP_IMGFLAG_ALPHA);
@ -577,7 +578,7 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
&& (desc.flags & MP_IMGFLAG_BYTES)
&& ((desc.flags & MP_IMGFLAG_TYPE_MASK) == MP_IMGFLAG_TYPE_UINT))
{
int cnt = num_comps(desc.flags);
int cnt = mp_imgfmt_desc_get_num_comps(&desc);
bool same_depth = true;
for (int p = 0; p < desc.num_planes; p++)
same_depth &= desc.bpp[p] == desc.bpp[0];

View File

@ -151,6 +151,9 @@ struct mp_imgfmt_desc {
struct mp_imgfmt_desc mp_imgfmt_get_desc(int imgfmt);
// Return the number of component types, or 0 if unknown.
int mp_imgfmt_desc_get_num_comps(struct mp_imgfmt_desc *desc);
// For MP_IMGFLAG_PACKED_SS_YUV formats (packed sub-sampled YUV): positions of
// further luma samples. luma_offsets must be an array of align_x size, and the
// function will return the offset (like in mp_imgfmt_comp_desc.offset) of each