28 #ifndef AVCODEC_RECTANGLE_H
29 #define AVCODEC_RECTANGLE_H
49 av_assert2((((
long)vp)&(
FFMIN(w, 8<<(HAVE_NEON|ARCH_PPC|HAVE_MMX))-1)) == 0);
52 const uint16_t v= size==4 ? val : val*0x0101;
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;
60 const uint32_t v= size==4 ? val : size==2 ? val*0x00010001 : val*0x01010101;
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;
101 *(uint32_t*)(p + 0+0*stride)=
val;
102 *(uint32_t*)(p + 4+0*stride)=
val;
103 *(uint32_t*)(p + 8+0*stride)=
val;
104 *(uint32_t*)(p +12+0*stride)=
val;
105 *(uint32_t*)(p + 0+1*stride)=
val;
106 *(uint32_t*)(p + 4+1*stride)=
val;
107 *(uint32_t*)(p + 8+1*stride)=
val;
108 *(uint32_t*)(p +12+1*stride)=
val;
110 *(uint32_t*)(p + 0+2*stride)=
val;
111 *(uint32_t*)(p + 4+2*stride)=
val;
112 *(uint32_t*)(p + 8+2*stride)=
val;
113 *(uint32_t*)(p +12+2*stride)=
val;
114 *(uint32_t*)(p + 0+3*stride)=
val;
115 *(uint32_t*)(p + 4+3*stride)=
val;
116 *(uint32_t*)(p + 8+3*stride)=
val;
117 *(uint32_t*)(p +12+3*stride)=
val;
const char const char void * val
#define av_assert2(cond)
assert() equivalent, that does lie in speed critical code.
static av_always_inline void fill_rectangle(void *vp, int w, int h, int stride, uint32_t val, int size)
fill a rectangle.
simple assert() macros that are a bit more flexible than ISO C assert().
GLint GLenum GLboolean GLsizei stride
common internal and external API header