linux/drivers/media/platform/st/sti/delta/delta-mjpeg-fw.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) STMicroelectronics SA 2015
 * Author: Hugues Fruchet <[email protected]> for STMicroelectronics.
 */

#ifndef DELTA_MJPEG_FW_H
#define DELTA_MJPEG_FW_H

/*
 * struct jpeg_decoded_buffer_address_t
 *
 * defines the addresses where the decoded picture/additional
 * info related to the block structures will be stored
 *
 * @display_luma_p:		address of the luma buffer
 * @display_chroma_p:		address of the chroma buffer
 */
struct jpeg_decoded_buffer_address_t {};

/*
 * struct jpeg_display_buffer_address_t
 *
 * defines the addresses (used by the Display Reconstruction block)
 * where the pictures to be displayed will be stored
 *
 * @struct_size:		size of the structure in bytes
 * @display_luma_p:		address of the luma buffer
 * @display_chroma_p:		address of the chroma buffer
 * @display_decimated_luma_p:	address of the decimated luma buffer
 * @display_decimated_chroma_p:	address of the decimated chroma buffer
 */
struct jpeg_display_buffer_address_t {};

/*
 * used for enabling main/aux outputs for both display &
 * reference reconstruction blocks
 */
enum jpeg_rcn_ref_disp_enable_t {};

/* identifies the horizontal decimation factor */
enum jpeg_horizontal_deci_factor_t {};

/* identifies the vertical decimation factor */
enum jpeg_vertical_deci_factor_t {};

/* status of the decoding process */
enum jpeg_decoding_error_t {};

/* identifies the decoding mode */
enum jpeg_decoding_mode_t {};

enum jpeg_additional_flags_t {};

/*
 * struct jpeg_video_decode_init_params_t - initialization command parameters
 *
 * @circular_buffer_begin_addr_p:	start address of fw circular buffer
 * @circular_buffer_end_addr_p:		end address of fw circular buffer
 */
struct jpeg_video_decode_init_params_t {};

/*
 * struct jpeg_decode_params_t - decode command parameters
 *
 * @picture_start_addr_p:	start address of jpeg picture
 * @picture_end_addr_p:		end address of jpeg picture
 * @decoded_buffer_addr:	decoded picture buffer
 * @display_buffer_addr:	display picture buffer
 * @main_aux_enable:		enable main and/or aux outputs
 * @horizontal_decimation_factor:horizontal decimation factor
 * @vertical_decimation_factor:	vertical decimation factor
 * @xvalue0:			the x(0) coordinate for subregion decoding
 * @xvalue1:			the x(1) coordinate for subregion decoding
 * @yvalue0:			the y(0) coordinate for subregion decoding
 * @yvalue1:			the y(1) coordinate for subregion decoding
 * @decoding_mode:		decoding mode
 * @additional_flags:		additional flags
 * @field_flag:			determines frame/field scan
 * @is_jpeg_image:		1 = still jpeg, 0 = motion jpeg
 */
struct jpeg_decode_params_t {};

/*
 * struct jpeg_decode_return_params_t
 *
 * status returned by firmware after decoding
 *
 * @decode_time_in_us:	decoding time in microseconds
 * @pm_cycles:		profiling information
 * @pm_dmiss:		profiling information
 * @pm_imiss:		profiling information
 * @pm_bundles:		profiling information
 * @pm_pft:		profiling information
 * @error_code:		status of the decoding process
 * @ceh_registers:	array where values of the Contrast Enhancement
 *			Histogram (CEH) registers will be stored.
 *			ceh_registers[0] correspond to register MBE_CEH_0_7,
 *			ceh_registers[1] correspond to register MBE_CEH_8_15
 *			ceh_registers[2] correspond to register MBE_CEH_16_23
 *			Note that elements of this array will be updated only
 *			if additional_flags has JPEG_ADDITIONAL_FLAG_CEH set.
 */
struct jpeg_decode_return_params_t {};

#endif /* DELTA_MJPEG_FW_H */