- 05 Sep, 2012 1 commit
-
-
Brad Smith authored
Previously it was policy to use -pthread, but OpenBSD now recommends -lpthread. its been libpthread anyway and policy has changed to stop using -pthread.
-
- 27 Jul, 2012 1 commit
-
-
Ronald S. Bultje authored
Backported from libav.
-
- 26 Jul, 2012 1 commit
-
-
Kieran Kunhya authored
This eliminates a memory leak when calling x264_encoder_close.
-
- 18 Jul, 2012 1 commit
-
-
Fiona Glaser authored
People don't seem to like this so I'm just going to get rid of it.
-
- 17 Jul, 2012 5 commits
-
-
Fiona Glaser authored
Fix a typo that made an early-skip less effective. Avoid a relatively unpredictable branch. Slightly changed output due to the typo-fix. ~50 cycles faster on Core i7.
-
Fiona Glaser authored
Turn off the sub8x8 partitions, try it, and turn them back on if it didn't help. Small compression improvement with p4x4 on (~0.1-0.5%). Also update related comments.
-
Fiona Glaser authored
Implement a basic separable bilinear filter to rescale the quantizer offsets. Structure inspired by swscale, but floating-point instead of fixed-point. Not as optimized as it could be, but it's quite fast already. Example compression penalties on a 720p video game recording: First pass with 720p and second as 480p: ~-1.5% (vs. same res) First pass with 480p and second as 720p: ~-3% (vs. same res)
-
Alexander Prikhodko authored
-
Anton Mitrofanov authored
Limits VBV mispredictions after long periods of relatively constant video.
-
- 03 Jul, 2012 2 commits
-
-
Loren Merritt authored
Allow manual invocation of WIN64_SPILL_XMM even under INIT_MMX SSE version of mova is movaps rather than movdqa. YMM version of movnta. Add mp size for named arguments. Fix DEFINE_ARGS when used outside of a cglobal. Define a few more cpuflags. 3-argument wrappers for a few more instructions.
-
Anton Mitrofanov authored
Fix some integer overflows and check input parameters better. Also fix incorrect type specifiers for demuxer info printing.
-
- 18 May, 2012 1 commit
-
-
Fiona Glaser authored
Split each lookahead frame analysis call into multiple threads. Has a small impact on quality, but does not seem to be consistently any worse. This helps alleviate bottlenecks with many cores and frame threads. In many case, this massively increases performance on many-core systems. For example, over 100% faster 1080p encoding with --preset veryfast on a 12-core i7 system. Realtime 1080p30 at --preset slow should now be feasible on real systems. For sliced-threads, this patch should be faster regardless of settings (~10%). By default, lookahead threads are 1/6 of regular threads. This isn't exacting, but it seems to work well for all presets on real systems. With sliced-threads, it's the same as the number of encoding threads.
-
- 15 May, 2012 2 commits
-
-
Anton Mitrofanov authored
-
Anton Mitrofanov authored
-
- 24 Apr, 2012 1 commit
-
-
Fiona Glaser authored
Some use-cases of x264 involve encoding video with large constant areas of the frame. Sometimes, the caller knows which areas these are, and can tell x264. This API lets the caller do this and adds internal tracking of modifications to macroblocks to avoid problems. This is really only suitable without B-frames. An example use-case would be using x264 for VNC.
-
- 23 Apr, 2012 8 commits
-
-
Henrik Gramner authored
New assembly function with SSE2, SSSE3 and XOP implementations for calculating absolute sum of differences.
-
Lucien authored
-
Henrik Gramner authored
x264 never supported it and never will because nobody uses it.
-
Anton Mitrofanov authored
-
Alexander Prikhodko authored
Makes multilib compilation more convenient.
-
Rafaël Carré authored
Adds support for a bunch of targets, including: aarch64 (armv8) arm-linux-androideabi
-
Alexander Prikhodko authored
-
Steven Walters authored
MSVS requires exported variables to be declared with the DATA keyword, and requires that imported variables be declared with dllimport. This does not fix x264 cli being unable to use a shared library built by ICL however.
-
- 27 Mar, 2012 1 commit
-
-
Kieran Kunhya authored
-
- 25 Mar, 2012 1 commit
-
-
Anton Mitrofanov authored
-
- 22 Mar, 2012 1 commit
-
-
Fiona Glaser authored
The code does, in fact, handle CAVLC+8x8dct correctly already.
-
- 14 Mar, 2012 1 commit
-
-
Fiona Glaser authored
Was using qp instead of qscale; could cause NANs (not to mention less accurate results).
-
- 12 Mar, 2012 1 commit
-
-
Anton Mitrofanov authored
Regression in r2183. Bizarrely seemed to work on many platforms, but crashed on win64 and may have been slower. Only affected sliced threads during encoding, but could cause crashes on x264 encoder close even without sliced threads.
-
- 07 Mar, 2012 8 commits
-
-
Fiona Glaser authored
Lowers encoding latency around 14% in sliced threads mode with preset superfast. Additionally, even if there is no waiting time between frames, this improves parallelism, because hpel+deblock are done during the (singlethreaded) lookahead. For ease of debugging, dump-yuv forces all of the threads to wait and finish instead of setting b_full_recon.
-
Fiona Glaser authored
Fully reconstruct frames even without dump-yuv.
-
Fiona Glaser authored
Recent AMD CPUs' instruction decoders choke horribly on extremely long nops (i.e. with 4 prefixes). Won't affect much, since we don't use ALIGN much.
-
Fiona Glaser authored
Intel was nice enough to make tzcnt equal to "rep bsf", which is backwards-compatible. This means we don't actually have to add new functions to make it work.
-
Fiona Glaser authored
-
Fiona Glaser authored
Extremely accurate, possibly 100% so (I can't get it to fail even with difficult VBVs). Does not yet support rows split on slice boundaries (occurs often with slice-max-size/mbs). Still inaccurate with sliced threads, but better than before.
-
Fiona Glaser authored
Required for row re-encoding.
-
Anton Mitrofanov authored
Helps avoid VBV predictors going nuts with very low-cost MBs. One particular case this fixes is zero-cost MBs: adaptive quantization decreases the QP a lot, but (before this patch), no cost penalty gets factored in for this, because anything times zero is zero.
-
- 06 Mar, 2012 4 commits
-
-
Fiona Glaser authored
Not necessary with the CAVLC lookup table for zero run codes.
-
Fiona Glaser authored
-
Ronald S. Bultje authored
Not necessary for x264, as -m amd64 already does the right thing, but used by external users of x86inc.
-
Henrik Gramner authored
Some x264 asm assumed that the high 32 bits of registers containing "int" values would be zero. This is almost always the case, and it seems to work with gcc, but it is *not* guaranteed by the ABI. As a result, it breaks with some other compilers, like Clang, that take advantage of this in optimizations. Accordingly, fix all x86 code by using intptr_t instead of int or using movsxd where neccessary. Also add checkasm hack to detect when assembly functions incorrectly assumes that 32-bit integers are zero-extended to 64-bit.
-