编码的JPEG和JPEG差异

时间:2013-06-11 23:15:46

标签: jpeg output encode encoder

我在jpeg编码器的char* buffer中有一个JPEG文件。假设如果我把它正确写入文件它将是pic.jpg。说然后我从pic.jpg中使用ifstream读入并将其存储在char* buffer2中。

这两个缓冲区之间有什么区别,如果有的话?

(我问的原因是,我在jpeg解码器的char * buffer中有jpeg文件,我需要将它写入磁盘。但是使用系统file descripter和{{1 write()中的方法没有正确地写出来...我可以打开图片,但很明显颜色是关闭的。请假设图片从解码器输出时有有效的颜色,因为我可以直接从解码器写入磁盘,一切都很好。只是我需要将它放在fcntl.h中用于其他目的,我需要在进一步处理之前验证char* buffer是否有有效数据。 )

1 个答案:

答案 0 :(得分:0)

您给出的描述意味着您正在正确读取Y分量(负责亮度)而不是正确读取UV分量(负责颜色)。这看起来要么您没有将整个解码数据写入磁盘,要么就是在渲染(显示)时不从磁盘读取整个解码数据。最好的起点是检查解码数据的大小(大小=高度*原始jpg图像的宽度)。

http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch6/Images/ch6_image_downsampling.jpg