4

独自の DCT 計算を作成しました。

(必要) を使用jpeg_write_coefficientsして 64 個の DCT 値を JPEG ファイルに書き込むにはどうすればよいですか?jpeg_write_coefficientsjvirt_barray_ptr * coef_arrays

これを作成するにはどうすればよいですか?

4

3 に答える 3

2

関数を探しrequest_virt_barrayます ( をjmemmgr.c参照)。

この質問も見てください。DCT係数を書き込むのではなく読み取っていますが、係数配列がどのように格納されているかがわかります。係数の他に、(j_compress_ptr cinfo構造体を介して) 量子化テーブルを渡す必要もあります。これは、libjpeg ライブラリ内で順方向 DCT と量子化が 1 つのステップで実行されるためです。フォワード DCT を自分で実行したい場合は、量子化も自分で実行する必要があります。

また、libjpeg のドキュメントを一読する価値もあります。長いですが、実際には非常に読みやすく、ライブラリの理解を大幅に向上させます。最も役立つファイルはstructure.txt. メモリ管理とエンコーダー構造に関するセクションがあり、役立つ可能性があります。

于 2011-11-02T00:19:45.957 に答える
-1

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 ファイルを生成します。

于 2014-10-30T08:51:13.577 に答える