BREW 中显示JPEG画面不完整,日志显示*AEEIJGDecoder.:837 - IJGDecoder_Decode: decoder failure

wangbenli 2009-11-27 11:11:15
如题,我使用socket读取数据流,然后解出一帧一帧的Jpeg格式的图片,发现显示的时候,第一张图片显示完整,第二张就花屏不完整了,我使用了DBGPRINTF()打印了图片帧大小的信息和Jpeg接口绘制图片的时间信息,查看日志如下:
*Network.c:551 - FrameSize:7437
*Network.c:555 - Draw time:35622473
*sim_dssocket2.:4266 - ERROR: 102 "ps->bRecvWait" fulfilled!
*sim_dssocket2.:2029 - DSIFace_BringUpPhysLink pif=6738648, state=UP
*sim_dssocket2.:1461 - DSIFace_SendEvent pif=6738648, event=QOS_UNAWARE_SYSTEM
*sim_dssocket2.:1638 - sending event to app_id 0
*sim_dssocket2.:1638 - sending event to app_id 1
*sim_dssocket2.:3881 - dss_pppclose: app_id=0
*sim_dssocket2.:3890 - another app bound to pif 6738648
*sim_dssocket2.:919 - Unbind pif 6738648 from app_id 0
*sim_dssocket2.:911 - index 0 app_id=1
*sim_dssocket2.:3881 - dss_pppclose: app_id=0
···
*Network.c:551 - FrameSize:7456
*AEEIJGDecoder.:837 - IJGDecoder_Decode: decoder failure
*OEMOS.c:743 - BPOINT Type 3, Address: 0x0505E068
*Network.c:555 - Draw time:36265012
···
*Network.c:551 - FrameSize:7410
*AEEIJGDecoder.:837 - IJGDecoder_Decode: decoder failure
*OEMOS.c:743 - BPOINT Type 3, Address: 0x0505E068
*Network.c:555 - Draw time:36498601

日志显示解码失败?
解码为什么会失败呢?

期待高人的帮助,非常感谢~
...全文
2039 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangbenli 2009-12-01
  • 打赏
  • 举报
回复
检索到一帧的开始和结束后,根据校验码判断该帧是否正确,正确则让其显示,否则丢弃。不过没有发现丢弃帧的现象,只是发现,除第一次外,每次在调用IImage_Draw()后,都会在VS的输出中打印
*AEEIJGDecoder.:837 - IJGDecoder_Decode: decoder failure

算法在其他平台上都得到过验证的,我也debug过,没有问题,就是发现显示不出来或显示花屏,但是有时候又正常(很少)

还有就是,打印这样的错误:
*OEMOS.c:743 - BPOINT Type 3, Address: 0x050DE220
*sim_dssocket2.:4266 - ERROR: 102 "ps->bRecvWait" fulfilled!
这应该是socket读取不成功的时候报错吧?因为之后马上就显示接受了多少数据(我自己使用的DBGPRINTF)

要是问题出在这里,会是什么原因呢?怎么样才能更正呢?

高手帮忙在看看,拜托了~
zyzlhzyz 2009-12-01
  • 打赏
  • 举报
回复
我想问一下用Socket读出数据流后,
你是怎么解出一帧一帧的JPEG图片的?
wangbenli 2009-12-01
  • 打赏
  • 举报
回复
要真如楼上所说的话,岂不是很麻烦?该怎么样解决呢?难道吧前一帧的数据和当前帧的数据或一下?

你当初是怎么解决的?谢谢~
FLYUP_CHEN 2009-11-28
  • 打赏
  • 举报
回复
之前我在做关于gif读取动画的时候也曾遇到过第一帧是好的,以后的帧就是显示不完整,我猜想第一帧和后面的帧是有关系的,也就是为了节省空间对第二帧的数据时相对于第一帧有变化的地方,没有变化的数据应该是和第一帧相同的,你可以对比一下第一帧和第二帧,没有显示地方是不是和第一帧是相同的?
wangbenli 2009-11-27
  • 打赏
  • 举报
回复
没有啊,为什么要用这个呢?
  • 打赏
  • 举报
回复
用了一下IImage的notify了么?
wangbenli 2009-11-27
  • 打赏
  • 举报
回复
应该和是不是用IImage_Notify()没有什么关系吧?根据我的逻辑,先解析出一张JPEG格式的图片,然后吧图片显示,我在日志中还打印了图片的大大小的,为什么第一张图片显示了,随后的图片都是只显示以部分呢?
期待高人回答~
多谢了~
wangbenli 2009-11-27
  • 打赏
  • 举报
回复
花屏如下:
[img=http://]D:\Documents and Settings\Benli Wang\My Documents\My Pictures\brew.bmp[/img]

3,180

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧