1. 05 Sep, 2012 1 commit
  2. 27 Jul, 2012 1 commit
  3. 26 Jul, 2012 1 commit
  4. 18 Jul, 2012 1 commit
    • Fiona Glaser's avatar
      Revert r2204 · 3d03b619
      Fiona Glaser authored
      People don't seem to like this so I'm just going to get rid of it.
      3d03b619
  5. 17 Jul, 2012 5 commits
  6. 03 Jul, 2012 2 commits
    • Loren Merritt's avatar
      x86inc: import patches from libav · 5754ea2d
      Loren Merritt authored
      Allow manual invocation of WIN64_SPILL_XMM even under INIT_MMX
      SSE version of mova is movaps rather than movdqa.
      YMM version of movnta.
      Add mp size for named arguments.
      Fix DEFINE_ARGS when used outside of a cglobal.
      Define a few more cpuflags.
      3-argument wrappers for a few more instructions.
      5754ea2d
    • Anton Mitrofanov's avatar
      Fix crash with --fps 0 · 5e3aaf1a
      Anton Mitrofanov authored
      Fix some integer overflows and check input parameters better.
      Also fix incorrect type specifiers for demuxer info printing.
      5e3aaf1a
  7. 18 May, 2012 1 commit
    • Fiona Glaser's avatar
      Threaded lookahead · df700eae
      Fiona Glaser authored
      Split each lookahead frame analysis call into multiple threads.  Has a small
      impact on quality, but does not seem to be consistently any worse.
      
      This helps alleviate bottlenecks with many cores and frame threads. In many
      case, this massively increases performance on many-core systems.  For example,
      over 100% faster 1080p encoding with --preset veryfast on a 12-core i7 system.
      Realtime 1080p30 at --preset slow should now be feasible on real systems.
      
      For sliced-threads, this patch should be faster regardless of settings (~10%).
      
      By default, lookahead threads are 1/6 of regular threads.  This isn't exacting,
      but it seems to work well for all presets on real systems.  With sliced-threads,
      it's the same as the number of encoding threads.
      df700eae
  8. 15 May, 2012 2 commits
  9. 24 Apr, 2012 1 commit
    • Fiona Glaser's avatar
      Add mb_info API for signalling constant macroblocks · 8e57a9a0
      Fiona Glaser authored
      Some use-cases of x264 involve encoding video with large constant areas of the frame.
      Sometimes, the caller knows which areas these are, and can tell x264.
      This API lets the caller do this and adds internal tracking of modifications to macroblocks to avoid problems.
      This is really only suitable without B-frames.
      An example use-case would be using x264 for VNC.
      8e57a9a0
  10. 23 Apr, 2012 8 commits
  11. 27 Mar, 2012 1 commit
  12. 25 Mar, 2012 1 commit
  13. 22 Mar, 2012 1 commit
  14. 14 Mar, 2012 1 commit
  15. 12 Mar, 2012 1 commit
    • Anton Mitrofanov's avatar
      Fix clobbering of mutex/cvs · e046ba72
      Anton Mitrofanov authored
      Regression in r2183.
      Bizarrely seemed to work on many platforms, but crashed on win64 and may have been slower.
      Only affected sliced threads during encoding, but could cause crashes on x264 encoder close even without sliced threads.
      e046ba72
  16. 07 Mar, 2012 8 commits
    • Fiona Glaser's avatar
      Sliced-threads: do hpel and deblock after returning · a155572e
      Fiona Glaser authored
      Lowers encoding latency around 14% in sliced threads mode with preset superfast.
      Additionally, even if there is no waiting time between frames, this improves parallelism, because hpel+deblock are done during the (singlethreaded) lookahead.
      For ease of debugging, dump-yuv forces all of the threads to wait and finish instead of setting b_full_recon.
      a155572e
    • Fiona Glaser's avatar
      Add full-recon API option · 90408eca
      Fiona Glaser authored
      Fully reconstruct frames even without dump-yuv.
      90408eca
    • Fiona Glaser's avatar
      x86inc: switch to amdnops · 5b2c62ae
      Fiona Glaser authored
      Recent AMD CPUs' instruction decoders choke horribly on extremely long nops (i.e. with 4 prefixes).
      Won't affect much, since we don't use ALIGN much.
      5b2c62ae
    • Fiona Glaser's avatar
      BMI1 decimate functions · 42db5e6f
      Fiona Glaser authored
      Intel was nice enough to make tzcnt equal to "rep bsf", which is backwards-compatible.
      This means we don't actually have to add new functions to make it work.
      42db5e6f
    • Fiona Glaser's avatar
      Minor asm changes · 92b0bd96
      Fiona Glaser authored
      92b0bd96
    • Fiona Glaser's avatar
      Add row-reencoding support to VBV for improved accuracy · 2535ba17
      Fiona Glaser authored
      Extremely accurate, possibly 100% so (I can't get it to fail even with difficult VBVs).
      Does not yet support rows split on slice boundaries (occurs often with slice-max-size/mbs).
      Still inaccurate with sliced threads, but better than before.
      2535ba17
    • Fiona Glaser's avatar
      Abstract bitstream backup/restore functions · bc473ddf
      Fiona Glaser authored
      Required for row re-encoding.
      bc473ddf
    • Anton Mitrofanov's avatar
      Add an small per-MB cost penalty for lowres · 48e8e52e
      Anton Mitrofanov authored
      Helps avoid VBV predictors going nuts with very low-cost MBs.
      One particular case this fixes is zero-cost MBs: adaptive quantization decreases the QP a lot, but (before this patch), no cost penalty gets factored in for this, because anything times zero is zero.
      48e8e52e
  17. 06 Mar, 2012 4 commits
    • Fiona Glaser's avatar
      Remove explicit run calculation from coeff_level_run · 1b31a10c
      Fiona Glaser authored
      Not necessary with the CAVLC lookup table for zero run codes.
      1b31a10c
    • Fiona Glaser's avatar
      Export PSNR/SSIM in x264 API · 9da19fbe
      Fiona Glaser authored
      9da19fbe
    • Ronald S. Bultje's avatar
      x86inc: support yasm -f win64 · 3a5f2fe3
      Ronald S. Bultje authored
      Not necessary for x264, as -m amd64 already does the right thing, but used by external users of x86inc.
      3a5f2fe3
    • 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.
      3131a19c