0

カメラから取得した 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 をインストールせずにプロジェクトに直接追加するにはどうすればよいですか。

4

0 に答える 0