1. 15 Sep, 2008 1 commit
    • Fiona Glaser's avatar
      Add optional more optimal B-frame decision method · 95ed2720
      Fiona Glaser authored
      This method (--b-adapt 2) uses a Viterbi algorithm somewhat similar to that used in trellis quantization.
      Note that it is not fully optimized and is very slow with large --bframes values.
      It also takes into account weightb, which should improve fade detection.
      Additionally, changes were made to cache lowres intra results for each frame to avoid recalculating them.  This should improve performance in both B-frame decision methods.
      This can also be done for motion vectors, which will dramatically improve b-adapt 2 performance when it is complete.
      This patch also reads b_adapt and scenecut settings from the first pass so that the x264 header information in the output file will have correct information (since frametype decision is only done on the first pass).
      95ed2720
  2. 14 Sep, 2008 1 commit
    • Fiona Glaser's avatar
      Move adaptive quantization to before ratecontrol, eliminate qcomp bias · 80458ffc
      Fiona Glaser authored
      This change improves VBV accuracy and improves bit distribution in CRF and 2pass.
      Instead of being applied after ratecontrol, AQ becomes part of the complexity measure that ratecontrol uses.
      This allows for modularity for changes to AQ; a new AQ algorithm can be introduced simply by introducing a new aq_mode and a corresponding if in adaptive_quant_frame.
      This also allows quantizer field smoothing, since quantizers are calculated beofrehand rather during encoding.
      Since there is no more reason for it, aq_mode 1 is removed.  The new mode 1 is in a sense a merger of the old modes 1 and 2.
      WARNING: This change redefines CRF when using AQ, so output bitrate for a given CRF may be significantly different from before this change!
      80458ffc
  3. 06 Sep, 2008 1 commit
    • Fiona Glaser's avatar
      Revert part of r963 · 654e5498
      Fiona Glaser authored
      In some rare (but significant) cases, the optimized nal_encode algorithm gave incorrect results.
      654e5498
  4. 05 Sep, 2008 7 commits
  5. 01 Sep, 2008 1 commit
  6. 30 Aug, 2008 2 commits
  7. 27 Aug, 2008 1 commit
  8. 22 Aug, 2008 1 commit
    • Fiona Glaser's avatar
      Fix compilation in gcc 3.4.x (issue in r946) · 7086a203
      Fiona Glaser authored
      Due to a bug in gcc 3.4.x, in certain cases of inlining, the array_non_zero_int_mmx inline asssembly is miscompiled and causes a crash with --subme 7 --8x8dct.
      This minor hack fixes this issue.
      7086a203
  9. 21 Aug, 2008 5 commits
  10. 20 Aug, 2008 1 commit
  11. 19 Aug, 2008 2 commits
  12. 16 Aug, 2008 2 commits
  13. 15 Aug, 2008 1 commit
    • Fiona Glaser's avatar
      Faster deblocking · ddee314e
      Fiona Glaser authored
      Early termination for bS=0, alpha=0, beta=0
      Refactoring, various other optimizations
      About 30% faster deblocking overall.
      ddee314e
  14. 10 Aug, 2008 2 commits
  15. 31 Jul, 2008 1 commit
  16. 30 Jul, 2008 3 commits
  17. 26 Jul, 2008 1 commit
  18. 24 Jul, 2008 2 commits
  19. 18 Jul, 2008 2 commits
  20. 16 Jul, 2008 1 commit
  21. 12 Jul, 2008 1 commit
  22. 11 Jul, 2008 1 commit