mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avutil/imgutils: add new function av_image_fill_color()
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
0ae8afffb4
commit
5475f665f6
@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2023-12-xx - xxxxxxxxxxx - lavu 58.33.100 - imgutils.h
|
||||
Add av_image_fill_color().
|
||||
|
||||
2023-11-08 - b82957a66a7 - lavu 58.32.100 - channel_layout.h
|
||||
Add AV_CH_LAYOUT_7POINT2POINT3 and AV_CHANNEL_LAYOUT_7POINT2POINT3.
|
||||
Add AV_CH_LAYOUT_9POINT1POINT4_BACK and AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK.
|
||||
|
@ -579,9 +579,9 @@ static void memset_bytes(uint8_t *dst, size_t dst_size, uint8_t *clear,
|
||||
// if it's a subsampled packed format).
|
||||
#define MAX_BLOCK_SIZE 32
|
||||
|
||||
static int image_fill_color(uint8_t * const dst_data[4], const ptrdiff_t dst_linesize[4],
|
||||
int av_image_fill_color(uint8_t * const dst_data[4], const ptrdiff_t dst_linesize[4],
|
||||
enum AVPixelFormat pix_fmt, const uint32_t color[4],
|
||||
int width, int height)
|
||||
int width, int height, int flags)
|
||||
{
|
||||
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
|
||||
int nb_planes = av_pix_fmt_count_planes(pix_fmt);
|
||||
@ -713,5 +713,5 @@ int av_image_fill_black(uint8_t * const dst_data[4], const ptrdiff_t dst_linesiz
|
||||
colors[c] = color;
|
||||
}
|
||||
|
||||
return image_fill_color(dst_data, dst_linesize, pix_fmt, colors, width, height);
|
||||
return av_image_fill_color(dst_data, dst_linesize, pix_fmt, colors, width, height, 0);
|
||||
}
|
||||
|
@ -339,6 +339,36 @@ int av_image_fill_black(uint8_t * const dst_data[4], const ptrdiff_t dst_linesiz
|
||||
enum AVPixelFormat pix_fmt, enum AVColorRange range,
|
||||
int width, int height);
|
||||
|
||||
/**
|
||||
* Overwrite the image data with a color. This is suitable for filling a
|
||||
* sub-rectangle of an image, meaning the padding between the right most pixel
|
||||
* and the left most pixel on the next line will not be overwritten. For some
|
||||
* formats, the image size might be rounded up due to inherent alignment.
|
||||
*
|
||||
* If the pixel format has alpha, it is also replaced. Color component values
|
||||
* are interpreted as native integers (or intfloats) regardless of actual pixel
|
||||
* format endianness.
|
||||
*
|
||||
* This can return an error if the pixel format is not supported. Normally, all
|
||||
* non-hwaccel pixel formats should be supported.
|
||||
*
|
||||
* Passing NULL for dst_data is allowed. Then the function returns whether the
|
||||
* operation would have succeeded. (It can return an error if the pix_fmt is
|
||||
* not supported.)
|
||||
*
|
||||
* @param dst_data data pointers to destination image
|
||||
* @param dst_linesize linesizes for the destination image
|
||||
* @param pix_fmt the pixel format of the image
|
||||
* @param color the color components to be used for the fill
|
||||
* @param width the width of the image in pixels
|
||||
* @param height the height of the image in pixels
|
||||
* @param flags currently unused
|
||||
* @return 0 if the image data was filled, a negative AVERROR code otherwise
|
||||
*/
|
||||
int av_image_fill_color(uint8_t * const dst_data[4], const ptrdiff_t dst_linesize[4],
|
||||
enum AVPixelFormat pix_fmt, const uint32_t color[4],
|
||||
int width, int height, int flags);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
@ -79,7 +79,7 @@
|
||||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 58
|
||||
#define LIBAVUTIL_VERSION_MINOR 32
|
||||
#define LIBAVUTIL_VERSION_MINOR 33
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user