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:
parent
8f22aefae1
commit
2525aa3393
@ -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];
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user