28 #ifndef AVCODEC_RECTANGLE_H
29 #define AVCODEC_RECTANGLE_H
53 *(uint16_t*)(p + 0*
stride)= v;
55 *(uint16_t*)(p + 1*
stride)= v;
57 *(uint16_t*)(p + 2*
stride)= v;
58 *(uint16_t*)(p + 3*
stride)= v;
61 *(uint32_t*)(p + 0*
stride)= v;
63 *(uint32_t*)(p + 1*
stride)= v;
65 *(uint32_t*)(p + 2*
stride)= v;
66 *(uint32_t*)(p + 3*
stride)= v;
70 const uint64_t v=
size==2 ?
val*0x0001000100010001ULL :
val*0x0100000001ULL;
71 *(uint64_t*)(p + 0*
stride)= v;
73 *(uint64_t*)(p + 1*
stride)= v;
75 *(uint64_t*)(p + 2*
stride)= v;
76 *(uint64_t*)(p + 3*
stride)= v;
78 const uint64_t v=
val*0x0100000001ULL;
79 *(uint64_t*)(p + 0+0*
stride)= v;
80 *(uint64_t*)(p + 8+0*
stride)= v;
81 *(uint64_t*)(p + 0+1*
stride)= v;
82 *(uint64_t*)(p + 8+1*
stride)= v;
84 *(uint64_t*)(p + 0+2*
stride)= v;
85 *(uint64_t*)(p + 8+2*
stride)= v;
86 *(uint64_t*)(p + 0+3*
stride)= v;
87 *(uint64_t*)(p + 8+3*
stride)= v;
89 const uint32_t v=
size==2 ?
val*0x00010001 :
val;
90 *(uint32_t*)(p + 0+0*
stride)= v;
91 *(uint32_t*)(p + 4+0*
stride)= v;
93 *(uint32_t*)(p + 0+1*
stride)= v;
94 *(uint32_t*)(p + 4+1*
stride)= v;
96 *(uint32_t*)(p + 0+2*
stride)= v;
97 *(uint32_t*)(p + 4+2*
stride)= v;
98 *(uint32_t*)(p + 0+3*
stride)= v;
99 *(uint32_t*)(p + 4+3*
stride)= v;
static double val(void *priv, double ch)
simple assert() macros that are a bit more flexible than ISO C assert().
#define av_assert2(cond)
assert() equivalent, that does lie in speed critical code.
common internal and external API header
static av_always_inline void fill_rectangle(void *vp, int w, int h, int stride, uint32_t val, int size)
fill a rectangle.