mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
Implement av_get_bits_per_pixel().
Originally committed as revision 18709 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
859471565a
commit
5efccce2a9
@ -581,3 +581,16 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
|
|||||||
.flags = PIX_FMT_BE,
|
.flags = PIX_FMT_BE,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
|
||||||
|
{
|
||||||
|
int c, bits = 0;
|
||||||
|
int log2_pixels = pixdesc->log2_chroma_w + pixdesc->log2_chroma_h;
|
||||||
|
|
||||||
|
for (c = 0; c < pixdesc->nb_channels; c++) {
|
||||||
|
int s = c==1 || c==2 ? 0 : log2_pixels;
|
||||||
|
bits += (pixdesc->comp[c].depth_minus1+1) << s;
|
||||||
|
}
|
||||||
|
|
||||||
|
return bits >> log2_pixels;
|
||||||
|
}
|
||||||
|
@ -193,4 +193,14 @@ static inline void write_line(const uint16_t *src, uint8_t *data[4], const int l
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the number of bits per pixel used by the pixel format
|
||||||
|
* described by pixdesc.
|
||||||
|
*
|
||||||
|
* The returned number of bits refers to the number of bits actually
|
||||||
|
* used for storing the pixel information, that is padding bits are
|
||||||
|
* not counted.
|
||||||
|
*/
|
||||||
|
int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc);
|
||||||
|
|
||||||
#endif /* AVCODEC_PIXDESC_H */
|
#endif /* AVCODEC_PIXDESC_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user