📄 img_msg_handler.c
字号:
/*******************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2003
*
*******************************************************************************/
/*******************************************************************************
* Filename:
* ---------
* img_msg_handler.c
*
* Project:
* --------
* Maui
*
* Description:
* ------------
* This file includes message handle functions of image module.
*
* Author:
* -------
* -------
*
*==============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*==============================================================================
*******************************************************************************/
#ifndef MED_NOT_PRESENT
/*==== INCLUDES =========*/
/* system includes */
#include "kal_release.h"
#include "kal_trace.h"
#include "stack_common.h"
#include "stack_msgs.h"
#include "app_ltlcom.h" /* Task message communiction */
#include "syscomp_config.h"
#include "task_config.h" /* Task creation */
#include "app_buff_alloc.h" /* Declaration of buffer management API */
#include "stacklib.h" /* Basic type for dll, evshed, stacktimer */
#include "event_shed.h" /* Event scheduler */
#include "stack_timer.h" /* Stack timer */
/* global includes */
#include "l1audio.h"
#include "device.h"
#include "resource_audio.h"
#include "nvram_enums.h"
#include "nvram_struct.h"
#include "nvram_user_defs.h"
#include "nvram_data_items.h"
#include "custom_nvram_editor_data_item.h"
/* DRM_REPLACE */
#include "drm_gprot.h"
/* local includes */
#include "med_global.h"
#include "med_main.h"
#include "aud_defs.h"
#include "med_struct.h"
#include "med_api.h"
#include "med_context.h"
#include "med_utility.h"
#include "med_smalloc.h"
#include "img_main.h"
media_img_decode_req_struct img_context_last_req;
#if defined(JPG_DECODE) || defined(JPG_ENCODE)
#include "jpeg.h"
jpeg_decode_process_struct jpg_decode;
#endif /* defined(JPG_DECODE) || defined(JPG_ENCODE) */
#if (defined(EXIF_SUPPORT))
#include "exif.h"
#endif
#if defined(USE_HW_GIF_DECODER_V2)
#include "gif_decoder_v2.h"
//#define GIF_FILE_BUFFER_SIZE 4096
gif_config_struct img_context_gif_config;
gif_info_struct *img_context_gif_info;
#endif /* defined(USE_HW_GIF_DECODER_V2) */
#if defined(USE_HW_PNG_DECODER_V1) || defined(USE_SW_PNG_DECODER)
#include "png_decoder.h"
#define PNG_FILE_BUFFER_SIZE (16*1024)
png_config_struct img_context_png_config;
png_inform_struct *img_context_png_info;
#endif /* defined(USE_HW_PNG_DECODER_V1) */
#include "fat_fs.h"
#ifdef __IMG_TRACE_ON__
#include "med_trc.h"
#endif
#ifdef __MED_IMG_MOD__
#define MAX_IMAGE_CODEC_COUNT 1
#ifdef __MED_CAM_MOD__
#define CAM_FREE_CAPTURE_BUFFER() if (cam_context_p->capture_buffer_p) \
med_free_ext_mem((void**)&cam_context_p->capture_buffer_p)
#endif /* __MED_CAM_MOD__ */
#include "lcd_if.h"
#include "lcd_sw_rnd.h"
#include "PixtelDataTypes.h"
#include "gdi_internal.h"
#include "gd_primitive.h"
extern S16 gdi_gif_stack[];
extern S32 GDI_TREE_BUFFER[];
extern U8 gdi_bytestream_buffer[BYTESTREAM_BUFFER_SIZE];
#define GDI_CLIP_TWO_RECT1(X1, Y1, X2, Y2,CX1,CY1,CX2,CY2,NULL_ACTION)\
{ \
if(X1 > X2) { NULL_ACTION; } \
else if(Y1 > Y2) { NULL_ACTION; } \
else if(X2 < CX1) { NULL_ACTION; } \
else if(Y2 < CY1) { NULL_ACTION; } \
else if(X1 > CX2) { NULL_ACTION; } \
else if(Y1 > CY2) { NULL_ACTION; } \
else \
{ \
if(X1 < CX1) { X1 = CX1; } \
if(Y1 < CY1) { Y1 = CY1; } \
if(X2 > CX2) { X2 = CX2; } \
if(Y2 > CY2) { Y2 = CY2; } \
} \
}
/*==== FUNCTIONS ===========*/
/*****************************************************************************
* FUNCTION
* img_open_image_file
* DESCRIPTION
* This function is to open image file for encode.
* PARAMETERS
* file_name [?]
* RETURNS
* void
*****************************************************************************/
kal_int32 img_open_image_file(kal_wchar *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 max_file_buffer = 200*1024;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* check if the format valid */
if (med_get_media_type((kal_wchar*) file_name) != MED_TYPE_JPG)
{
return MED_RES_INVALID_FORMAT;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -