⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 img_msg_handler.c

📁 最新MTK手机软件源码
💻 C
📖 第 1 页 / 共 5 页
字号:
/*******************************************************************************
*  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 + -