1. 07 Oct, 2009 2 commits
    • Anton Mitrofanov's avatar
    • Fiona Glaser's avatar
      Add support for single-frame VBV, improve compliance · 24ef8748
      Fiona Glaser authored
      This allows both constant-framesize and capped-framesize encoding.
      Literal constant framesize isn't actually supported yet due to the lack of
      filler support.
      Example with 30fps video: --vbv-bufsize 200 --vbv-maxrate 6000 will ensure that
      no frame is ever larger than 200 kilobits.
      One example use-case of this is for zero-delay streaming where bandwidth costs
      need to be minimized.  If every frame is smaller than 200 kilobits and the
      client has a 6 megabit connection, every single frame can be instantly sent
      to the client and handled without any decoder-side buffer.
      Fix a mistake in VBV calculation--this may have caused the VBV to be slightly
      non-compliant in some situations without x264 realizing it.
      Add primitive prediction handling for rows with quantizers lower than their
      reference.  This slightly improves VBV in CBR mode.
      Various other minor improvements to VBV, mostly to make single-frame VBV work.
      Commit sponsored by a media streaming company that wishes to remain anonymous.
  2. 24 Sep, 2009 1 commit
    • Fiona Glaser's avatar
      Fix 10l in API change · e324d60a
      Fiona Glaser authored
      frame_num was set to 1, not 0, for the first frame.  This broke spec compliance.
      Didn't actually seem to cause any problems though except for breaking decoding on Quicktime.
  3. 23 Sep, 2009 3 commits
    • Steven Walters's avatar
    • Anton Mitrofanov's avatar
      Improve threaded frame handling · e0920d6f
      Anton Mitrofanov authored
      Avoid unnecessary cond_wait
    • Fiona Glaser's avatar
      Attempt to detect miscompilation due to bug in gcc 4.2 · 510fa4fc
      Fiona Glaser authored
      I don't know if this bug still affects latest x264, but it can't hurt to try to detect it.
      Accordingly refuse to open the encoder if detected.
      Apparently VLC (on Windows) has been distributed for some time with a completely
      broken x264 due to the use of a completely broken compiler (gcc 4.2).  In
      particular, the MV costs seem to be calculated incorrectly on win32 when linking
      from an application compiled without -ffast-math to an application with
      I am not entirely certain why this occurs, but the result is, unsurprisingly,
      encoding quality that makes MPEG-2 look good, due to the motion search being
      completely broken.
  4. 22 Sep, 2009 1 commit
  5. 21 Sep, 2009 7 commits
  6. 14 Sep, 2009 4 commits
  7. 13 Sep, 2009 2 commits
  8. 09 Sep, 2009 1 commit
  9. 07 Sep, 2009 1 commit
    • Fiona Glaser's avatar
      Improve x264 help · 02e662e1
      Fiona Glaser authored
      Now has three help options: --help, --longhelp, and --fullhelp.
      --help only shows the most basic options; most users should not need more than these.
      Add usage examples.
      Fix typo in a comment.
  10. 06 Sep, 2009 3 commits
  11. 02 Sep, 2009 4 commits
    • David Conrad's avatar
      Compile fixes for pre-ARMv6T2 and/or PIC · de4c39b7
      David Conrad authored
    • Steven Walters's avatar
      Change priority handling on some OSs · bc120190
      Steven Walters authored
      Instead of setting the lookahead thread to max priority, lower all the other threads' priorities instead.
      This is particularly useful when the "max priority" is "realtime", as in Windows, which can cause some problems.
    • 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.
    • Fiona Glaser's avatar
      Force a link error in case of incompatible API · 7df6f5d6
      Fiona Glaser authored
      This is because the number of bug reports due to miscompiled ffmpeg builds is reaching critical mass.
      The name of x264_encoder_open is now #defined based on the current X264_BUILD.
      Note that this changes the calling convention required for dlopen, but not for ordinary calls to x264_encoder_open.
  12. 01 Sep, 2009 1 commit
    • Fiona Glaser's avatar
      Get rid of "CBR" descriptor from qcomp · ec2f6f4f
      Fiona Glaser authored
      Though technically accurate in some vague way, I have never actually seen this
      option used correctly, rather it has been used by hundreds of people who can't
      read the documentation and believe that qcomp=0 is what should be used for CBR
  13. 31 Aug, 2009 3 commits
    • Loren Merritt's avatar
      Faster me=tesa · 4767b0e1
      Loren Merritt authored
      But it still spends all too much time in me_search_ref rather than asm.
    • 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.
    • Fiona Glaser's avatar
      Fix a valgrind warning in b-adapt 2 · 57223706
      Fiona Glaser authored
  14. 29 Aug, 2009 1 commit
  15. 28 Aug, 2009 3 commits
  16. 27 Aug, 2009 3 commits