カメラから取得した jpeg フレームから AVI ファイルを作成する C プログラミングを書いています。これらのフレームを圧縮するために、インターネットで推奨されている圧縮関数を選択しました。私が選びたいコンプレッサーはDivXエンコーダーです。
HRESULT AddAviFrame(HAVI avi, HBITMAP hbm)
{ if (avi==NULL) return AVIERR_BADHANDLE;
if (hbm==NULL) return AVIERR_BADPARAM;
DIBSECTION dibs; int sbm = GetObject(hbm,sizeof(dibs),&dibs);
if (sbm!=sizeof(DIBSECTION)) return AVIERR_BADPARAM;
TAviUtil *au = (TAviUtil*)avi;
//
// create an empty compression, if the user hasn't set any
if (au->psCompressed==0)
{ AVICOMPRESSOPTIONS opts; ZeroMemory(&opts,sizeof(opts));
opts.fccHandler=mmioFOURCC('D','i','v','X');
HRESULT hr = AVIMakeCompressedStream(&au->psCompressed, au->ps, &opts, NULL);
if (hr != AVIERR_OK) {au->iserr=true; return hr;}
hr = AVIStreamSetFormat(au->psCompressed, 0, &dibs.dsBmih, dibs.dsBmih.biSize+dibs.dsBmih.biClrUsed*sizeof(RGBQUAD));
if (hr!=AVIERR_OK) {au->iserr=true; return hr;}
}
問題は、DivX Player をインストールして以来、このタイプのコーデックしか使用できないことです。Player のインストール後に、システムに DivX コーデック用のライブラリが追加されたようです。これらのライブラリを入手して、Media Player をインストールせずにプロジェクトに直接追加するにはどうすればよいですか。