Lines Matching +full:block +full:- +full:size

5  * SPDX-License-Identifier: Apache-2.0
16 #define VIDEO_COMMON_HEAP_ALLOC(align, size, timeout) \ argument
17 shared_multi_heap_aligned_alloc(CONFIG_VIDEO_BUFFER_SMH_ATTRIBUTE, align, size)
18 #define VIDEO_COMMON_FREE(block) shared_multi_heap_free(block) argument
21 #define VIDEO_COMMON_HEAP_ALLOC(align, size, timeout) \ argument
22 k_heap_aligned_alloc(&video_buffer_pool, align, size, timeout);
23 #define VIDEO_COMMON_FREE(block) k_heap_free(&video_buffer_pool, block) argument
34 struct video_buffer *video_buffer_aligned_alloc(size_t size, size_t align, k_timeout_t timeout) in video_buffer_aligned_alloc() argument
37 struct mem_block *block; in video_buffer_aligned_alloc() local
44 block = &video_block[i]; in video_buffer_aligned_alloc()
54 block->data = VIDEO_COMMON_HEAP_ALLOC(align, size, timeout); in video_buffer_aligned_alloc()
55 if (block->data == NULL) { in video_buffer_aligned_alloc()
59 vbuf->buffer = block->data; in video_buffer_aligned_alloc()
60 vbuf->size = size; in video_buffer_aligned_alloc()
61 vbuf->bytesused = 0; in video_buffer_aligned_alloc()
66 struct video_buffer *video_buffer_alloc(size_t size, k_timeout_t timeout) in video_buffer_alloc() argument
68 return video_buffer_aligned_alloc(size, sizeof(void *), timeout); in video_buffer_alloc()
73 struct mem_block *block = NULL; in video_buffer_release() local
76 /* vbuf to block */ in video_buffer_release()
78 if (video_block[i].data == vbuf->buffer) { in video_buffer_release()
79 block = &video_block[i]; in video_buffer_release()
84 vbuf->buffer = NULL; in video_buffer_release()
85 if (block) { in video_buffer_release()
86 VIDEO_COMMON_FREE(block->data); in video_buffer_release()
94 if (fmts[i].pixelformat == fmt->pixelformat && in video_format_caps_index()
95 IN_RANGE(fmt->width, fmts[i].width_min, fmts[i].width_max) && in video_format_caps_index()
96 IN_RANGE(fmt->height, fmts[i].height_min, fmts[i].height_max)) { in video_format_caps_index()
101 return -ENOENT; in video_format_caps_index()
108 uint64_t min = stepwise->min.numerator; in video_closest_frmival_stepwise()
109 uint64_t max = stepwise->max.numerator; in video_closest_frmival_stepwise()
110 uint64_t step = stepwise->step.numerator; in video_closest_frmival_stepwise()
111 uint64_t goal = desired->numerator; in video_closest_frmival_stepwise()
114 min *= stepwise->max.denominator * stepwise->step.denominator * desired->denominator; in video_closest_frmival_stepwise()
115 max *= stepwise->min.denominator * stepwise->step.denominator * desired->denominator; in video_closest_frmival_stepwise()
116 step *= stepwise->min.denominator * stepwise->max.denominator * desired->denominator; in video_closest_frmival_stepwise()
117 goal *= stepwise->min.denominator * stepwise->max.denominator * stepwise->step.denominator; in video_closest_frmival_stepwise()
123 match->numerator = min + DIV_ROUND_CLOSEST(goal - min, step) * step; in video_closest_frmival_stepwise()
124 match->denominator = stepwise->min.denominator * stepwise->max.denominator * in video_closest_frmival_stepwise()
125 stepwise->step.denominator * desired->denominator; in video_closest_frmival_stepwise()
132 struct video_frmival desired = match->discrete; in video_closest_frmival()
133 struct video_frmival_enum fie = {.format = match->format}; in video_closest_frmival()
135 __ASSERT(match->type != VIDEO_FRMIVAL_TYPE_STEPWISE, in video_closest_frmival()
155 diff_nsec = a > b ? a - b : b - a; in video_closest_frmival()
158 memcpy(&match->discrete, &tmp, sizeof(tmp)); in video_closest_frmival()
163 match->index = fie.index - 1; in video_closest_frmival()