CでJPEG/JFIFエンコーダとデコーダを一から書き込もうとしていますが、サンプルJPEGファイルを試しましたが、MSのペイント、Firefoxを使用して開くことができないようです。しかし、JPEGsnoop(http://www.impulseadventure.com/photo/jpeg-snoop.html?ver=1.5.2)とhttp://nothings.org/stb_image.cを使ってデコードできます。私はサンプルのJPEGファイルがJPEG/JFIF標準に準拠していると思いますが、私はMSのペイントやFirefoxのようなアプリケーションがそれを開くことができないのはなぜ分かりません。ここでjpegファイル形式の質問
はサンプルJPEGがどのように見えるかです:
SOI APP0 segment DQT segment (contains two quantization tables) COM segment SOF0 segment DHT segment (contains four Huffman tables) SOS segment huffman encoded data EOI
サンプルのJPEGファイルは3つの成分Y CbとCrを持っています。 Cb Cr成分のサブサンプリングはありません。 2つの量子化テーブルはすべて1で埋められます。 DHTセグメントにおける 四のハフマンテーブルはすべて同一であり、それはすべてのコードがエンコードは、本当にデータを圧縮していないので、ハフマン8ビット、ある意味、この
[0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0] [0,1,2, ... , 254]
のように見えます。
ハフマン符号化されたデータは、次のようになります。
[0x0000(DC) 0x0000(AC)](Y) [0x0000(DC) 0x0000(AC)](Cb) [0x0000(DC) 0x0000(AC)](Cr) for all (i, j) MCUs except (10, 10) the data in (10, 10) MCU: [0x0008(DC) 0x0000(DC), 0x0000(AC)](Y) [0x0000(DC) 0x0000(AC)](Cb) [0x0000(DC) 0x0000(AC)](Cr)
誰もがこのサンプルのJPEGファイルと間違っているものを私に伝えることができますか?ありがとう。ここで
は、私は(私は最初からそれを書いていないが)いくつかのPNGコードで同様の問題を持っていた数年前のサンプルのJPEGファイル(ha.jpg)http://www.guoxiaoyong.net/ha.jpg
サンプルファイルへのリンクを提供できますか? –
なぜ閉じる?ポスターはたくさんの仕事をしており、明確に質問し、彼らが何をしているのかを説明しました。 –