FFmpeg
Loading...
Searching...
No Matches
drawutils.c
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#include <stdio.h>
20
21#include "libavutil/pixdesc.h"
23
24int main(void)
25{
26 enum AVPixelFormat f;
30 int r, i;
31
32 for (f = 0; av_pix_fmt_desc_get(f); f++) {
34 if (!desc->name)
35 continue;
36 printf("Testing %s...%*s", desc->name,
37 (int)(16 - strlen(desc->name)), "");
38 r = ff_draw_init(&draw, f, 0);
39 if (r < 0) {
40 printf("no: %s\n", av_err2str(r));
41 continue;
42 }
43 ff_draw_color(&draw, &color, (uint8_t[]) { 1, 0, 0, 1 });
44 for (i = 0; i < sizeof(color); i++)
45 if (((uint8_t *)&color)[i] != 128)
46 break;
47 if (i == sizeof(color)) {
48 printf("fallback color\n");
49 continue;
50 }
51 printf("ok\n");
52 }
53 return 0;
54}
static int draw(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
#define i(width, name, range_min, range_max)
Definition cbs_h264.c:63
#define f(width, name)
Definition cbs_vp8.c:236
__device__ int printf(const char *,...)
int ff_draw_init(FFDrawContext *draw, enum AVPixelFormat format, unsigned flags)
Definition drawutils.c:174
void ff_draw_color(FFDrawContext *draw, FFDrawColor *color, const uint8_t rgba[4])
Prepare a color.
Definition drawutils.c:179
misc drawing utilities
#define av_err2str(errnum)
Convenience macro, the return value should be used only directly in function arguments but never stan...
Definition error.h:122
#define r
Definition input.c:42
const char * desc
Definition libsvtav1.c:83
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
Definition pixdesc.c:3460
AVPixelFormat
Pixel format.
Definition pixfmt.h:71
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
Definition pixdesc.h:69
int main(void)
Definition drawutils.c:24