通常使用Linux/GStreamer媒体库的都是一些嵌入式设备,而嵌入式设备的显示屏通常都比较小,但是日常生活中的数码相机拍摄的JPG照片都是千万像素级的,分辨率有很大的差距。
常规的显示jpeg图片的做法是先用JPEG解码算法解码JPG图片,然后显示,拖动滚动条看全景,或者解码后做缩放看全景。
由于嵌入式设备运算能力有限,显示像素有限,通常是做缩放后看全景,但是先解码成原始大小再做缩放很耗CPU,有些大图片在ARM9芯片上要5到10秒钟才能做完解码和缩放,终端用户体验很不好,因此解码要大大提速。
具体情况具体分析,因为嵌入式设备显示屏较小,就不需要解码成JPG图片原始大小,在解码的时候就直接缩放到合适的大小,这样就大大的提速了。
Linux/GStreamer中使用的jpeg编解码库代码很完备,支持很多的选项,其中就有解码直接缩放选项,只要我们把这个选择从命令行控制移动到代码库中即可。
实际测试效果大大的好。