1. 04 Feb, 2012 4 commits
  2. 22 Oct, 2011 2 commits
  3. 21 Sep, 2011 2 commits
  4. 10 Aug, 2011 1 commit
  5. 09 Aug, 2011 3 commits
  6. 15 Jun, 2011 1 commit
  7. 18 Feb, 2011 1 commit
  8. 25 Jan, 2011 1 commit
  9. 10 Jan, 2011 6 commits
    • Fiona Glaser's avatar
      VFR/framerate-aware ratecontrol, part 2 · c583687f
      Fiona Glaser authored
      MB-tree and qcomp complexity estimation now consider the duration of a frame in their calculations.
      This is very important for visual optimizations, as frames that last longer are inherently more important quality-wise.
      Improves VFR-aware PSNR as much as 1-2db on extreme test cases, ~0.5db on more ordinary VFR clips (e.g. deduped anime episodes).
      
      WARNING: This change redefines x264's internal quality measurement.
      x264 will now scale its quality based on the framerate of the video due to the aforementioned frame duration logic.
      That is, --crf X will give lower quality per frame for a 60fps video than for a 30fps one.
      This will make --crf closer to constant perceptual quality than previously.
      The "center" for this change is 25fps: that is, videos lower than 25fps will go up in quality at the same CRF and videos above will go down.
      This choice is completely arbitrary.
      
      Note that to take full advantage of this, x264 must encode your video at the correct framerate, with the correct timestamps.
      c583687f
    • Daniel Kang's avatar
      MMX/SSE2/SSSE3 high bit depth frame_init_lowres functions · 648147bb
      Daniel Kang authored
      Patch from Google Code-In.
      648147bb
    • Daniel Kang's avatar
      MMX version of high bit depth plane_copy · 1d22dd50
      Daniel Kang authored
      And various cosmetics.
      
      Patch from Google Code-In
      1d22dd50
    • Daniel Kang's avatar
      MMX/SSE2 high bit depth interleave functions · 6ecfa83c
      Daniel Kang authored
      Patch from Google Code-In.
      6ecfa83c
    • Joey Geralnik's avatar
      MMX/SSE2 high bit depth avg functions · 15595e6d
      Joey Geralnik authored
      Patch from Google Code-In.
      15595e6d
    • Daniel Kang's avatar
      MMX/SSE2 high bit depth deinterleave functions · c3937a51
      Daniel Kang authored
      Patch from Google Code-In
      c3937a51
  10. 14 Dec, 2010 2 commits
  11. 19 Nov, 2010 2 commits
  12. 10 Oct, 2010 2 commits
  13. 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
  14. 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
  15. 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
  16. 09 Jun, 2010 1 commit
  17. 26 May, 2010 1 commit
    • Fiona Glaser's avatar
      Detect Atom CPU, enable appropriate asm functions · 57729402
      Fiona Glaser authored
      I'm not going to actually optimize for this pile of garbage unless someone pays me.
      But it can't hurt to at least enable the correct functions based on benchmarks.
      
      Also save some cache on Intel CPUs that don't need the decimate LUT due to having fast bsr/bsf.
      57729402
  18. 17 May, 2010 1 commit
  19. 06 May, 2010 2 commits
    • Anton Mitrofanov's avatar
      More cosmetics · 54e784fd
      Anton Mitrofanov authored
      54e784fd
    • 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
  20. 25 Feb, 2010 1 commit
  21. 09 Nov, 2009 2 commits
    • Loren Merritt's avatar
      cosmetics · df732ec7
      Loren Merritt authored
      df732ec7
    • Dylan Yudaken's avatar
      Weighted P-frame prediction · ccac8546
      Dylan Yudaken authored
      Merge Dylan's Google Summer of Code 2009 tree.
      Detect fades and use weighted prediction to improve compression and quality.
      "Blind" mode provides a small overall quality increase by using a -1 offset without doing any analysis, as described in JVT-AB033.
      "Smart", the default mode, also performs fade detection and decides weights accordingly.
      MB-tree takes into account the effects of "smart" analysis in lookahead, even further improving quality in fades.
      If psy is on, mbtree is on, interlaced is off, and weightp is off, fade detection will still be performed.
      However, it will be used to adjust quality instead of create actual weights.
      This will improve quality in fades when encoding in Baseline profile.
      
      Doesn't add support for interlaced encoding with weightp yet.
      Only adds support for luma weights, not chroma weights.
      Internal code for chroma weights is in, but there's no analysis yet.
      Baseline profile requires that weightp be off.
      All weightp modes may cause minor breakage in non-compliant decoders that take shortcuts in deblocking reference frame checks.
      "Smart" may cause serious breakage in non-compliant decoders that take shortcuts in handling of duplicate reference frames.
      
      Thanks to Google for sponsoring our most successful Summer of Code yet!
      ccac8546
  22. 09 Aug, 2009 1 commit
  23. 26 Jul, 2009 1 commit