
Add support for JPEG Thumbnail retry mechanism. Restructure the command buffer arrangement, add JPEG generic blob functionality and add support to notify user when the JPEG Thumbnail encoder size increases than the threshold size received through blob. CRs-Fixed: 2999106 Change-Id: Ica74f934939b562a3a88af551bfb5de79399e247 Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
70 řádky
1.7 KiB
C
70 řádky
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2017-2018, 2021, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _CAM_JPEG_CONTEXT_H_
|
|
#define _CAM_JPEG_CONTEXT_H_
|
|
|
|
#include <media/cam_jpeg.h>
|
|
|
|
#include "cam_context.h"
|
|
#include "cam_jpeg_hw_mgr_intf.h"
|
|
|
|
#define CAM_JPEG_HW_EVENT_MAX 20
|
|
|
|
/**
|
|
* struct cam_jpeg_context - Jpeg context
|
|
* @base : Base jpeg cam context object
|
|
* @jpeg_req : Jpeg reguest data stored during prepare update
|
|
* @req_base : Common request structure
|
|
*/
|
|
struct cam_jpeg_context {
|
|
struct cam_context *base;
|
|
struct cam_jpeg_request_data jpeg_req[CAM_CTX_REQ_MAX];
|
|
struct cam_ctx_request req_base[CAM_CTX_REQ_MAX];
|
|
};
|
|
|
|
/* cam jpeg context irq handling function type */
|
|
typedef int (*cam_jpeg_hw_event_cb_func)(
|
|
struct cam_jpeg_context *ctx_jpeg,
|
|
void *evt_data);
|
|
|
|
/**
|
|
* struct cam_jpeg_ctx_irq_ops - Function table for handling IRQ callbacks
|
|
*
|
|
* @irq_ops: Array of handle function pointers.
|
|
*
|
|
*/
|
|
struct cam_jpeg_ctx_irq_ops {
|
|
cam_jpeg_hw_event_cb_func irq_ops[CAM_JPEG_HW_EVENT_MAX];
|
|
};
|
|
|
|
/**
|
|
* cam_jpeg_context_init()
|
|
*
|
|
* @brief: Initialization function for the JPEG context
|
|
*
|
|
* @ctx: JPEG context obj to be initialized
|
|
* @ctx_base: Context base from cam_context
|
|
* @hw_intf: JPEG hw manager interface
|
|
* @ctx_id: ID for this context
|
|
*
|
|
*/
|
|
int cam_jpeg_context_init(struct cam_jpeg_context *ctx,
|
|
struct cam_context *ctx_base,
|
|
struct cam_hw_mgr_intf *hw_intf,
|
|
uint32_t ctx_id);
|
|
|
|
/**
|
|
* cam_jpeg_context_deinit()
|
|
*
|
|
* @brief: Deinitialize function for the JPEG context
|
|
*
|
|
* @ctx: JPEG context obj to be deinitialized
|
|
*
|
|
*/
|
|
int cam_jpeg_context_deinit(struct cam_jpeg_context *ctx);
|
|
|
|
#endif /* __CAM_JPEG_CONTEXT_H__ */
|