- 15 Jul, 2010 3 commits
-
-
Fiona Glaser authored
Saves a few clocks in mv pred.
-
Fiona Glaser authored
Put a minimum value on the scenecut threshold; makes x264 more likely to catch successive scenecuts (but might increase the odds of false detection). This also fixes scenecut detection with keyint=infinite. Also print keyint=infinite in the x264 SEI and statsfile correctly.
-
Fiona Glaser authored
Deblocking was done slightly incorrectly. Regression in r1612.
-
- 09 Jul, 2010 2 commits
-
-
Fiona Glaser authored
-
Anton Mitrofanov authored
-
- 04 Jul, 2010 1 commit
-
-
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.
-
- 03 Jul, 2010 3 commits
-
-
Fiona Glaser authored
This just means x264 won't insert non-scenecut keyframes. Useful for streaming when using interactive error recovery or some other mechanism that makes keyframes unnecessary. Also change POC logic to limit POC/framenum LSB size (to save bits per slice). Also fix a bug in the CPB underflow detection code (didn't affect the bitstream, just resulted in the failure to print certain warning messages).
-
Fiona Glaser authored
Saves ~160 clocks per MB at subme=1, ~270 per MB at subme>1 (measured on Core i7). Negligle effect on compression. Also make a few more arrays static.
-
Steven Walters authored
x264cli messages will now respect the log level they pertain to. Slightly reduces binary size.
-
- 02 Jul, 2010 2 commits
-
-
Lamont Alston authored
Blu-ray is even more braindamaged than we thought. Accordingly, open-gop options are now "normal" and "bluray", as opposed to display and coded. Normal should be used in all cases besides Blu-ray authoring.
-
Fiona Glaser authored
Add a callback to allow the calling application to send slices immediately after being encoded. Also add some extra information to the x264_nal_t structure to help inform such a calling application how the NAL units should be ordered. Full documentation is in x264.h.
-
- 27 Jun, 2010 1 commit
-
-
Loren Merritt authored
-
- 25 Jun, 2010 7 commits
-
-
Fiona Glaser authored
In low-latency streaming with few clients, it is often feasible to modify encoder behavior in some fashion based on feedback from clients. One possible application of this is error resilience: if a packet is lost, mark the associated frame (and any referenced from it) as lost. This allows quick recovery from errors with minimal expense bit-wise. The new i_dpb_size parameter allows a calling application to tell x264 to use a larger DPB size than required by the number of reference frames. This lets x264 and the client keep a large buffer of old references to fall back to in case of lost frames. If no recovery is possible even with the available buffer, x264 will force a keyframe. This initial version does not support B-frames or intra refresh. Recommended usage is to set keyint to a very large value, so that keyframes do not occur except as necessary for extreme error recovery. Full documentation is in x264.h. Move DTS/PTS calculation to before encoding each frame instead of after. Improve documentation of x264_encoder_intra_refresh.
-
Fiona Glaser authored
Uses past motion information instead of future data from the lookahead. Not as accurate, but better than nothing in zero-latency compression when a lookahead isn't available. Currently resets on keyframes, so only available if intra-refresh is set, to avoid pops on non-scenecut keyframes. Not on by default with any preset/tune combination; must be enabled explicitly if --tune zerolatency is used. Also slightly modify encoding presets: disable rc-lookahead in the fastest presets. Enable MB-tree in "veryfast", albeit with a very short lookahead.
-
Lamont Alston authored
Allows B-frames immediately prior to keyframes (in display order). This helps reduce keyframe popping and improve compression with short keyframe intervals. Due to a staggering display of braindamage in the Blu-ray spec, two open-GOP modes are available. The two modes calculate keyframe interval differently: one based on coded distance and one based on display distance. The latter is superior compression-wise, but for no comprehensible reason, Blu-ray requires the former if open-GOP is used.
-
Steven Walters authored
Tiny performance improvement with fast settings and lots of threads. May help more on some OSs with slow thread creation, like OS X. Unify inconsistent synchronized abbreviations to sync.
-
Fiona Glaser authored
Adapt based on distance to the end in bits, not in frames. Helps in videos with absurdly simple end sections, e.g. black frames.
-
Fiona Glaser authored
Primarily Nehalem-optimized.
-
Fiona Glaser authored
In a staggering display of brain damage, the spec requires all HRD math to be done in infinite precision despite the output being of quite limited precision. Accordingly, convert buffer management to work in units of timescale. These accumulating rounding errors probably didn't cause any real problems, but might in theory cause issues in very picky muxers on extremely long-running streams.
-
- 24 Jun, 2010 1 commit
-
-
Fiona Glaser authored
Some versions of gcc have been reported to attempt (and fail) to vectorize a loop in plane_expand_border. This results in a segfault, so to limit the possible effects of gcc's utter incompetence, we're turning off vectorization entirely. It's not like it ever did anything useful to begin with.
-
- 23 Jun, 2010 1 commit
-
-
Anton Mitrofanov authored
Check to see if input file is a pipe without opening it.
-
- 15 Jun, 2010 2 commits
-
-
Fiona Glaser authored
-
Holger Lubitz authored
Replace fp division by multiply with the reciprocal. Only ~12% faster on penryn, but over 80% faster on amd k8. Also make checkasm slightly more tolerant to rounding error.
-
- 14 Jun, 2010 5 commits
-
-
Diogo Franco authored
-
Anton Mitrofanov authored
Indicate use of --fake-interlaced in encoding options SEI.
-
Havoc Pennington authored
-
Anton Mitrofanov authored
Could cause slightly incorrect analysis in rare cases, but no serious encoding issues. Also shut up gcc warning about pels_v.
-
Anton Mitrofanov authored
-
- 09 Jun, 2010 12 commits
-
-
Henrik Gramner authored
-
Anton Mitrofanov authored
Also get rid of a few instances of variable shadowing.
-
Fiona Glaser authored
Significantly speeds up cache_load in the non-interlaced case. Also various other minor optimizations in cache_load and cache_save.
-
Fiona Glaser authored
Store it in x264_t instead of going through the SPS.
-
Steven Walters authored
The API mandates all mallocs are 16 byte aligned. Remove unused int that stores sizeof malloc in memalign hack.
-
Steven Walters authored
Unify input/output defines to HAVE_* format. Define values as 1 to simplify conditionals.
-
Fiona Glaser authored
Based on the scores of the H and V modes, rule out modes which are unlikely. Small compression loss (0.1-0.5%) and large speed gain (10-30% faster intra analysis). Not enabled in slower encoding modes. Also make C versions of the merged SATD functions in order to eliminate branches based on their availability.
-
Fiona Glaser authored
-
Anton Mitrofanov authored
-
Alex Jurkiewicz authored
-
saintdev authored
-
David Conrad authored
-