当前位置: 代码迷 >> 综合 >> camera拍照回显黑屏,相册中可以正常查看
  详细解决方案

camera拍照回显黑屏,相册中可以正常查看

热度:15   发布时间:2024-01-19 20:48:37.0
拍Wallpaper Size & 160x120的回显是正常的,但拍QVGA及以上Size回显的时候黑屏,在回显界面按Option再返回显示的画面是正常的。拍下来的图片在Image View中查看也是正常的. 
[SOLUTION] 
该问题产生的原因是MED的Buffer设置的不够大,导致在Capture的时候分配1.02MB左右,然后在回显时在
gdi_image_hwjpg_v2.c中申请Memory申请不到,从而JPEG Decode失败导致显示黑屏。可以按以下方法修改: 
File: mcu\media\common\include\med_mem.h 
#define MED_EXT_MEM_SIZE sizeof(med_ext_mem_union) 
修改为 
#define MED_EXT_MEM_SIZE (sizeof(med_ext_mem_union) + 20*1024) 
在函数gdi_image_hwjpeg_v2_draw_internal()中做如下修改: 
 jpegDecQueryFileBuffer( 
 g_hwjpeg_v2_decoder_hdl,  
&readBufferSizeBest,  
&readBufferSizeMinimum, 
 &fsalCacheSizeBest,  
&fsalCacheSizeMinimum); 
 GDI_TRACE(GDI_TRC_DECODE, GDI_JPG_ENTER, readBufferSizeBest, readBufferSizeBest,
readBufferSizeBest, readBufferSizeBest, readBufferSizeBest, readBufferSizeBest, readBufferSizeBest); 
//添加以下代码 
 flag |= GDI_IMAGE_CODEC_FLAG_USE_LESS_BUF; 
//添加以上代码 
 if (flag & GDI_IMAGE_CODEC_FLAG_USE_LESS_BUF) 
 { 
 readBufferSizeBest = readBufferSizeMinimum; 
 }