Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: MPEG4 AAC non-conforming evaluation program (Read 4419 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

MPEG4 AAC non-conforming evaluation program

Hi folks,

I have uploaded a MPEG4 AAC test program.. It is NOT MPEG4 compliant as it does not conform to the standard. However, I am using as much of its tools as possible..

Conformance isn't done yet.. as such you will have to use the decoder that comes with the program to decode the encoded mp4a files into PCM files. (Unfortunately, you will need somekind of program that could playback headless raw pcm files such as CoolEdit.)

Input files can be in WAV or raw PCM format..

Please note..

1.  Gain Control selection would only change the filterbanks from the 2048 and 256 length module to the Sony Hybrid MDCT FilterBank. Its Bitstream is not scaleable.. (Not Implemented yet)..

2. Constant Bitrates only worked on Non Gain Control.. If you are using gain-control, you will have to switch to variable bitrates. There is no gurrantee that it will work at 128 kbps or 160 kbps.. In fact it is optimized with PNS, TNS, INTENSITY and MS Stereo ON.

3. Automatic window type switching, KB / Sine windowing function isn't properly implemented yet. You can manually force the switch..

4. The Decoder & Encoder isn't properly optimized yet..
 
Please be free to post your comment. Your input would be most valued.

 

MPEG4 AAC non-conforming evaluation program

Reply #1
Thanks wkwai,

I don't have too much time these days, but I did give a try to your codec -  nice work, it is always good to see more development in perceptual audio field.

Codec doesn't sound bad,  but I have some remarks:

- some of the tools (either PNS or BWP) break the bit rate control, and you end up with very small bit rate

- TNS with gain control is possible IMO by the standard, you should consider that

Wave in/out would also be a very good addy

MPEG4 AAC non-conforming evaluation program

Reply #2
Actually if you measure the size ratio between the original clips and the encoded clips, the bitrates is actually less than what it should be.. It is because, I have not implemented the fillbits module.. The part when the bits buffer exceeds its maximum size. The extra bits is just discarded. 

As for BWP, I don't really think it is very efficient.. I have not try out the LTP though.. BWP is disabled in a lot of cases such as when there is block switching, PNS and Intensity.. In fact I have some doubts about integrating BWP with MS Stereo! There is some theoritical calculations that indicate potential trouble in the use of BWP with MS Stereo..

MPEG4 AAC non-conforming evaluation program

Reply #3
Quote
Actually if you measure the size ratio between the original clips and the encoded clips, the bitrates is actually less than what it should be.. It is because, I have not implemented the fillbits module.. The part when the bits buffer exceeds its maximum size. The extra bits is just discarded.


I think you should avoid the situation where you would have to use fillbits as much as possible, for example with overcoding if you  know the bitres status apriori, which is usual case in most AAC encoders.

If you use greedy-merge huffman coding in that case it has sense, since usually greedy-merge is employed only after noise shaping has been done, and then you always have average 40-80 bits more. Sometimes the bitres buffer might be full and you'd have to employ fill bits.

Quote
As for BWP, I don't really think it is very efficient.. I have not try out the LTP though.. BWP is disabled in a lot of cases such as when there is block switching, PNS and Intensity.. In fact I have some doubts about integrating BWP with MS Stereo! There is some theoritical calculations that indicate potential trouble in the use of BWP with MS Stereo..


Never tried BWP though in my encoder (actually I did in Psytel - but that was ages ago) - since it imposes problems with seeking and it is not commercially viable (i.e. - no commercial VLSI/DSP decoder will use that) - and the theoritcal gain is anyway very small

MPEG4 AAC non-conforming evaluation program

Reply #4
I am impressed of your encoder. Will you make newer versions? Will you make plugin for Winamp? I think if you make WAV output it will be good.

MPEG4 AAC non-conforming evaluation program

Reply #5
I don't really know.. Actually, I was sick for the last  2 years and unable to work for some time.. So, I did this program as some kind of "keep myself fit" exercise at home...  You know how it is like to stop programming for some time.. I needed to do something to remain at the "cutting - edge".. 

I'll be rejoining the corporate world very soon..

MPEG4 AAC non-conforming evaluation program

Reply #6
Quote
Never tried BWP though in my encoder (actually I did in Psytel - but that was ages ago) - since it imposes problems with seeking and it is not commercially viable (i.e. - no commercial VLSI/DSP decoder will use that) - and the theoritcal gain is anyway very small

You are right, the prediction gain is very small.. I think LTP would perform better though I have not tried it out yet..