1. 14 Sep, 2009 1 commit
    • Fiona Glaser's avatar
      Make MV costs global instead of static · b1eac265
      Fiona Glaser authored
      Fixes some extremely rare threading race conditions and makes the code cleaner.
      Downside: slightly higher memory usage when calling multiple encoders from the same application.
      b1eac265
  2. 02 Sep, 2009 2 commits
    • Steven Walters's avatar
      Change priority handling on some OSs · bc120190
      Steven Walters authored
      Instead of setting the lookahead thread to max priority, lower all the other threads' priorities instead.
      This is particularly useful when the "max priority" is "realtime", as in Windows, which can cause some problems.
      bc120190
    • Steven Walters's avatar
      Threaded lookahead · 6940dcae
      Steven Walters authored
      Move lookahead into a separate thread, set to higher priority than the other threads, for optimal performance.
      Reduces the amount that lookahead bottlenecks encoding, greatly increasing performance with lookahead-intensive settings (e.g. b-adapt 2) on many-core CPUs.
      Buffer size can be controlled with --sync-lookahead, which defaults to auto (threads+bframes buffer size).
      Note that this buffer is separate from the rc-lookahead value.
      Note also that this does not split lookahead itself into multiple threads yet; this may be added in the future.
      Additionally, split frames into "fdec" and "fenc" frame types and keep the two separate.
      This split greatly reduces memory usage, which helps compensate for the larger lookahead size.
      Extremely special thanks to Michael Kazmier and Alex Giladi of Avail Media, the original authors of this patch.
      6940dcae
  3. 23 Aug, 2009 1 commit
    • David Conrad's avatar
      GSOC merge part 2: ARM stack alignment · ca7da1ae
      David Conrad authored
      Neither GCC nor ARMCC support 16 byte stack alignment despite the fact that NEON loads require it.
      These macros only work for arrays, but fortunately that covers almost all instances of stack alignment in x264.
      ca7da1ae
  4. 20 Aug, 2009 2 commits
  5. 08 Aug, 2009 1 commit
  6. 07 Aug, 2009 1 commit
    • Fiona Glaser's avatar
      Macroblock-tree ratecontrol · 835ccc3c
      Fiona Glaser authored
      On by default; can be turned off with --no-mbtree.
      Uses a large lookahead to track temporal propagation of data and weight quality accordingly.
      Requires a very large separate statsfile (2 bytes per macroblock) in multi-pass mode.
      Doesn't work with b-pyramid yet.
      Note that MB-tree inherently measures quality different from the standard qcomp method, so bitrates produced by CRF may change somewhat.
      This makes the "medium" preset a bit slower.  Accordingly, make "fast" slower as well, and introduce a new preset "faster" between "fast" and "veryfast".
      All presets "fast" and above will have MB-tree on.
      Add a new option, --rc-lookahead, to control the distance MB tree looks ahead to perform propagation analysis.
      Default is 40; larger values will be slower and require more memory but give more accurate results.
      This value will be used in the future to control ratecontrol lookahead (VBV).
      Add a new option, --no-psy, to disable all psy optimizations that don't improve PSNR or SSIM.
      This disables psy-RD/trellis, but also other more subtle internal psy optimizations that can't be controlled directly via external parameters.
      Quality improvement from MB-tree is about 2-70% depending on content.
      Strength of MB-tree adjustments can be tweaked using qcompress; higher values mean lower MB-tree strength.
      Note that MB-tree may perform slightly suboptimally on fades; this will be fixed by weighted prediction, which is coming soon.
      835ccc3c
  7. 22 Jun, 2009 1 commit
    • Fiona Glaser's avatar
      Various CABAC optimizations and cleanups · 90bec46b
      Fiona Glaser authored
      Faster CABAC CBF context calculation for inter blocks.
      Add x264_constant_p(), will probably be useful in the future as well.
      Simpler subpartition functions.
      Clean up and optimize mvd_cpn a bit more.
      Various other minor optimizations.
      90bec46b
  8. 29 Jan, 2009 1 commit
  9. 05 Jan, 2009 1 commit
  10. 31 Dec, 2008 1 commit
  11. 11 Dec, 2008 1 commit
    • Loren Merritt's avatar
      use lookup tables instead of actual exp/pow for AQ · 6abf5d67
      Loren Merritt authored
      Significant speed boost, especially on CPUs with atrociously slow floating point units (e.g. Pentium 4 saves 800 clocks per MB with this change).
      Add x264_clz function as part of the LUT system: this may be useful later.
      Note this changes output somewhat as the numbers from the lookup table are not exact.
      6abf5d67
  12. 10 Aug, 2008 1 commit
  13. 11 Jul, 2008 1 commit
  14. 10 Jul, 2008 1 commit
  15. 04 Jul, 2008 1 commit
    • Fiona Glaser's avatar
      Update file headers throughout x264 · bdbd4fe7
      Fiona Glaser authored
      Update "Authors" lists based on actual authorship; highest is most important
      Update copyright notices and remove old CVS tags from file headers
      Add file headers to GTK and other sections missing them
      Update FSF address
      Other header-related cosmetics
      bdbd4fe7
  16. 29 Jun, 2008 1 commit
  17. 11 Jun, 2008 1 commit
  18. 03 Jun, 2008 2 commits
  19. 17 May, 2008 1 commit
  20. 24 Apr, 2008 1 commit
  21. 21 Apr, 2008 1 commit
  22. 17 Apr, 2008 1 commit
  23. 22 Mar, 2008 1 commit
  24. 27 Jan, 2008 1 commit
  25. 03 Jan, 2008 1 commit
  26. 24 Sep, 2007 1 commit
  27. 02 Sep, 2007 1 commit
  28. 17 Jul, 2007 2 commits