如何获取DivX编解码器库并将它们放入C / C ++项目中

时间:2013-04-08 04:00:03

标签: c++ c image-compression

我正在编写一个C编程来从jpeg帧创建一个AVI文件,该文件来自相机。 我选择了互联网上推荐的压缩功能来压缩这些帧。我想选择的压缩器是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的情况下获取这些库并将它们直接添加到我的项目中。

0 个答案:

没有答案