1. 03 Jul, 2012 1 commit
    • 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
  2. 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
  3. 15 May, 2012 2 commits
  4. 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
  5. 23 Apr, 2012 8 commits
  6. 27 Mar, 2012 1 commit
  7. 25 Mar, 2012 1 commit
  8. 22 Mar, 2012 1 commit
  9. 14 Mar, 2012 1 commit
  10. 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
  11. 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
  12. 06 Mar, 2012 9 commits
  13. 15 Feb, 2012 1 commit
  14. 05 Feb, 2012 1 commit
  15. 04 Feb, 2012 3 commits