0
点赞
收藏
分享

微信扫一扫

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

拍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;

}

举报

相关推荐

0 条评论