1. 24 Aug, 2009 4 commits
  2. 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
  3. 21 Aug, 2009 1 commit
  4. 20 Aug, 2009 3 commits
  5. 19 Aug, 2009 4 commits
    • Fiona Glaser's avatar
      Improve QPRD · bde792fe
      Fiona Glaser authored
      Always check the last macroblock's QP, even if the normal search doesn't reach it.
      Raise the failure threshold when moving towards the last macroblock's QP.
      0.2-1% improved compression.
      bde792fe
    • Fiona Glaser's avatar
      Fix MB-tree with keyint<3 · 4e824bbc
      Fiona Glaser authored
      Also slightly improve VBV keyint handling.
      4e824bbc
    • Fiona Glaser's avatar
      Fix bug in VBV lookahead + no MB-tree · 678b317a
      Fiona Glaser authored
      I-frames need to have VBV lookahead run on them as well.
      678b317a
    • Fiona Glaser's avatar
      Add support for frame-accurate parameter changes · c83699f1
      Fiona Glaser authored
      Parameter structs can now be passed with individual frames.
      The previous method would only change the parameter of what was currently being encoded, which due to delay might be very far from an intended exact frame.
      Also add support for changing aspect ratio.  Only works in a stream with repeating headers and requires the caller to force an IDR to ensure instant effect.
      c83699f1
  6. 18 Aug, 2009 1 commit
  7. 17 Aug, 2009 2 commits
    • Fiona Glaser's avatar
      Fix two bugs in QPRD · ba0c0351
      Fiona Glaser authored
      QPRD could in some cases force blocks to skip when they shouldn't be ~(+0.01db)
      Force QPRD to abide by qpmin/qpmax restrictions.
      ba0c0351
    • Fiona Glaser's avatar
      Lookahead VBV · 30a82c75
      Fiona Glaser authored
      Use the large-scale lookahead capability introduced in MB-tree for ratecontrol purposes.
      (Does not require MB-tree, however.)
      Greatly improved quality and compliance in 1-pass VBV mode, especially in CBR; +2db OPSNR or more in some cases.
      Fix some other bugs in VBV, which should improve non-lookahead mode as well.
      Change the tolerance algorithm in row VBV to allow for more significant mispredictions when buffer is nearly full.
      Note that due to the fixing of an extremely long-standing bug (>1 year), bitrates may change by nontrivial amounts in CRF without MB-tree.
      30a82c75
  8. 14 Aug, 2009 2 commits
    • Fiona Glaser's avatar
      Fix bug in b-adapt 1 · 50f7afcd
      Fiona Glaser authored
      B-adapt 1 didn't use more than MAX(1,bframes-1) B-frames when MB-tree was off.
      50f7afcd
    • Fiona Glaser's avatar
      Fix a potential failure in VBV · e586d699
      Fiona Glaser authored
      If VBV does underflow, ratecontrol could be permanently broken for the rest of the clip.
      Revert part of the previous VBV changes to fix this.
      e586d699
  9. 13 Aug, 2009 4 commits
  10. 09 Aug, 2009 3 commits
  11. 08 Aug, 2009 3 commits
  12. 07 Aug, 2009 4 commits
    • Anton Mitrofanov's avatar
      Fix a potential infinite loop in QPfile parsing on Windows · 7dec1a15
      Anton Mitrofanov authored
      ftell doesn't seem to work properly on Windows in text mode.
      7dec1a15
    • Fiona Glaser's avatar
      Fix delay calculation with multiple threads · 3667fbf9
      Fiona Glaser authored
      Delay frames for threading don't actually count as part of lookahead.
      3667fbf9
    • Fiona Glaser's avatar
      Add "veryslow" preset · 07178d3c
      Fiona Glaser authored
      Apparently some people are actually *using* placebo, so I've added this preset to bridge the gap.
      07178d3c
    • 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
  13. 05 Aug, 2009 1 commit
    • Fiona Glaser's avatar
      Various 1-pass VBV tweaks · 93cc2893
      Fiona Glaser authored
      Make predictors have an offset in addition to a multiplier.
      This primarily fixes issues in sources with lots of extremely static scenes, such as anime and CGI.
      We tried linear regressions, but they were very unreliable as predictors.
      Also allow VBV to be slightly more aggressive in raising QPs to avoid not having enough bits left in some situations.
      Up to 1db improvement on some clips.
      93cc2893
  14. 29 Jul, 2009 1 commit
    • Fiona Glaser's avatar
      Fix another 10L in QPRD · 1d735afb
      Fiona Glaser authored
      An entry in subpel_iterations was missing.
      I have no idea how QPRD was working at all without this change.
      1d735afb
  15. 28 Jul, 2009 3 commits
  16. 27 Jul, 2009 2 commits
  17. 26 Jul, 2009 1 commit