1. 12 Sep, 2017 5 commits
  2. 11 Sep, 2017 12 commits
  3. 10 Sep, 2017 4 commits
  4. 09 Sep, 2017 6 commits
  5. 08 Sep, 2017 13 commits
    • James Almer's avatar
      avformat/matroskaenc: also write tags when output is WebM · 27b7800b
      James Almer authored
      WebM supports a subset of elements from the Tags master.
      See https://www.webmproject.org/docs/container/#taggingReviewed-by: 's avatarIvan Janatra <janatra@google.com>
      Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
      27b7800b
    • Clément Bœsch's avatar
      build: cleanup videotoolbox · 260ea7a7
      Clément Bœsch authored
      - there is no need for kCVImageBufferColorPrimaries_ITU_R_2020 checks,
        it's done at runtime
      - VideoToolbox presence is now checked with check_apple_framework()
      - link to CoreServices is only done when videotoolbox is enabled
      260ea7a7
    • Clément Bœsch's avatar
      build: cleanup audiotoolbox handling · 1cf23e3f
      Clément Bœsch authored
      *_at codecs only need the AudioToolbox framework, which is now checked
      like the other Apple frameworks.
      1cf23e3f
    • Clément Bœsch's avatar
      496d0178
    • Clément Bœsch's avatar
      97d80135
    • Clément Bœsch's avatar
      build: add check_apple_framework() · b6dce64a
      Clément Bœsch authored
      This will be used in the following commits.
      b6dce64a
    • Clément Bœsch's avatar
      lavfi/coreimage: reduce dependency scope from QuartzCore to CoreImage · f8519529
      Clément Bœsch authored
      What is required by the filter is CoreImage, there is no QuartzCore
      usage. QuartzCore/CoreImage.h is simply an include to
      CoreImage/CoreImage.h.
      f8519529
    • Clément Bœsch's avatar
      build: fix objcc header check · b476e772
      Clément Bœsch authored
      $headers is a variable set in the context of other functions (we don't
      use the "local" keyword in our scripts, so those variables are global).
      
      Currently, when checking for AVFoundation/AVFoundation.h, the actual
      enabled header is math.h.
      
      Similarly, when testing for QuartzCore/CoreImage.h, the actual enabled
      header is CoreGraphics/CoreGraphics.h.
      
      This is completely broken and may be the reason why these checks are
      made in random places.
      b476e772
    • Clément Bœsch's avatar
      lavu/timer.h: add Linux Perf API support · f61379cb
      Clément Bœsch authored
      Refer to "checkasm: use perf API on Linux ARM*" commit for the
      rationale.
      
      The implementation is somehow duplicated with checkasm, but so is the
      current usage of AV_READ_TIME(). Until these implementations and
      heuristics are made consistent, I don't see a way of sharing that code.
      
      Note: when using libavutil/timer.h, it is now important to include
      before any other include due to the _GNU_SOURCE requirement.
      f61379cb
    • Clément Bœsch's avatar
      lavu/tests: move timer.h include earlier · e0b9b3e6
      Clément Bœsch authored
      In the next commit, timer.h will require a _GNU_SOURCE to be set before
      including system headers. This commit prevents compilation failures.
      e0b9b3e6
    • Clément Bœsch's avatar
      lavu/tests/des: rename crypt to crypt_ref · dc27df47
      Clément Bœsch authored
      This will prevent a symbol clash with crypt(3) after unistd.h is
      included.
      dc27df47
    • Clément Bœsch's avatar
      lavu/timer.h: factor out timer report · 9c0d823a
      Clément Bœsch authored
      This commit is meant to reduce the diff in the following one.
      9c0d823a
    • Clément Bœsch's avatar
      checkasm: use perf API on Linux ARM* · e0d56f09
      Clément Bœsch authored
      On ARM platforms, accessing the PMU registers requires special user
      access permissions. Since there is no other way to get accurate timers,
      the current implementation of timers in FFmpeg rely on these registers.
      Unfortunately, enabling user access to these registers on Linux is not
      trivial, and generally involve compiling a random and unreliable github
      kernel module, or patching somehow your kernel.
      
      Such module is very unlikely to reach the upstream anytime soon. Quoting
      Robin Murphin from ARM:
      
      > Say you do give userspace direct access to the PMU; now run two or more
      > programs at once that believe they can use the counters for their own
      > "minimal-overhead" profiling. Have fun interpreting those results...
      >
      > And that's not even getting into the implications of scheduling across
      > different CPUs, CPUidle, etc. where the PMU state is completely beyond
      > userspace's control. In general, the plan to provide userspace with
      > something which might happen to just about work in a few corner cases,
      > but is meaningless, misleading or downright broken in all others, is to
      > never do so.
      
      As a result, the alternative is to use the Performance Monitoring Linux
      API which makes use of these registers internally (assuming the PMU of
      your ARM board is supported in the kernel, which is definitely not a
      given...).
      
      While the Linux API is obviously cross platform, it does have a
      significant overhead which needs to be taken into account. As a result,
      that mode is only weakly enabled on ARM platforms exclusively.
      
      Note on the non flexibility of the implementation: the timers (native
      FFmpeg vs Linux API) are selected at compilation time to prevent the
      need of function calls, which would result in a negative impact on the
      cycle counters.
      e0d56f09