Commit 391e1418 authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab

media: atomisp: Add ia_css_frame_init_from_info() function

Add a function to initialize (rather then alloc/create) a
ia_css_frame struct based on an ia_css_frame_info struct.

This is a preparation patch for adding videobuf2 support.
Reviewed-by: default avatarAndy Shevchenko <andy@kernel.org>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 931d87d2
...@@ -220,6 +220,17 @@ ia_css_frame_allocate(struct ia_css_frame **frame, ...@@ -220,6 +220,17 @@ ia_css_frame_allocate(struct ia_css_frame **frame,
unsigned int stride, unsigned int stride,
unsigned int raw_bit_depth); unsigned int raw_bit_depth);
/* @brief Initialize a CSS frame structure using a frame info structure.
*
* @param frame The allocated frame.
* @param[in] info The frame info structure.
* @return The error code.
*
* Initialize a frame using the resolution and format from a frame info struct.
*/
int ia_css_frame_init_from_info(struct ia_css_frame *frame,
const struct ia_css_frame_info *info);
/* @brief Allocate a CSS frame structure using a frame info structure. /* @brief Allocate a CSS frame structure using a frame info structure.
* *
* @param frame The allocated frame. * @param frame The allocated frame.
......
...@@ -847,3 +847,19 @@ void ia_css_resolution_to_sp_resolution( ...@@ -847,3 +847,19 @@ void ia_css_resolution_to_sp_resolution(
to->width = (uint16_t)from->width; to->width = (uint16_t)from->width;
to->height = (uint16_t)from->height; to->height = (uint16_t)from->height;
} }
int ia_css_frame_init_from_info(struct ia_css_frame *frame,
const struct ia_css_frame_info *frame_info)
{
frame->info.res.width = frame_info->res.width;
frame->info.res.height = frame_info->res.height;
frame->info.format = frame_info->format;
frame->info.padded_width = frame_info->padded_width;
frame->info.raw_bit_depth = frame_info->raw_bit_depth;
frame->valid = true;
/* To indicate it is not valid frame. */
frame->dynamic_queue_id = SH_CSS_INVALID_QUEUE_ID;
frame->buf_type = IA_CSS_BUFFER_TYPE_INVALID;
return ia_css_frame_init_planes(frame);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment