VideoHelp Forum
+ Reply to Thread
Results 1 to 4 of 4
Thread
  1. Since the official FFmpeg twitter account already tweeted about it, I guess it is safe to spread the news here:

    The LONG~ stagnated free AAC encoder in FFmpeg (not fdk-aac, the default free one) finally received some extensive update.

    Improvements to twoloop and RC logic are extensive.

    The non-exhaustive list of twoloop improvments includes:
    - Tweaks to distortion limits on the RD optimization phase of twoloop
    - Deeper search in twoloop
    - PNS information marking to let twoloop decide when to use it
    (turned out having the decision made separately wasn't working)
    - Tonal band detection and priorization
    - Better band energy conservation rules
    - Strict hole avoidance

    For rate control:
    - Use psymodel's bit allocation to allow proper use of the bit
    reservoir. Don't work against the bit reservoir by moving lambda
    in the opposite direction when psymodel decides to allocate more/less
    bits to a frame.
    - Retry the encode if the effective rate lies outside a reasonable
    margin of psymodel's allocation or the selected ABR.
    - Log average lambda at the end. Useful info for everyone, but especially
    for tuning of the various encoder constants that relate to lambda
    feedback.

    Psy:
    - Do not apply lowpass with a FIR filter, instead just let the coder
    zero bands above the cutoff. The FIR filter induces group delay,
    and while zeroing bands causes ripple, it's lost in the quantization
    noise.
    - Experimental VBR bit allocation code
    - Tweak automatic lowpass filter threshold to maximize audio bandwidth
    at all bitrates while still providing acceptable, stable quality.

    I/S:
    - Phase decision fixes. Unrelated to #2686, but the bugs only surfaced
    when the merge was finalized. Measure I/S band energy accounting for
    phase, and prevent I/S and M/S from being applied both.

    PNS:
    - Avoid marking short bands with PNS when they're part of a window
    group in which there's a large variation of energy from one window
    to the next. PNS can't preserve those and the effect is extremely
    noticeable.

    M/S:
    - Implement BMLD protection similar to the specified in
    ISO-IEC/13818:7-2003, Appendix C Section 6.1. Since M/S decision
    doesn't conform to section 6.1, a different method had to be
    implemented, but should provide equivalent protection.
    - Move the decision logic closer to the method specified in
    ISO-IEC/13818:7-2003, Appendix C Section 6.1. Specifically,
    make sure M/S needs less bits than dual stereo.
    - Don't apply M/S in bands that are using I/S
    Original info here:
    http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=01ecb7172b684f1c4b3e748f95c5a9a494ca36ec

    Perhaps the reliance on propriety AAC encoder finally a thing of the past?
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  2. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Originally Posted by MaverickTse View Post
    Perhaps the reliance on propriety AAC encoder finally a thing of the past?
    Not so fast, Junior
    Image Attached Thumbnails Click image for larger version

Name:	ffmpeg-twitter.png
Views:	487
Size:	34.3 KB
ID:	34032  

    Quote Quote  
  3. https://www.ffmpeg.org/index.html#news

    AAC Encoder Improvements, mentee: Rostislav Pehlivanov, mentor: Claudio Freire

    Rostislav Pehlivanov has implemented PNS, TNS, I/S coding and main prediction on the native AAC encoder. Of all those extensions, only TNS was left in a less-than-usable state, but the implementation has been pushed (disabled) anyway since it's a good basis for further improvements.

    PNS replaces noisy bands with a single scalefactor representing the energy of that band, gaining in coding efficiency considerably, and the quality improvements on low bitrates are impressive for such a simple feature.

    TNS still needs some polishing, but has the potential to reduce coding artifacts by applying noise shaping in the temporal domain (something that is a source of annoying, notable distortion on low-entropy bands).

    Intensity Stereo coding (I/S) can double coding efficiency by exploiting strong correlation between stereo channels, most effective on pop-style tracks that employ panned mixing. The technique is not as effective on classic X-Y recordings though.

    Finally, main prediction improves coding efficiency by exploiting correlation among successive frames. While the gains have not been huge at this point, Rostislav has remained active even after the GSoC, and is polishing both TNS and main prediction, as well as looking for further improvements to make.

    In the process, the MIPS port of the encoder was broken a few times, something he's also working to fix.
    Quote Quote  
  4. How does the quality compare to other encoders?
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!