独自の DCT 計算を作成しました。
(必要) を使用jpeg_write_coefficients
して 64 個の DCT 値を JPEG ファイルに書き込むにはどうすればよいですか?jpeg_write_coefficients
jvirt_barray_ptr * coef_arrays
これを作成するにはどうすればよいですか?
独自の DCT 計算を作成しました。
(必要) を使用jpeg_write_coefficients
して 64 個の DCT 値を JPEG ファイルに書き込むにはどうすればよいですか?jpeg_write_coefficients
jvirt_barray_ptr * coef_arrays
これを作成するにはどうすればよいですか?
関数を探しrequest_virt_barray
ます ( をjmemmgr.c
参照)。
この質問も見てください。DCT係数を書き込むのではなく読み取っていますが、係数配列がどのように格納されているかがわかります。係数の他に、(j_compress_ptr cinfo
構造体を介して) 量子化テーブルを渡す必要もあります。これは、libjpeg ライブラリ内で順方向 DCT と量子化が 1 つのステップで実行されるためです。フォワード DCT を自分で実行したい場合は、量子化も自分で実行する必要があります。
また、libjpeg のドキュメントを一読する価値もあります。長いですが、実際には非常に読みやすく、ライブラリの理解を大幅に向上させます。最も役立つファイルはstructure.txt
. メモリ管理とエンコーダー構造に関するセクションがあり、役立つ可能性があります。
jpeg_read_coefficients
次のような dct 係数マネージャーの構造を作成するために従うことができます。
:dstInfo->mem->alloc_small,dstInfo->mem->request_virt_barray,dstInfo->mem->realize_virt_arrays
そして、virt_barray_list
新しい dct 係数/quantyTableQ を入れる dst ターゲットを取得するために使用します。次に、jpeg_write_coefficients を呼び出して JPEG ファイルを生成します。