Multimedia dedicated weblog.

MONOGRAM x264 Encoder

May 12th, 2009 Posted in Free Software


another update for the x264 encoder filter is available with the following changes:

  • rebuilt with latest libx264
  • code clean ups
  • added options for weighted prediction, mixed reference frames, adaptive b-frame decisions and usage of b-frames as reference frames
  • aspect ratio is preserved from VIDEOINFOHEADER2 structure and encoded in the VUI SAR values.

Source code is available in the SVN repository.

Download binary: (450 KB)



  1. 16 Responses to “MONOGRAM x264 Encoder”

  2. By winnydows on May 12, 2009

    Big thanks. Will test today-tomorrow.

  3. By Trancos on May 12, 2009

    Hi Igor,
    First of all, thanks for all your work, filters work very nice. I wanted to ask you a somehow unrelated question, do you know of any easy way to get the bitrate of an mp4/h264 file? thanks.

  4. By Igor Janos on May 13, 2009

    That depends on whether you are able to get access to the MP4 internal stuff. You can sum the total size of video packets and divide it by duration.

    If not, you can simply divide the size of the MP4 file by its duration - however this will give you the average bitrate for the whole file including other streams.

  5. By winnydows on May 13, 2009

    Intersting question. Igor, did you know how get total size of video packets ? All what I can found is just duration.

  6. By winnydows on May 13, 2009

    Annext-B output still don`t work ?

  7. By Igor Janos on May 13, 2009

    There are boxes in the MP4 file that hold the information for file position and packet sizes for all packets.

    moov\trak\mdia\minf\stbl\stsz for instance.

  8. By winnydows on May 13, 2009

    Bug found: AVIMux don`t accept MM x264 output. x264vfw accepted well.

  9. By Igor Janos on May 13, 2009

    Not a bug - a feature. H.264 is not intended for AVI because it lacks certain necessary features. X264VFW appears to work only because it is a vfw wrapper but is not officially supported for more than 3 years by the x264 devs. .. I think the best thing to do is to forget about this :)

  10. By winnydows on May 13, 2009

    Ok. Understand your position about AVI.
    About packets, I mean exist any DirectShow way get stream size ? Without pharsing header for hundred of different file types.

  11. By faith on May 13, 2009


    I’ve got the problem of compiling the source:

    error LNK2001: unresolved external symbol _FilterDllMain

    libcmtd.lib(crt0.obj) : error LNK2019: unresolved external symbol _main,which was referred in ___tmainCRTStartup

    I’ve already checked BC library(strmbasdus.lib <— C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug_Unicode , size : 2.568KBytes ).

    looking forward to hearing from u.


  12. By Igor Janos on May 13, 2009

    Use this library instead:

  13. By faith on May 15, 2009

    thanks, I got four *.lib file by compling ur libmonodshow solution.

    but another problem appeared. there were some link errors (7) :

    mediasample_ex.obj : error LNK2019: unresolved external symbol “public: __thiscall CMediaSample::CMediaSample(wchar_t *,class CBaseAllocator *,long *,unsigned char *,long)” (??0CMediaSample@@QAE@PA_WPAVCBaseAllocator@@PAJPAEJ@Z),which was referred in “public: __thiscall CMediaSampleEx::CMediaSampleEx(wchar_t *,class CBaseAllocator *,long *,unsigned char *,long)” (??0CMediaSampleEx@@QAE@PA_WPAVCBaseAllocator@@PAJPAEJ@Z)

    something was wrong with my compling libmonodshow ??

    additionally, I link the other strmbasd.lib (dshow BC) with Command “/FORCE:MULTIPLE” for x264 solution, it built without link error. but this way not work for the Release builtion.

  14. By faith on May 15, 2009

    could u add & commit ur own librarys of libmonodshow solution to the SVN reposity?


  15. By Igor Janos on May 16, 2009

    Sure. but not before sunday. If you will be online sometime in the afternoon (central European time) I might be able to help you more.

  16. By Sina™ on May 16, 2009

    hi igor
    there’s no amr plug-in for winamp
    can you develop?

  17. By Igor Janos on May 20, 2009

    @faith: Try downloading this archive. The filter builds fine with these libs.

    @Sina: Sorry, definitely no AMR plugins at the moment.

Post a Comment