Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mpipe_transform.h
Go to the documentation of this file.
1/*
2 * Copyright 2025-2026 NXP
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_MPIPE_MPIPE_TRANSFORM_H_
14#define ZEPHYR_INCLUDE_MPIPE_MPIPE_TRANSFORM_H_
15
58
62
72
86
107
115 int (*set_caps)(struct mpipe_transform *transform, enum mpipe_pad_direction direction,
116 const struct mpipe_structure *caps);
137 int (*transform_caps)(struct mpipe_transform *self, enum mpipe_pad_direction direction,
138 const struct mpipe_structure *in, uint32_t index,
139 struct mpipe_structure *out);
140
161 int (*propose_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query);
177 int (*decide_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query);
178};
179
194
205 const struct mpipe_structure *caps);
206
221
223
224#endif /* ZEPHYR_INCLUDE_MPIPE_MPIPE_TRANSFORM_H_ */
mpipe_state_change
enum mpipe_state_change
Definition mpipe_element.h:141
mpipe_pad_direction
The direction of a pad.
Definition mpipe_pad.h:87
mpipe_prop_transform
Properties for a transform element.
Definition mpipe_transform.h:68
int mpipe_transform_set_caps(struct mpipe_transform *transform, enum mpipe_pad_direction direction, const struct mpipe_structure *caps)
Set capabilities on a transform element's pad.
int mpipe_transform_change_state(struct mpipe_element *self, enum mpipe_state_change transition)
Change state function for the base transform element.
mpipe_transform_mode
Operating modes of a transform element.
Definition mpipe_transform.h:78
int mpipe_transform_init(struct mpipe_transform *transform, uint8_t id)
Initialize a transform element.
@ MPIPE_PROP_TRANSFORM_LAST
Last transform property marker (for validation/iteration).
Definition mpipe_transform.h:70
@ MPIPE_MODE_INPLACE
The input buffer is directly modified.
Definition mpipe_transform.h:82
@ MPIPE_MODE_PASSTHROUGH
The buffer is kept intact.
Definition mpipe_transform.h:80
@ MPIPE_MODE_NORMAL
The output buffer is allocated and differs from the input buffer.
Definition mpipe_transform.h:84
Element: the unit a pipeline is built from.
Pad: the point where two elements meet.
Structure: one media capability, held by value.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Buffer pool structure.
Definition mpipe_buffer.h:75
A query or an event traveling a pad link.
Definition mpipe_dispatch.h:77
struct mpipe_structure * caps
The capability carried, or NULL when the dispatch carries none.
Definition mpipe_dispatch.h:104
Element base class.
Definition mpipe_element.h:165
Pad structure.
Definition mpipe_pad.h:128
Fixed-size container holding the fields of one capability.
Definition mpipe_structure.h:179
Transform element structure.
Definition mpipe_transform.h:94
struct mpipe_pad sink_pad
Sink pad for receiving input data.
Definition mpipe_transform.h:98
struct mpipe_buffer_pool * out_pool
Pointer to the output buffer pool for allocating output buffers.
Definition mpipe_transform.h:104
enum mpipe_transform_mode mode
Operating mode determining buffer handling strategy.
Definition mpipe_transform.h:106
int(* propose_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query)
Propose a buffer pool to upstream.
Definition mpipe_transform.h:161
int(* decide_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query)
Decide the buffer pool for downstream.
Definition mpipe_transform.h:177
struct mpipe_buffer_pool * in_pool
Pointer to the input buffer pool for allocating input buffers.
Definition mpipe_transform.h:102
int(* transform_caps)(struct mpipe_transform *self, enum mpipe_pad_direction direction, const struct mpipe_structure *in, uint32_t index, struct mpipe_structure *out)
Produce one transformation of a capability across the element.
Definition mpipe_transform.h:137
struct mpipe_element element
Base element structure.
Definition mpipe_transform.h:96
struct mpipe_pad src_pad
Source pad for sending output data.
Definition mpipe_transform.h:100
int(* set_caps)(struct mpipe_transform *transform, enum mpipe_pad_direction direction, const struct mpipe_structure *caps)
Set a given caps to an element's pad.
Definition mpipe_transform.h:115