@@ -81,48 +81,6 @@ extern __ATTR_PURE __ATTR_WUNUSED __ATTR_NONNULL((1, 2)) void
8181video_format_setcolor (struct video_format const * __restrict __self ,
8282 __byte_t * __restrict __line ,
8383 video_coord_t __x , video_color_t __color );
84-
85- /* Copy a rect of pixels. When src/dst overlap, results are weak-undefined.
86- * @assume(IS_ALIGNED(__dst_line, __self->vf_codec->vc_align));
87- * @assume(IS_ALIGNED(__src_line, __self->vf_codec->vc_align));
88- * @assume(IS_ALIGNED(__dst_stride, __self->vf_codec->vc_align));
89- * @assume(IS_ALIGNED(__src_stride, __self->vf_codec->vc_align));
90- * @assume(__size_x > 0);
91- * @assume(__size_y > 0); */
92- extern __ATTR_NONNULL ((1 , 2 , 5 )) void
93- video_format_rectcopy (struct video_format const * __restrict __self ,
94- __byte_t * __restrict __dst_line , video_coord_t __dst_x , __size_t __dst_stride ,
95- __byte_t const * __restrict __src_line , video_coord_t __src_x , __size_t __src_stride ,
96- video_dim_t __size_x , video_dim_t __size_y );
97-
98- /* Fill `num_pixels' neighboring pixels horizontally.
99- * The caller must ensure that all coords are in-bounds.
100- * @assume(IS_ALIGNED(__line, __self->vf_codec->vc_align));
101- * @assume(__num_pixels > 0); */
102- extern __ATTR_NONNULL ((1 , 2 )) void
103- video_format_linefill (struct video_format const * __restrict __self ,
104- __byte_t * __restrict __line , video_coord_t __x ,
105- video_pixel_t __pixel , video_dim_t __num_pixels );
106-
107- /* Fill a vertical line of pixels.
108- * @assume(IS_ALIGNED(__line, __self->vf_codec->vc_align));
109- * @assume(IS_ALIGNED(__stride, __self->vf_codec->vc_align));
110- * @assume(__num_pixels > 0); */
111- extern __ATTR_NONNULL ((1 , 2 )) void
112- video_format_vertfill (struct video_format const * __restrict __self ,
113- __byte_t * __restrict __line , video_coord_t __x , __size_t __stride ,
114- video_pixel_t __pixel , video_dim_t __num_pixels );
115-
116-
117- /* Fill a rect of pixels.
118- * @assume(__size_x > 0);
119- * @assume(__size_y > 0);
120- * @assume(IS_ALIGNED(__line, __self->vf_codec->vc_align));
121- * @assume(IS_ALIGNED(__stride, __self->vf_codec->vc_align)); */
122- extern __ATTR_NONNULL ((1 , 2 )) void
123- video_format_rectfill (struct video_format const * __restrict __self ,
124- __byte_t * __restrict __line , video_coord_t __x , __size_t __stride ,
125- video_pixel_t __pixel , video_dim_t __size_x , video_dim_t __size_y );
12684#else /* __INTELLISENSE__ */
12785#define video_format_hasalpha (self ) \
12886 (((self)->vf_codec->vc_specs.vcs_amask != 0) || \
@@ -133,14 +91,6 @@ video_format_rectfill(struct video_format const *__restrict __self,
13391#define video_format_color2pixel (self , color ) (*(self)->vf_codec->vc_color2pixel)(self, color)
13492#define video_format_getcolor (self , line , x ) video_format_pixel2color(self, video_format_getpixel(self, line, x))
13593#define video_format_setcolor (self , line , x , color ) video_format_setpixel(self, line, x, video_format_color2pixel(self, color))
136- #define video_format_rectcopy (self , dst_line , dst_x , dst_stride , src_line , src_x , src_stride , size_x , size_y ) \
137- (*(self)->vf_codec->vc_rectcopy)(dst_line, dst_x, dst_stride, src_line, src_x, src_stride, size_x, size_y)
138- #define video_format_linefill (self , dst_line , x , pixel , num_pixels ) \
139- (*(self)->vf_codec->vc_linefill)(dst_line, x, pixel, num_pixels)
140- #define video_format_vertfill (self , dst_line , x , stride , pixel , num_pixels ) \
141- (*(self)->vf_codec->vc_vertfill)(dst_line, x, stride, pixel, num_pixels)
142- #define video_format_rectfill (self , dst_line , x , stride , pixel , size_x , size_y ) \
143- (*(self)->vf_codec->vc_rectfill)(dst_line, x, stride, pixel, size_x, size_y)
14494#endif /* !__INTELLISENSE__ */
14595
14696struct video_format {
@@ -160,48 +110,6 @@ struct video_format {
160110 /* Convert between color and pixel values. */
161111 __CXX_CLASSMEMBER video_color_t LIBVIDEO_CODEC_CC pixel2color (video_pixel_t __pixel ) const { return video_format_pixel2color (this , __pixel ); }
162112 __CXX_CLASSMEMBER video_pixel_t LIBVIDEO_CODEC_CC color2pixel (video_color_t __color ) const { return video_format_color2pixel (this , __color ); }
163-
164- /* Copy a rect of pixels. When src/dst overlap, results are weak-undefined.
165- * @assume(IS_ALIGNED(__dst_line, vf_codec->vc_align));
166- * @assume(IS_ALIGNED(__src_line, vf_codec->vc_align));
167- * @assume(IS_ALIGNED(__dst_stride, vf_codec->vc_align));
168- * @assume(IS_ALIGNED(__src_stride, vf_codec->vc_align));
169- * @assume(__size_x > 0);
170- * @assume(__size_y > 0); */
171- __CXX_CLASSMEMBER void LIBVIDEO_CODEC_CC rectcopy (__byte_t * __restrict __dst_line , video_coord_t __dst_x , __size_t __dst_stride ,
172- __byte_t const * __restrict __src_line , video_coord_t __src_x , __size_t __src_stride ,
173- video_dim_t __size_x , video_dim_t __size_y ) const {
174- video_format_rectcopy (this , __dst_line , __dst_x , __dst_stride , __src_line , __src_x , __src_stride , __size_x , __size_y );
175- }
176-
177- /* Fill `num_pixels' neighboring pixels horizontally.
178- * The caller must ensure that all coords are in-bounds.
179- * @assume(IS_ALIGNED(__line, vf_codec->vc_align));
180- * @assume(__num_pixels > 0); */
181- __CXX_CLASSMEMBER void LIBVIDEO_CODEC_CC linefill (__byte_t * __restrict __line , video_coord_t __x ,
182- video_pixel_t __pixel , video_dim_t __num_pixels ) const {
183- video_format_linefill (this , __line , __x , __pixel , __num_pixels );
184- }
185-
186- /* Fill a vertical line of pixels.
187- * @assume(IS_ALIGNED(__line, vf_codec->vc_align));
188- * @assume(IS_ALIGNED(__stride, vf_codec->vc_align));
189- * @assume(__num_pixels > 0); */
190- __CXX_CLASSMEMBER void LIBVIDEO_CODEC_CC vertfill (__byte_t * __restrict __line , video_coord_t __x , __size_t __stride ,
191- video_pixel_t __pixel , video_dim_t __num_pixels ) const {
192- video_format_vertfill (this , __line , __x , __stride , __pixel , __num_pixels );
193- }
194-
195- /* Fill a rect of pixels.
196- * @assume(__size_x > 0);
197- * @assume(__size_y > 0);
198- * @assume(IS_ALIGNED(__line, vf_codec->vc_align));
199- * @assume(IS_ALIGNED(__stride, vf_codec->vc_align)); */
200- __CXX_CLASSMEMBER void LIBVIDEO_CODEC_CC rectfill (__byte_t * __restrict __line , video_coord_t __x , __size_t __stride ,
201- video_pixel_t __pixel , video_dim_t __size_x , video_dim_t __size_y ) const {
202- video_format_rectfill (this , __line , __x , __stride , __pixel , __size_x , __size_y );
203- }
204-
205113#endif /* __cplusplus */
206114};
207115
@@ -219,8 +127,8 @@ struct video_converter;
219127struct video_converter {
220128 /* [1..1] Map pixel from `vcv_from' into the format used by `vcv_to'.
221129 * Same as the following (but faster in many cases):
222- * >> video_color_t color = vcv_from.pixel2color( __from_pixel);
223- * >> video_pixel_t to_pixel = vcv_to.color2pixel( color); */
130+ * >> video_color_t color = video_format_pixel2color(&vcv_from, __from_pixel);
131+ * >> video_pixel_t to_pixel = video_format_color2pixel(&vcv_to, color); */
224132 __ATTR_PURE_T __ATTR_WUNUSED_T __ATTR_IN_T (1 ) video_pixel_t
225133 (LIBVIDEO_CODEC_CC * vcv_mappixel )(struct video_converter const * __restrict __self ,
226134 video_pixel_t __from_pixel );
0 commit comments