Zephyr Project API 4.5.0-rc2
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
57
61
71
85
106
116 int (*set_caps)(struct mpipe_transform *self, enum mpipe_pad_direction direction,
117 const struct mpipe_structure *caps);
139 int (*transform_caps)(struct mpipe_transform *self, enum mpipe_pad_direction direction,
140 const struct mpipe_structure *in, uint32_t index,
141 struct mpipe_structure *out);
142
164 int (*propose_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query);
181 int (*decide_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query);
182};
183
198
209 const struct mpipe_structure *caps);
210
225
227
228#endif /* ZEPHYR_INCLUDE_MPIPE_MPIPE_TRANSFORM_H_ */
mpipe_state_change
Transition between two adjacent states.
Definition mpipe_element.h:143
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:67
int mpipe_transform_set_caps(struct mpipe_transform *transform, enum mpipe_pad_direction direction, const struct mpipe_structure *caps)
Set a capability 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:77
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:69
@ MPIPE_TRANSFORM_MODE_INPLACE
The input buffer is directly modified.
Definition mpipe_transform.h:81
@ MPIPE_TRANSFORM_MODE_NORMAL
The output buffer is allocated and differs from the input buffer.
Definition mpipe_transform.h:83
@ MPIPE_TRANSFORM_MODE_PASSTHROUGH
The buffer is kept intact.
Definition mpipe_transform.h:79
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:75
struct mpipe_structure * caps
The capability carried, or NULL when the dispatch carries none.
Definition mpipe_dispatch.h:101
Element base class.
Definition mpipe_element.h:167
Pad structure.
Definition mpipe_pad.h:128
Fixed-size container holding the fields of one capability.
Definition mpipe_structure.h:165
Transform element structure.
Definition mpipe_transform.h:93
struct mpipe_pad sink_pad
Sink pad for receiving input data.
Definition mpipe_transform.h:97
struct mpipe_buffer_pool * out_pool
Pointer to the output buffer pool for allocating output buffers.
Definition mpipe_transform.h:103
enum mpipe_transform_mode mode
Operating mode determining buffer handling strategy.
Definition mpipe_transform.h:105
int(* propose_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query)
Propose a buffer pool to upstream.
Definition mpipe_transform.h:164
int(* decide_buffer_pool)(struct mpipe_transform *self, struct mpipe_dispatch *query)
Decide the buffer pool for downstream.
Definition mpipe_transform.h:181
struct mpipe_buffer_pool * in_pool
Pointer to the input buffer pool for allocating input buffers.
Definition mpipe_transform.h:101
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:139
struct mpipe_element element
Base element structure.
Definition mpipe_transform.h:95
struct mpipe_pad src_pad
Source pad for sending output data.
Definition mpipe_transform.h:99
int(* set_caps)(struct mpipe_transform *self, enum mpipe_pad_direction direction, const struct mpipe_structure *caps)
Apply the negotiated capability to one of the element's pads.
Definition mpipe_transform.h:116