1. 18 Dec, 2013 2 commits
    • Anssi Hannula's avatar
      avcodec/aacdec: default to non-wide 7.1 in non-strict mode · e10fccf6
      Anssi Hannula authored
      AAC specification has 7.1(wide) as a default layout for 8-channel
      streams (channel config 7). However, at least Nero AAC encoder encodes
      non-wide 7.1 streams using the default channel config 7, mapping the
      side channels of the original audio stream to the second
      AAC_CHANNEL_FRONT pair in the AAC stream. Similarly, e.g. FAAD decodes
      the second AAC_CHANNEL_FRONT pair as side channels, therefore decoding
      the incorrect streams as if they were correct (and as the encoder
      intended).
      
      FFmpeg currently decodes such files by-the-spec, i.e. after decoding the
      original front pair will be in AV_CH_FRONT_x_OF_CENTER and the original
      side pair will be in AV_CH_FRONT_x.
      
      As actual intended 7.1(wide) streams are very rare while misencoded 7.1
      files actually exist in the wild, default to assuming a 7.1 layout was
      intended unless in strict mode.
      
      Fixes playback of e.g. 8_Channel_ID.m4a in samples.
      Signed-off-by: 's avatarAnssi Hannula <anssi.hannula@iki.fi>
      Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
      e10fccf6
    • Michael Niedermayer's avatar
      Revert "Merge commit '3bc2e89c'" (Bump... · 645c94b6
      Michael Niedermayer authored
      Revert "Merge commit '3bc2e89c'" (Bump libavutil major version to account for the LLS API/ABI changes.)
      
      This reverts commit 792845e4, reversing
      changes made to 1d6666a6.
      
      Bumping libavutil requires all libraries that use libavutil to have their
      major version bumped (yes breakage has been confirmed this is not a hypotheses)
      
      One case of breakage is due to new types being added to AVOptions and
      applications that linked to old libavutil and libswresample
      then trying to use old libavutil (its soname changed so the old isnt updated)
      and new swresample (its soame didnt change so it is updated)
      the new swresample contains AVOption types that the old libavutil doesnt
      know of thus the application attempting to access these avoptions
      fails
      
      AVOptions are used by all libs so the issue can potentially happen with
      any other lib, libswresample was just the first that showed the problem
      ive not checked if the other libs are affected currently by the same issue
      or not
      
      Also in addition to AVOptions, AVFrames are also defined in
      libavutil, bumping it without all libs that use AVFrames could lead to
      serious inconsistencies when 2 libs/app end up using 2 different libavutils
      
      The alternative of bumping all is still possible after this revert, if it
      turns out to be the preferred solution
      645c94b6
  2. 17 Dec, 2013 29 commits
  3. 16 Dec, 2013 9 commits