Multimedia dedicated weblog.

MONOGRAM AAC Decoder v0.9.0.0

January 3rd, 2008 Posted in Free Software

Hello everybody.

Some time ago I’ve been told that there is a blank spot in free aac decoders - LATM support. And since LATM broadcasts have appeared recently in Europe I’ve decided to take a closer look at it. This filter is based on the widely used libFAAD2 library and should be able to decode most of AAC streams.

Features:

  • Support for Raw, ADTS, LATM streams
  • 1-6 channels
  • Can initialize dynamically (without specifying decoder specific info in media type negotiation process)
  • Dynamic format changes
  • GNU GPL with sources

AAC Decoder

Currently the filter accepts only several media types as offered by Elecard demultiplexor. If you happen to find some more don’t hesitate and tell me. At the moment I did not have any LATM + HE-AAC files so I cannot guarantee that this combination will work. But as soon as I get my hands on such file I’ll implement missing HE-AAC parsing stuff.

Again… this filter was compiled with Visual Studio 2005 SP1, so please download the SP1 Redistributable Package before yelling that it’s not working.

You can download sources here : mm_aac_dec_0.9.0.0_src.zip (662 KB)

You can download binaries here : mm_aac_dec_0.9.0.0_bin.zip (183 KB)

Please give me some feedback so I’d know whether it’s working or not.

Igor

  1. 20 Responses to “MONOGRAM AAC Decoder v0.9.0.0”

  2. By Saran on Jan 10, 2008

    Good work. Is it possible for you to provide MPEG-4 BSAC decoder along with LATM/LOAS parser?

  3. By Igor Janos on Jan 10, 2008

    Unfortunately not at the moment. This filter is based on libFAAD2, which does not support BSAC object types.

    We at MONOGRAM Multimedia are about to start developing an own library which could hopefully support BSAC, but I can’t tell you the exact date it will be finished.

  4. By Kurien Mathew on Feb 7, 2008

    What filters does it support on input? For eg an async file source containing raw AAC bitstream is not accepted.

  5. By Melvin on Feb 14, 2008

    Hi,

    Great Effort. I have tried compiling the src files,encounter some errors namely streams.h is not found.I have tried installing DirectX 9.0 SDK & SP1 Redistributable Package. But other errors were encountered. Its there other libs that I must install? Thanks!

  6. By Melvin on Feb 14, 2008

    Hi I have tried compiling the src files but I keep getting streams.h not found in the stdafx.h header. Is there an executable? or other SDK that must be included?Thanks

  7. By Igor Janos on Feb 14, 2008

    @Kurien: This filter operates in push-mode so it needs a parser filter to provide it with data. The usual scenario is to use this filter after a MPEG-TS demux filter.

    @Melvin: You need to download the PlatformSDK and you need to compile the directshow baseclasses. They contain the streams.h file which includes other DirectShow-required files.

  8. By Melvin on Feb 15, 2008

    Hi I have complied directshow baseclasses and tried compling the decoder.aac but I encountered an Error: LINK1181: Cannot open input file strmbaseu.lib and also strmiids.lib. Can I try out on an executable?

  9. By Igor Janos on Feb 15, 2008

    this should probably be just naming convention. Try following the “DirectShow BaseClasses and MFC” article. And then I use these settings for output:

    strmbasdu.lib (MFC-Shared, Unicode, Debug)
    strmbaseu.lib (MFC-Shared, Unicode, Release)
    strmbasdus.lib (MFC-Static, Unicode, Debug)
    strmbaseus.lib (MFC-Static, Unicode, Release)

    You should also make sure you copy these .lib files to the platformSDK lib directory or make your IDE aware of the output directories of BaseClasses.

    But if you don’t need to work with the source code directly you should probably rather use the precompiled binary.

  10. By Melvin on Feb 15, 2008

    Thanks! I have downloaded e binary and registered the .ax file using regsvr32.exe.Actually I trying to playback a saved AAC-LD bitstream that has been LATM formatted.I tried rendering the bitstream using Monogram Graphstudio but to no avail.
    It says cannot render file. Is there a way to render the bitstream…? thanks again..

  11. By Igor Janos on Feb 15, 2008

    Hm. not really sure. The decoder itself is passive and works in push mode and needs an upstream filter to feed it with data. This is usually done by MPEG-TS parser. I’m not aware of any standalone LATM Parser filters… I may write one once I have a few spare hours. If you’d like to try it for yourself, you can read this board discussion to find out how to specify format buffers.

  12. By DMAN on Feb 24, 2008

    Hi Igor, First of all great work!

    We’re trying to get LATM AAC streams work with DVB-T in Norway and New Zealand.
    Unfortunately your decoder isn’t working, more specifically no audio is decoded by your filter.
    If I setup the demux pin to use the media subtype of LATM_AAC then your filter does not even connect.
    Can I send you some .TS recordings to test?

    DMAN

  13. By Igor Janos on Feb 24, 2008

    Hello.

    Sure. I’d love to have some more TS dumps to play with. Perhaps you did not specify the media type properly. I have already delt with this some time ago. There is a topic in my discussion board about the decoder usage.

    Just follow this link : http://dev.monogram.sk/forum/viewtopic.php?f=2&t=8
    and you should be able to make it work.

    Igor

  14. By DMAN on Feb 24, 2008

    Hi Igor,

    Yeah I read that and unfortunately I’m not great with DirectShow development.
    How can I get you some .TS files to verify your filter is compatible and can playback the content?

    DMAN

  15. By Igor Janos on Feb 25, 2008

    Depends on how big they are. If they are less than 30MB you can email them to me directly. My email is quite easy to figure out - my surname \#@t/# monogram.sk.
    If they are larger I could setup an FTP account on the dev.monogram.sk machine for you to upload the file.

    Igor

  16. By DMAN on Feb 25, 2008

    Igor, A better way, you can grab them from our FTP ;-)

    Address: http://ftp.team-mediaportal.com
    Login: tsdump@team-mediaportal.com
    Password: mpuser88

    The files you want are:

    ronilse_DVBT_another_NRK2.ts & NZ_MediaWorks_570_T_TV3_FTA.ts

    There is also a full DVB-T mux dump as well called ronilse_DVBT_raw_paket_dump.ts

    If you’re interested the source code for our TS reader is here…

    http://mediaportal.svn.sourceforge.net/viewvc/mediaportal/trunk/TvEngine3/Filters/sources/TsReader/

    DMAN

  17. By Igor Janos on Feb 25, 2008

    Perhaps there’s something wrong with the FTP permissions. I’m able to list the folder but I can’t read the files :-\

  18. By DMAN on Feb 25, 2008

    Igor,

    I have sent you an email with direct links.

    DMAN

  19. By Melvin on Mar 3, 2008

    Okie..a million thanks in advance..

  20. By sudi on Jul 3, 2009

    Hello Mr.Igor Janos,

    I was trying to use your AAC decoder filter but the release version of your binary is crashing giving a runtime error.

    So i compiled your source code and tried to use the release version even then it is giving the same error.

    But the debug version of the same is working fine.

    so can u please update ur decoder such that it works in release mode.

    I am using my own TS demultiplexer

  1. 1 Trackback(s)

  2. Feb 28, 2008: Calling all MP New Zealanders (Both of you!!) - Page 96 - MediaPortal Forum

Post a Comment