1. 25 Jul, 2015 2 commits
  2. 23 Feb, 2015 1 commit
  3. 12 Dec, 2014 1 commit
  4. 26 Aug, 2014 1 commit
  5. 13 Mar, 2014 1 commit
    • Fiona Glaser's avatar
      Macroblock tree overhaul/optimization · b3fb7184
      Fiona Glaser authored
      Move the second core part of macroblock tree into an assembly function;
      SIMD-optimize roughly half of it (for x86). Roughly ~25-65% faster mbtree,
      depending on content.
      Slightly change how mbtree handles the tradeoff between range and precision
      for propagation.
      Overall a slight (but mostly negligible) effect on SSIM and ~2% faster.
  6. 12 Mar, 2014 1 commit
    • Henrik Gramner's avatar
      x86: Minor mbtree_propagate_cost improvements · f032147c
      Henrik Gramner authored
      Reduce the number of registers used from 7 to 6.
      Reduce the number of vector registers used by the AVX2 implementation from 8 to 7.
      Multiply fps_factor by 1/256 once per frame instead of once per macroblock row.
      Use mova instead of movu for dst since it's guaranteed to be aligned.
      Some cosmetics.
  7. 21 Jan, 2014 1 commit
  8. 08 Jan, 2014 1 commit
  9. 23 Apr, 2013 1 commit
  10. 09 Jan, 2013 1 commit
  11. 06 Mar, 2012 1 commit
    • Henrik Gramner's avatar
      Fix incorrect zero-extension assumptions in x86_64 asm · 3131a19c
      Henrik Gramner authored
      Some x264 asm assumed that the high 32 bits of registers containing "int" values would be zero.
      This is almost always the case, and it seems to work with gcc, but it is *not* guaranteed by the ABI.
      As a result, it breaks with some other compilers, like Clang, that take advantage of this in optimizations.
      Accordingly, fix all x86 code by using intptr_t instead of int or using movsxd where neccessary.
      Also add checkasm hack to detect when assembly functions incorrectly assumes that 32-bit integers are zero-extended to 64-bit.
  12. 04 Feb, 2012 1 commit
  13. 11 Nov, 2011 1 commit
  14. 22 Oct, 2011 1 commit
  15. 21 Sep, 2011 1 commit
  16. 22 Jul, 2011 1 commit
  17. 10 Jul, 2011 2 commits
  18. 12 May, 2011 2 commits
  19. 25 Jan, 2011 1 commit
  20. 10 Jan, 2011 4 commits
    • Fiona Glaser's avatar
      VFR/framerate-aware ratecontrol, part 2 · c583687f
      Fiona Glaser authored
      MB-tree and qcomp complexity estimation now consider the duration of a frame in their calculations.
      This is very important for visual optimizations, as frames that last longer are inherently more important quality-wise.
      Improves VFR-aware PSNR as much as 1-2db on extreme test cases, ~0.5db on more ordinary VFR clips (e.g. deduped anime episodes).
      WARNING: This change redefines x264's internal quality measurement.
      x264 will now scale its quality based on the framerate of the video due to the aforementioned frame duration logic.
      That is, --crf X will give lower quality per frame for a 60fps video than for a 30fps one.
      This will make --crf closer to constant perceptual quality than previously.
      The "center" for this change is 25fps: that is, videos lower than 25fps will go up in quality at the same CRF and videos above will go down.
      This choice is completely arbitrary.
      Note that to take full advantage of this, x264 must encode your video at the correct framerate, with the correct timestamps.
    • Daniel Kang's avatar
      MMX version of high bit depth plane_copy · 1d22dd50
      Daniel Kang authored
      And various cosmetics.
      Patch from Google Code-In
    • Daniel Kang's avatar
      MMX/SSE2 high bit depth interleave functions · 6ecfa83c
      Daniel Kang authored
      Patch from Google Code-In.
    • Joey Geralnik's avatar
      MMX/SSE2 high bit depth avg functions · 15595e6d
      Joey Geralnik authored
      Patch from Google Code-In.
  21. 18 Nov, 2010 1 commit
  22. 28 Sep, 2010 1 commit
    • Oskar Arvidsson's avatar
      Finish support for high-depth video throughout x264 · 0467589e
      Oskar Arvidsson authored
      Add support for high depth input in libx264.
      Add support for 16-bit colorspaces in the filtering system.
      Add support for input bit depths in the interval [9,16] with the raw demuxer.
      Add a depth filter to dither input to x264.
  23. 18 Sep, 2010 1 commit
    • Fiona Glaser's avatar
      Update source file headers · 213a99d0
      Fiona Glaser authored
      Update dates, improve file descriptions, make things more consistent.
      Also add information about commercial licensing.
  24. 15 Jul, 2010 1 commit
    • Loren Merritt's avatar
      Convert x264 to use NV12 pixel format internally · 387828ed
      Loren Merritt authored
      ~1% faster overall on Conroe, mostly due to improved cache locality.
      Also allows improved SIMD on some chroma functions (e.g. deblock).
      This change also extends the API to allow direct NV12 input, which should be a bit faster than YV12.
      This isn't currently used in the x264cli, as swscale does not have fast NV12 conversion routines, but it might be useful for other applications.
      Note this patch disables the chroma SIMD code for PPC and ARM until new versions are written.
  25. 04 Jul, 2010 1 commit
    • Oskar Arvidsson's avatar
      Support for 9 and 10-bit encoding · c91f43a4
      Oskar Arvidsson authored
      Output bit depth is specified on compilation time via --bit-depth.
      There is currently almost no assembly code available for high-bit-depth modes, so encoding will be very slow.
      Input is still 8-bit only; this will change in the future.
      Note that very few H.264 decoders support >8 bit depth currently.
      Also note that the quantizer scale differs for higher bit depth.  For example, for 10-bit, the quantizer (and crf) ranges from 0 to 63 instead of 0 to 51.
  26. 09 Jun, 2010 1 commit
  27. 02 Jun, 2010 1 commit
  28. 17 May, 2010 1 commit
  29. 06 May, 2010 1 commit
  30. 29 Apr, 2010 1 commit
  31. 05 Apr, 2010 1 commit
    • Fiona Glaser's avatar
      Massive cosmetic and syntax cleanup · 58d2349d
      Fiona Glaser authored
      Convert all applicable loops to use C99 loop index syntax.
      Clean up most inconsistent syntax in ratecontrol.c, visualize, ppc, etc.
      Replace log(x)/log(2) constructs with log2, and similar with log10.
      Fix all -Wshadow violations.
      Fix visualize support.
  32. 25 Feb, 2010 2 commits
  33. 09 Nov, 2009 1 commit