FFmpeg
Loading...
Searching...
No Matches
pixfmt_best.c File Reference

Go to the source code of this file.

Macros

#define find_best_wrapper(name, list)
 
#define TEST(input, expected)
 
#define TEST_SEMIPLANAR(input, expected)
 
#define TEST_PACKED(input, expected)
 
#define TEST_SUBSAMPLED(input, expected)
 
#define TEST_DEPTH_CHROMA(input, expected)
 

Typedefs

typedef enum AVPixelFormat(* find_best_t) (enum AVPixelFormat pixfmt)
 

Functions

 find_best_wrapper (base, pixfmt_list)
 
int main (void)
 

Variables

static enum AVPixelFormat pixfmt_list []
 
static enum AVPixelFormat semiplanar_list []
 
static enum AVPixelFormat packed_list []
 
static enum AVPixelFormat subsampled_list []
 
static enum AVPixelFormat depthchroma_list []
 

Macro Definition Documentation

◆ find_best_wrapper

#define find_best_wrapper ( name,
list )
Value:
static enum AVPixelFormat find_best_ ## name (enum AVPixelFormat pixfmt) \
{ \
int i; \
for (i = 0; i < FF_ARRAY_ELEMS(list); i++) \
best = av_find_best_pix_fmt_of_2(best, list[i], \
pixfmt, 0, NULL); \
return best; \
}
#define i(width, name, range_min, range_max)
Definition cbs_h264.c:63
#define NULL
Definition coverity.c:32
enum AVPixelFormat pixfmt
Definition kmsgrab.c:367
enum AVPixelFormat av_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
Compute what kind of losses will occur when converting from one specific pixel format to another.
Definition pixdesc.c:3739
AVPixelFormat
Pixel format.
Definition pixfmt.h:71
@ AV_PIX_FMT_NONE
Definition pixfmt.h:72
const char * name
Definition qsvenc.c:142
#define FF_ARRAY_ELEMS(a)

Definition at line 81 of file pixfmt_best.c.

◆ TEST

#define TEST ( input,
expected )
Value:
test(input, expected, &pass, &fail, find_best_base)
#define fail
Definition test.h:479
static void test(const char *pattern, const char *host)
Definition noproxy.c:23

Referenced by main().

◆ TEST_SEMIPLANAR

#define TEST_SEMIPLANAR ( input,
expected )
Value:
test(input, expected, &pass, &fail, find_best_seminplanar)

Referenced by main().

◆ TEST_PACKED

#define TEST_PACKED ( input,
expected )
Value:
test(input, expected, &pass, &fail, find_best_packed)

Referenced by main().

◆ TEST_SUBSAMPLED

#define TEST_SUBSAMPLED ( input,
expected )
Value:
test(input, expected, &pass, &fail, find_best_subsampled)

Referenced by main().

◆ TEST_DEPTH_CHROMA

#define TEST_DEPTH_CHROMA ( input,
expected )
Value:
test(input, expected, &pass, &fail, find_best_depthchroma)

Referenced by main().

Typedef Documentation

◆ find_best_t

typedef enum AVPixelFormat(* find_best_t) (enum AVPixelFormat pixfmt)

Definition at line 73 of file pixfmt_best.c.

Function Documentation

◆ find_best_wrapper()

find_best_wrapper ( base ,
pixfmt_list  )

Definition at line 92 of file pixfmt_best.c.

◆ main()

int main ( void )

Definition at line 112 of file pixfmt_best.c.

Variable Documentation

◆ pixfmt_list

enum AVPixelFormat pixfmt_list[]
static
Initial value:
= {
}
#define AV_PIX_FMT_YUV420P16
Definition pixfmt.h:556
#define AV_PIX_FMT_YUV420P10
Definition pixfmt.h:545
#define AV_PIX_FMT_YUV422P10
Definition pixfmt.h:546
#define AV_PIX_FMT_RGB48
Definition pixfmt.h:531
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition pixfmt.h:75
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition pixfmt.h:73
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition pixfmt.h:77
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition pixfmt.h:81
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition pixfmt.h:78
@ AV_PIX_FMT_VAAPI
Hardware acceleration through VA-API, data[3] contains a VASurfaceID.
Definition pixfmt.h:126
@ AV_PIX_FMT_MONOWHITE
Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb.
Definition pixfmt.h:82
@ AV_PIX_FMT_VDPAU
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.
Definition pixfmt.h:194
#define AV_PIX_FMT_GRAY10
Definition pixfmt.h:525
#define AV_PIX_FMT_RGB565
Definition pixfmt.h:532
#define AV_PIX_FMT_YUV422P16
Definition pixfmt.h:557
#define AV_PIX_FMT_GRAY16
Definition pixfmt.h:528
#define AV_PIX_FMT_YUV444P16
Definition pixfmt.h:558
#define AV_PIX_FMT_YUV444P10
Definition pixfmt.h:548

Definition at line 21 of file pixfmt_best.c.

Referenced by find_best_wrapper(), and main().

◆ semiplanar_list

enum AVPixelFormat semiplanar_list[]
static
Initial value:
= {
}
#define AV_PIX_FMT_P210
Definition pixfmt.h:622
#define AV_PIX_FMT_P012
Definition pixfmt.h:609
#define AV_PIX_FMT_P216
Definition pixfmt.h:626
#define AV_PIX_FMT_P010
Definition pixfmt.h:608
#define AV_PIX_FMT_P016
Definition pixfmt.h:610
#define AV_PIX_FMT_P410
Definition pixfmt.h:623
@ AV_PIX_FMT_NV12
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
Definition pixfmt.h:96
@ AV_PIX_FMT_NV24
planar YUV 4:4:4, 24bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
Definition pixfmt.h:371
@ AV_PIX_FMT_NV16
interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition pixfmt.h:198
#define AV_PIX_FMT_P416
Definition pixfmt.h:627

Definition at line 42 of file pixfmt_best.c.

Referenced by find_best_wrapper(), and main().

◆ packed_list

enum AVPixelFormat packed_list[]
static
Initial value:
= {
}
#define AV_PIX_FMT_Y210
Definition pixfmt.h:612
#define AV_PIX_FMT_XV30
Definition pixfmt.h:615
#define AV_PIX_FMT_XV48
Definition pixfmt.h:617
@ AV_PIX_FMT_VUYX
packed VUYX 4:4:4:4, 32bpp, Variant of VUYA where alpha channel is left undefined
Definition pixfmt.h:406
@ AV_PIX_FMT_YUYV422
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
Definition pixfmt.h:74
#define AV_PIX_FMT_Y216
Definition pixfmt.h:614
#define AV_PIX_FMT_Y212
Definition pixfmt.h:613
#define AV_PIX_FMT_XV36
Definition pixfmt.h:616

Definition at line 55 of file pixfmt_best.c.

Referenced by find_best_wrapper(), and main().

◆ subsampled_list

enum AVPixelFormat subsampled_list[]
static
Initial value:
= {
}
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
Definition pixfmt.h:80

Definition at line 66 of file pixfmt_best.c.

Referenced by find_best_wrapper(), and main().

◆ depthchroma_list

enum AVPixelFormat depthchroma_list[]
static
Initial value:
= {
}
#define AV_PIX_FMT_YUV420P14
Definition pixfmt.h:553
#define AV_PIX_FMT_YUV422P14
Definition pixfmt.h:554

Definition at line 73 of file pixfmt_best.c.

Referenced by find_best_wrapper(), and main().