1. 14 Dec, 2010 1 commit
  2. 07 Dec, 2010 2 commits
  3. 05 Dec, 2010 1 commit
  4. 25 Nov, 2010 1 commit
  5. 23 Nov, 2010 1 commit
  6. 19 Nov, 2010 2 commits
    • Oskar Arvidsson's avatar
      Convert X264_HIGH_BIT_DEPTH to HIGH_BIT_DEPTH · 1382552b
      Oskar Arvidsson authored
      Less verbose.
      1382552b
    • Oskar Arvidsson's avatar
      x86 asm for high-bit-depth pixel metrics · abde94f6
      Oskar Arvidsson authored
      Overall speed change from these 6 asm patches: ~4.4x.
      But there's still tons more asm to do -- patches welcome!
      
      Breakdown from this patch:
      ~13x faster SAD than C.
      ~11.5x faster SATD than C (only MMX done).
      ~18.5x faster SA8D than C.
      ~19.2x faster hadamard_ac than C.
      ~8.3x faster SSD than C.
      ~12.4x faster VAR than C.
      ~3-4.2x faster intra SAD than C.
      ~7.9x faster intra SATD than C.
      abde94f6
  7. 10 Oct, 2010 1 commit
  8. 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.
      0467589e
  9. 19 Sep, 2010 1 commit
    • James Darnley's avatar
      Add --disable-gpl option to configure · 3145e67d
      James Darnley authored
      Used for commercially-licensed versions of x264.
      Doesn't currently change anything, but may be used to disable GPL-only CLI tools, such as video filters, in the future.
      Also print the x264 license and libavformat license in version info.
      3145e67d
  10. 15 Jul, 2010 1 commit
  11. 25 Jun, 2010 1 commit
  12. 09 Jun, 2010 1 commit
  13. 02 Jun, 2010 1 commit
    • Fiona Glaser's avatar
      x86 assembly code for NAL escaping · 6589ad6d
      Fiona Glaser authored
      Up to ~10x faster than C depending on CPU.
      Helps the most at very high bitrates (e.g. lossless).
      Also make the C code faster and simpler.
      6589ad6d
  14. 06 May, 2010 1 commit
    • Fiona Glaser's avatar
      Deduplicate asm constants, automate name prefixing · 311c4bb1
      Fiona Glaser authored
      Auto-prefix global constants with x264_ in cextern.
      Eliminate x264_ prefix from asm files; automate it in cglobal.
      Deduplicate asm constants wherever possible to save data cache (move them to a new const-a.asm).
      Remove x264_emms() entirely on non-x86 (don't even call an empty function).
      Add cextern_naked for a non-prefixed cextern (used in checkasm).
      311c4bb1
  15. 24 Apr, 2010 1 commit
  16. 23 Apr, 2010 3 commits
  17. 27 Mar, 2010 3 commits
    • Fiona Glaser's avatar
      de8f0ac8
    • Fiona Glaser's avatar
      Overhaul macroblock_cache_rect · 4c03ec69
      Fiona Glaser authored
      Unify the rectangle functions into a single one similar to ffmpeg's fill_rectangle.
      Remove all cases of variable-size cache_rect calls; create a function-pointer-based system for handling such cases.
      Should greatly decrease code size required for such calls.
      4c03ec69
    • Yusuke Nakamura's avatar
      Timecode input/output · 4d3c4787
      Yusuke Nakamura authored
      --tcfile-in allows a user to specify a timecode v1 or v2 file to override input timestamps.
      Useful for dealing with VFR input, especially when FFMS/LAVF support isn't available.
      --tcfile-out writes a timecode v2 file containing the timecodes of the output file.
      New --timebase option allows a user to change the stream timebase.
      Intended primarily for forcing timebase with timecode files if necessary.
      When using --seek, note that x264 will seek in the timecode file as well.
      4d3c4787
  18. 25 Feb, 2010 1 commit
  19. 30 Jan, 2010 2 commits
  20. 14 Jan, 2010 2 commits
    • Anton Mitrofanov's avatar
      Fix static pthreads + dynamically linked x264 on win32 · da619d5d
      Anton Mitrofanov authored
      Add the necessary static pthread initialization code to a new DLLmain function.
      da619d5d
    • Kieran Kunhya's avatar
      LAVF/FFMS input support, native VFR timestamp handling · 30d76a5e
      Kieran Kunhya authored
      libx264 now takes three new API parameters.
      b_vfr_input tells x264 whether or not the input is VFR, and is 1 by default.
      i_timebase_num and i_timebase_den pass the timebase to x264.
      
      x264_picture_t now returns the DTS of each frame: the calling app need not calculate it anymore.
      
      Add libavformat and FFMS2 input support: requires libav* and ffms2 libraries respectively.
      FFMS2 is _STRONGLY_ preferred over libavformat: we encourage all distributions to compile with FFMS2 support if at all possible.
      FFMS2 can be found at http://code.google.com/p/ffmpegsource/.
      --index, a new x264cli option, allows the user to store (or load) an FFMS2 index file for future use, to avoid re-indexing in the future.
      
      Overhaul the muxers to pass through timestamps instead of assuming CFR.
      Also overhaul muxers to correctly use b_annexb and b_repeat_headers to simplify the code.
      Remove VFW input support, since it's now pretty much redundant with native AVS support and LAVF support.
      Finally, overhaul a large part of the x264cli internals.
      
      --force-cfr, a new x264cli option, allows the user to force the old method of timestamp handling.  May be useful in case of a source with broken timestamps.
      Avisynth, YUV, and Y4M input are all still CFR.  LAVF or FFMS2 must be used for VFR support.
      
      Do note that this patch does *not* add VFR ratecontrol yet.
      Support for telecined input is also somewhat dubious at the moment.
      
      Large parts of this patch by Mike Gurlitz <mike.gurlitz@gmail.com>, Steven Walters <kemuri9@gmail.com>, and Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>.
      30d76a5e
  21. 30 Nov, 2009 1 commit
    • Steven Walters's avatar
      Enhanced Avisynth input support · 025f01db
      Steven Walters authored
      Requires avisynth_c.h from the Avisynth API headers.
      Reports errors properly from Avisynth script input.
      Automatically construct input scripts for almost any input file.
      Tries ffmpegsource2, DSS2, directshowsource, and many other sourcing methods, based on the input file extension.
      Automatically converts to YV12.
      025f01db
  22. 15 Nov, 2009 1 commit
  23. 09 Nov, 2009 2 commits
  24. 24 Oct, 2009 1 commit
  25. 19 Oct, 2009 1 commit
  26. 02 Sep, 2009 1 commit
    • 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
  27. 31 Aug, 2009 1 commit
    • Fiona Glaser's avatar
      Multi-slice encoding support · 4ccbb199
      Fiona Glaser authored
      Slicing support is available through three methods (which can be mixed):
      --slices sets a number of slices per frame and ensures rectangular slices (required for Blu-ray).  Overridden by either of the following options:
      --slice-max-mbs sets a maximum number of macroblocks per slice.
      --slice-max-size sets a maximum slice size, in bytes (includes NAL overhead).
      Implement macroblock re-encoding support to allow highly accurate slice size limitation.  Might be useful for other things in the future, too.
      4ccbb199
  28. 29 Aug, 2009 1 commit
  29. 24 Aug, 2009 3 commits