1. 09 Sep, 2015 1 commit
  2. 07 Sep, 2015 1 commit
  3. 06 Sep, 2015 2 commits
  4. 05 Sep, 2015 2 commits
  5. 02 Sep, 2015 2 commits
  6. 31 Aug, 2015 1 commit
  7. 27 Aug, 2015 1 commit
  8. 22 Aug, 2015 1 commit
  9. 21 Aug, 2015 3 commits
    • Rostislav Pehlivanov's avatar
      aacenc: implement the complete AAC-Main profile · 76b81b10
      Rostislav Pehlivanov authored
      This commit finalizes AAC-Main profile encoding support
      by implementing all mandatory and optional tools available
      in the specifications and current decoders.
      
      The AAC-Main profile reqires that prediction support be
      present (although decoders don't require it to be enabled)
      for an encoder to be deemed capable of AAC-Main encoding,
      as well as TNS, PNS and IS, all of which were implemented
      with previous commits or earlier of this year.
      
      Users are encouraged to test the new functionality using either
      -profile:a aac_main or -aac_pred 1, the former of which will enable
      the prediction option by default and the latter will change the
      profile to AAC-Main. No other options shall be changed by enabling
      either, it's currently up to the users to decide what's best.
      
      The current implementation works best using M/S and/or IS,
      so users are also welcome to enable both options and any
      other options (TNS, PNS) for maximum quality.
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      76b81b10
    • Rostislav Pehlivanov's avatar
      aacenc_tns: implement temporal noise shaping · a1c487e9
      Rostislav Pehlivanov authored
      This commit implements temporal noise shaping support in the
      encoder, along with an -aac_tns option to toggle it on or off
      (off by default for now). TNS will increase audio quality
      and reduce quantization noise by applying a multitap FIR filter
      across allowed coefficients and transmit side information to the
      decoder so it could create an inverse filter.
      
      Users are encouraged to test the new functionality by enabling
      -aac_tns 1 during encoding.
      
      No major bugs are observable at this time so after a while if no
      new problems appear and if the current implementation is deemed
      of high enough quality and stability it will be enabled by default,
      possibly at the same time the encoder has its experimental flag
      removed and becomes the standard aac encoder in ffmpeg.
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      a1c487e9
    • Rostislav Pehlivanov's avatar
      aaccoder: move the Intensity Stereo implementation out · d1ca7142
      Rostislav Pehlivanov authored
      This commit moves the intensity stereo implementation
      out from aaccoder and into a separate file. This was
      possible using the previous commits.
      
      This commit also drastically improves the IS implementation
      by making it phase invariant e.g. it will always choose the
      best possible phase regardless of whether M/S coding is on
      or most of the coefficients have identical phases.
      This also increases the quality and reduces any distortions
      introduced by enablind intensity stereo.
      
      Users are encouraged to test it out using the -aac_is 1
      parameter as it has always been.
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      d1ca7142
  10. 11 Aug, 2015 2 commits
  11. 08 Aug, 2015 1 commit
  12. 07 Aug, 2015 1 commit
    • Rostislav Pehlivanov's avatar
      aacenc: Move local encoder specific tables to a separate file · c47c781e
      Rostislav Pehlivanov authored
      This commit moves any tables specific to the encoder from aacenc
      and aaccoder to a separate file called 'aacenctab.c/.h'.
      This was done as a clean up attempt as the encoder was filled with
      tables pasted in between functions which made it confusing to follow
      and track where each table and definition had been used.
      This commit solves this by simply exporting the smaller tables out to
      the aacenctab.h while the larger ones are compiled using aacenctab.c
      and are referenced from the header file.
      Signed-off-by: 's avatarClaudio Freire <klaussfreire@gmail.com>
      c47c781e
  13. 03 Aug, 2015 1 commit
  14. 27 Jul, 2015 1 commit
  15. 25 Jul, 2015 5 commits
  16. 22 Jul, 2015 2 commits
  17. 20 Jul, 2015 2 commits
  18. 17 Jul, 2015 8 commits
  19. 14 Jul, 2015 1 commit
  20. 13 Jul, 2015 1 commit
  21. 12 Jul, 2015 1 commit