1. 25 Jan, 2011 1 commit
  2. 10 Jan, 2011 3 commits
  3. 14 Dec, 2010 1 commit
  4. 07 Dec, 2010 1 commit
  5. 19 Nov, 2010 4 commits
  6. 14 Nov, 2010 1 commit
    • Kieran Kunhya's avatar
      Fix HRD with intra-refresh · 1e902646
      Kieran Kunhya authored
      x264 was incorrectly calculating cpb_removal_delay with respect to the first keyframe.
      It should have been calculating cpb_removal_delay with respect to the last keyframe.
      1e902646
  7. 10 Nov, 2010 1 commit
  8. 31 Oct, 2010 1 commit
  9. 10 Oct, 2010 1 commit
    • Yusuke Nakamura's avatar
      Move DTS compression from libx264 to x264cli · e4b44c2e
      Yusuke Nakamura authored
      DTS compression is an ugly stupid hack and starting to encroach on unrelated areas like VBV.
      Some people want it in the mp4 muxer for devices and/or splitters that don't support Edit Boxes.
      We just say "throw these broken devices out the window".
      DTS compression will remain as a muxer option, --dts-compress, at the user's own risk.
      This option is disabled by default.
      e4b44c2e
  10. 27 Sep, 2010 1 commit
  11. 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.
      213a99d0
  12. 24 Aug, 2010 1 commit
  13. 16 Aug, 2010 1 commit
    • Fiona Glaser's avatar
      Deblock-aware RD · c9f17d93
      Fiona Glaser authored
      Small quality gain (~0.5%) at lower bitrates, potentially larger with QPRD.
      May help more with psy, maybe not.
      Enabled at subme >= 9.  Small speed cost (a few %).
      c9f17d93
  14. 22 Jul, 2010 2 commits
  15. 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.
      387828ed
  16. 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.
      c91f43a4
  17. 25 Jun, 2010 4 commits
    • Fiona Glaser's avatar
      Interactive encoder control: error resilience · edc1135e
      Fiona Glaser authored
      In low-latency streaming with few clients, it is often feasible to modify encoder behavior in some fashion based on feedback from clients.
      One possible application of this is error resilience: if a packet is lost, mark the associated frame (and any referenced from it) as lost.
      This allows quick recovery from errors with minimal expense bit-wise.
      
      The new i_dpb_size parameter allows a calling application to tell x264 to use a larger DPB size than required by the number of reference frames.
      This lets x264 and the client keep a large buffer of old references to fall back to in case of lost frames.
      If no recovery is possible even with the available buffer, x264 will force a keyframe.
      
      This initial version does not support B-frames or intra refresh.
      Recommended usage is to set keyint to a very large value, so that keyframes do not occur except as necessary for extreme error recovery.
      
      Full documentation is in x264.h.
      
      Move DTS/PTS calculation to before encoding each frame instead of after.
      Improve documentation of x264_encoder_intra_refresh.
      edc1135e
    • Lamont Alston's avatar
      Open-GOP support · d020c427
      Lamont Alston authored
      Allows B-frames immediately prior to keyframes (in display order).
      This helps reduce keyframe popping and improve compression with short keyframe intervals.
      Due to a staggering display of braindamage in the Blu-ray spec, two open-GOP modes are available.
      The two modes calculate keyframe interval differently: one based on coded distance and one based on display distance.
      The latter is superior compression-wise, but for no comprehensible reason, Blu-ray requires the former if open-GOP is used.
      d020c427
    • Steven Walters's avatar
      Use threadpools to avoid unnecessary thread creation · 81cada8e
      Steven Walters authored
      Tiny performance improvement with fast settings and lots of threads.
      May help more on some OSs with slow thread creation, like OS X.
      Unify inconsistent synchronized abbreviations to sync.
      81cada8e
    • Fiona Glaser's avatar
      Improve HRD accuracy · 5a57688f
      Fiona Glaser authored
      In a staggering display of brain damage, the spec requires all HRD math to be done in infinite precision despite the output being of quite limited precision.
      Accordingly, convert buffer management to work in units of timescale.
      These accumulating rounding errors probably didn't cause any real problems, but might in theory cause issues in very picky muxers on extremely long-running streams.
      5a57688f
  18. 09 Jun, 2010 3 commits
  19. 02 Jun, 2010 3 commits
  20. 26 May, 2010 2 commits
  21. 21 May, 2010 1 commit
    • Fiona Glaser's avatar
      Rewrite deblock strength calculation, add asm · 2ea35adf
      Fiona Glaser authored
      Rewrite is significantly slower, but is necessary to make asm possible.
      Similar concept to ffmpeg's deblock strength asm.
      Roughly one order of magnitude faster than C.
      Overall, with the asm, saves ~100-300 clocks in deblocking per MB.
      2ea35adf
  22. 17 May, 2010 1 commit
  23. 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
  24. 29 Apr, 2010 2 commits
  25. 24 Apr, 2010 1 commit