1. 20 Sep, 2016 6 commits
    • Anton Mitrofanov's avatar
      Various cosmetics of semicolon use · eaf2fc20
      Anton Mitrofanov authored
    • Henrik Gramner's avatar
      cli: Prefetch yuv/y4m input frames on Windows 8 and newer · aae177c5
      Henrik Gramner authored
      Use PrefetchVirtualMemory() (if available) on memory-mapped input frames.
      Significantly improves performance when the source file is not already
      present in the OS page cache by asking the OS to bring in those pages from
      disk using large, concurrent I/O requests.
      Most beneficial on fast encoding settings. Up to 40% faster overall with
      --preset ultrafast, and up to 20% faster overall with --preset veryfast.
      This API was introduced in Windows 8, so call it conditionally. On older
      Windows systems the previous behavior remains unchanged.
    • Henrik Gramner's avatar
      Adjust --preset slow · 4e5adb87
      Henrik Gramner authored
       * Swap --me umh for --trellis 2. They have a similar effect on performance
         but the latter gives slightly better results in most cases.
       * Change --b-adapt from 2 to 1. Negligible difference in quality since the
         b-adapt 1 improvements, but it's significantly faster.
      Also remove a redundant assignment from veryfast (--me hex is set by default).
    • Henrik Gramner's avatar
      ratecontrol_new: Simplify an expression in HRD timescale calculation · 1e4fb55a
      Henrik Gramner authored
      Also gets rid of a false positive static analyser integer division warning.
    • Henrik Gramner's avatar
      gcc: Enable __sync_fetch_and_add() on x86-64 · 17378b20
      Henrik Gramner authored
      It was previously only enabled on 32-bit x86 for no reason, so 64-bit
      systems had to use a mutex instead of a simple `lock xadd` instruction.
      Note that this code is only used in some very specific configurations
      involving sliced threads.
    • Anton Mitrofanov's avatar
      mips: Fix high bit-depth compilation · 86b71982
      Anton Mitrofanov authored
  2. 17 Sep, 2016 2 commits
  3. 13 Jun, 2016 11 commits
  4. 20 Apr, 2016 2 commits
    • Anton Mitrofanov's avatar
      Clean up header includes · 3b706455
      Anton Mitrofanov authored
    • Henrik Gramner's avatar
      Eliminate some compiler warnings on BSD · 2102de25
      Henrik Gramner authored
      Include <strings.h> in addition to <string.h>. According to the POSIX
      specification the prototypes for strcasecmp() and strncasecmp() are
      declared in <strings.h>. On some systems they are also declared in
      <string.h> for compatibility reasons but we shouldn't rely on that.
      Define _POSIX_C_SOURCE only when it's required to do so. Some BSD
      variants doesn't declare certain function prototypes otherwise.
  5. 12 Apr, 2016 16 commits
  6. 11 Apr, 2016 3 commits
    • Henrik Gramner's avatar
      ffms: Various improvements · dfe394ca
      Henrik Gramner authored
       * Drop the MinGW Unicode workarounds. Those were required at the time
         Windows Unicode support was added to x264 but the underlying problem
         has since been fixed in FFMS.
       * Use FFMS_IndexBelongsToFile() as an additional sanity check when reading
         an index file to ensure that it belongs to the current source video.
       * Upgrade to the new API to prevent deprecation warnings when compiling.
       * Fix a resource leak that would occur if FFMS_GetFirstTrackOfType() or
         FFMS_CreateVideoSource() failed.
       * Minor string handling adjustments related to progress reporting.
      This increases the FFMS version requirement from 2.16.2 to 2.21.0.
    • Henrik Gramner's avatar
      msvc: Add snprintf/vsnprintf replacements · 215afdbd
      Henrik Gramner authored
      MSVC pre-VS2015 has broken snprintf/vsnprintf implementations which are
      incompatible with C99 and may lead to buffer overflows.
    • Henrik Gramner's avatar
      configure: Define feature test macros for --std=gnu99 · 5be32efc
      Henrik Gramner authored
      Makes the printf() family functions on MinGW use the correct C99 POSIX
      versions instead of the broken pre-VS2015 Microsoft ones.
      Also allows us to get rid of some _GNU_SOURCE and _ISOC99_SOURCE defines.