1. 27 Mar, 2017 7 commits
    • Clément Bœsch's avatar
      lavc/vp9: split into vp9{block,data,mvs} · 1c9f4b50
      Clément Bœsch authored
      This is following Libav layout to ease merges.
      1c9f4b50
    • Rostislav Pehlivanov's avatar
      Changelog: reorder last entry · 487ca38e
      Rostislav Pehlivanov authored
      Entries are organized in descending chronological order.
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      487ca38e
    • Rostislav Pehlivanov's avatar
      lavfi: remove af_asynts filter · a8fe8d6b
      Rostislav Pehlivanov authored
      Long overdue for removal, af_aresample should be used instead.
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      a8fe8d6b
    • wm4's avatar
      pthread_frame: fix uninitialized variable read · d7896e9b
      wm4 authored
      Could lead to random behavior. This possibly happened due to commit
      32a5b631. This should/could probably be simplified, but for no apply
      a minimal fix to quell the errors.
      Tested-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      d7896e9b
    • wm4's avatar
      pthread_frame: do not attempt to unlock a mutex on the wrong thread · 9e703ae3
      wm4 authored
      async_mutex has is used in a very strange but intentional way: it is
      locked by default, and unlocked only in regions that can be run
      concurrently.
      
      If the user was calling API functions to the same context from different
      threads (in a safe way), this could unintentionally unlock the mutex on
      a different thread than the previous lock operation. It's not allowed by
      the pthread API.
      
      Fix this by emulating a binary semaphore using a mutex and condition
      variable. (Posix semaphores are not available on all platforms.)
      Tested-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      9e703ae3
    • wm4's avatar
      avformat, ffmpeg: deprecate old rotation API · ddef3d90
      wm4 authored
      The old "API" that signaled rotation as a metadata value has been
      replaced by DISPLAYMATRIX side data quite a while ago.
      
      There is no reason to make muxers/demuxers/API users support both. In
      addition, the metadata API is dangerous, as user tags could "leak" into
      it, creating unintended features or bugs.
      
      ffmpeg CLI has to be updated to use the new API. In particular, we must
      not allow to leak the "rotate" tag into the muxer. Some muxers will
      catch this properly (like mov), but others (like mkv) can add it as
      generic tag. Note applications, which use libavformat and assume the
      old rotate API, will interpret such "rotate" user tags as rotate
      metadata (which it is not), and incorrectly rotate the video.
      
      The ffmpeg/ffplay tools drop the use of the old API for muxing and
      demuxing, as all muxers/demuxers support the new API. This will mean
      that the tools will not mistakenly interpret per-track "rotate" user
      tags as rotate metadata. It will _not_ be treated as regression.
      
      Unfortunately, hacks have been added, that allow the user to override
      rotation by setting metadata explicitly, e.g. via
      
        -metadata:s:v:0 rotate=0
      
      See references to trac #4560. fate-filter-meta-4560-rotate0 tests this.
      It's easier to adjust the hack for supporting it than arguing for its
      removal, so ffmpeg CLI now explicitly catches this case, and essentially
      replaces the "rotate" value with a display matrix side data. (It would
      be easier for both user and implementation to create an explicit option
      for rotation.)
      
      When the code under FF_API_OLD_ROTATE_API is disabled, one FATE
      reference file has to be updated (because "rotate" is not exported
      anymore).
      Tested-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      ddef3d90
    • Kyle Swanson's avatar
      libavcodec/opusenc: use correct format specifiers · b12693fa
      Kyle Swanson authored
      Squelches the following compiler warnings:
      
      libavcodec/opusenc.c:1051:16: warning: format specifies type 'long' but
      the argument has type 'long long' [-Wformat]
                     avctx->bit_rate/1000, clipped_rate/1000);
                     ^~~~~~~~~~~~~~~~~~~~
      libavcodec/opusenc.c:1051:38: warning: format specifies type 'long' but
      the argument has type 'long long' [-Wformat]
                     avctx->bit_rate/1000, clipped_rate/1000);
                                           ^~~~~~~~~~~~~~~~~
      b12693fa
  2. 26 Mar, 2017 14 commits
  3. 25 Mar, 2017 3 commits
  4. 24 Mar, 2017 16 commits