mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avfilter/vf_thumbnail: add support for rest of packed rgb formats
This commit is contained in:
parent
3b65c848a6
commit
a773455c4f
@ -157,6 +157,32 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
|
||||
p += frame->linesize[0];
|
||||
}
|
||||
break;
|
||||
case AV_PIX_FMT_RGB0:
|
||||
case AV_PIX_FMT_BGR0:
|
||||
case AV_PIX_FMT_RGBA:
|
||||
case AV_PIX_FMT_BGRA:
|
||||
for (j = 0; j < inlink->h; j++) {
|
||||
for (i = 0; i < inlink->w; i++) {
|
||||
hist[0*256 + p[i*4 ]]++;
|
||||
hist[1*256 + p[i*4 + 1]]++;
|
||||
hist[2*256 + p[i*4 + 2]]++;
|
||||
}
|
||||
p += frame->linesize[0];
|
||||
}
|
||||
break;
|
||||
case AV_PIX_FMT_0RGB:
|
||||
case AV_PIX_FMT_0BGR:
|
||||
case AV_PIX_FMT_ARGB:
|
||||
case AV_PIX_FMT_ABGR:
|
||||
for (j = 0; j < inlink->h; j++) {
|
||||
for (i = 0; i < inlink->w; i++) {
|
||||
hist[0*256 + p[i*4 + 1]]++;
|
||||
hist[1*256 + p[i*4 + 2]]++;
|
||||
hist[2*256 + p[i*4 + 3]]++;
|
||||
}
|
||||
p += frame->linesize[0];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
for (int plane = 0; plane < 3; plane++) {
|
||||
const uint8_t *p = frame->data[plane];
|
||||
@ -222,6 +248,10 @@ static int query_formats(AVFilterContext *ctx)
|
||||
{
|
||||
static const enum AVPixelFormat pix_fmts[] = {
|
||||
AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
|
||||
AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA,
|
||||
AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0,
|
||||
AV_PIX_FMT_ABGR, AV_PIX_FMT_ARGB,
|
||||
AV_PIX_FMT_0BGR, AV_PIX_FMT_0RGB,
|
||||
AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
|
||||
AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P,
|
||||
|
Loading…
Reference in New Issue
Block a user