Lines Matching +full:itu +full:- +full:r
1 // SPDX-License-Identifier: GPL-2.0 or MIT
23 return clip->y1 * pitch + clip->x1 * cpp; in clip_offset()
27 * drm_fb_memcpy - Copy clip buffer
39 unsigned int cpp = fb->format->cpp[0]; in drm_fb_memcpy()
40 size_t len = (clip->x2 - clip->x1) * cpp; in drm_fb_memcpy()
41 unsigned int y, lines = clip->y2 - clip->y1; in drm_fb_memcpy()
43 vaddr += clip_offset(clip, fb->pitches[0], cpp); in drm_fb_memcpy()
46 vaddr += fb->pitches[0]; in drm_fb_memcpy()
53 * drm_fb_memcpy_dstclip - Copy clip buffer
67 unsigned int cpp = fb->format->cpp[0]; in drm_fb_memcpy_dstclip()
69 size_t len = (clip->x2 - clip->x1) * cpp; in drm_fb_memcpy_dstclip()
70 unsigned int y, lines = clip->y2 - clip->y1; in drm_fb_memcpy_dstclip()
76 vaddr += fb->pitches[0]; in drm_fb_memcpy_dstclip()
83 * drm_fb_swab - Swap bytes into clip buffer
88 * @cached: Source buffer is mapped cached (eg. not write-combined)
99 u8 cpp = fb->format->cpp[0]; in drm_fb_swab()
112 src += clip_offset(clip, fb->pitches[0], cpp); in drm_fb_swab()
114 for (y = clip->y1; y < clip->y2; y++) { in drm_fb_swab()
124 for (x = clip->x1; x < clip->x2; x++) { in drm_fb_swab()
131 src += fb->pitches[0]; in drm_fb_swab()
157 * drm_fb_xrgb8888_to_rgb565 - Convert XRGB8888 to RGB565 clip buffer
174 size_t linepixels = clip->x2 - clip->x1; in drm_fb_xrgb8888_to_rgb565()
177 unsigned y, lines = clip->y2 - clip->y1; in drm_fb_xrgb8888_to_rgb565()
181 * The cma memory is write-combined so reads are uncached. in drm_fb_xrgb8888_to_rgb565()
188 vaddr += clip_offset(clip, fb->pitches[0], sizeof(u32)); in drm_fb_xrgb8888_to_rgb565()
192 vaddr += fb->pitches[0]; in drm_fb_xrgb8888_to_rgb565()
201 * drm_fb_xrgb8888_to_rgb565_dstclip - Convert XRGB8888 to RGB565 clip buffer
219 size_t linepixels = clip->x2 - clip->x1; in drm_fb_xrgb8888_to_rgb565_dstclip()
221 unsigned y, lines = clip->y2 - clip->y1; in drm_fb_xrgb8888_to_rgb565_dstclip()
228 vaddr += clip_offset(clip, fb->pitches[0], sizeof(u32)); in drm_fb_xrgb8888_to_rgb565_dstclip()
233 vaddr += fb->pitches[0]; in drm_fb_xrgb8888_to_rgb565_dstclip()
254 * drm_fb_xrgb8888_to_rgb888_dstclip - Convert XRGB8888 to RGB888 clip buffer
271 size_t linepixels = clip->x2 - clip->x1; in drm_fb_xrgb8888_to_rgb888_dstclip()
273 unsigned y, lines = clip->y2 - clip->y1; in drm_fb_xrgb8888_to_rgb888_dstclip()
280 vaddr += clip_offset(clip, fb->pitches[0], sizeof(u32)); in drm_fb_xrgb8888_to_rgb888_dstclip()
285 vaddr += fb->pitches[0]; in drm_fb_xrgb8888_to_rgb888_dstclip()
294 * drm_fb_xrgb8888_to_gray8 - Convert XRGB8888 to grayscale
295 * @dst: 8-bit grayscale destination buffer
307 * ITU BT.601 is used for the RGB -> luma (brightness) conversion.
312 unsigned int len = (clip->x2 - clip->x1) * sizeof(u32); in drm_fb_xrgb8888_to_gray8()
317 if (WARN_ON(fb->format->format != DRM_FORMAT_XRGB8888)) in drm_fb_xrgb8888_to_gray8()
320 * The cma memory is write-combined so reads are uncached. in drm_fb_xrgb8888_to_gray8()
327 for (y = clip->y1; y < clip->y2; y++) { in drm_fb_xrgb8888_to_gray8()
328 src = vaddr + (y * fb->pitches[0]); in drm_fb_xrgb8888_to_gray8()
329 src += clip->x1; in drm_fb_xrgb8888_to_gray8()
332 for (x = clip->x1; x < clip->x2; x++) { in drm_fb_xrgb8888_to_gray8()
333 u8 r = (*src & 0x00ff0000) >> 16; in drm_fb_xrgb8888_to_gray8() local
337 /* ITU BT.601: Y = 0.299 R + 0.587 G + 0.114 B */ in drm_fb_xrgb8888_to_gray8()
338 *dst++ = (3 * r + 6 * g + b) / 10; in drm_fb_xrgb8888_to_gray8()
348 * drm_fb_blit_rect_dstclip - Copy parts of a framebuffer to display memory
364 * -EINVAL if the color-format conversion failed, or
372 uint32_t fb_format = fb->format->format; in drm_fb_blit_rect_dstclip()
399 return -EINVAL; in drm_fb_blit_rect_dstclip()
404 * drm_fb_blit_dstclip - Copy framebuffer to display memory
426 .x2 = fb->width, in drm_fb_blit_dstclip()
428 .y2 = fb->height, in drm_fb_blit_dstclip()