]> git.sesse.net Git - x264/log
x264
15 years agoFix possible crash in trellis at very low QPs
Fiona Glaser [Wed, 22 Oct 2008 00:10:46 +0000 (17:10 -0700)]
Fix possible crash in trellis at very low QPs

15 years agoAdd assembly versions of decimate_score
Fiona Glaser [Tue, 21 Oct 2008 21:59:07 +0000 (14:59 -0700)]
Add assembly versions of decimate_score
3-7x faster decimation, 1-3% faster overall

15 years agoFix typo in subme8/9 lossless qpel-RD
Fiona Glaser [Sat, 18 Oct 2008 10:40:59 +0000 (03:40 -0700)]
Fix typo in subme8/9 lossless qpel-RD
Slightly improves compression.

15 years agoExtend trellis to support luma/chroma DC and chroma AC
Fiona Glaser [Thu, 16 Oct 2008 10:17:53 +0000 (03:17 -0700)]
Extend trellis to support luma/chroma DC and chroma AC
Small speed loss in trellis 1, slightly larger in trellis 2, but significant quality improvement.

15 years agorm gtk, avc2avi.
Loren Merritt [Fri, 3 Oct 2008 02:57:08 +0000 (20:57 -0600)]
rm gtk, avc2avi.
I don't remember why I allowed a gui into the repository in the first place. There's nothing that makes this one special relative to all the other x264 guis.
avc2avi doesn't compile since we removed the bitstream reader. And avc doesn't belong in avi.

15 years agoResolve quality regression in r996
Fiona Glaser [Fri, 3 Oct 2008 01:11:13 +0000 (18:11 -0700)]
Resolve quality regression in r996
Accidentally removed the wrong line of code.  I think this classifies as a "10l".
Thanks to techouse for initial bug report and skystrife for helping me find it.

15 years agoFix minor memory leak accidentally added with the addition of b-adapt 2
Ralf Terdic [Thu, 2 Oct 2008 15:52:33 +0000 (08:52 -0700)]
Fix minor memory leak accidentally added with the addition of b-adapt 2

15 years agoRework subme system, add RD refinement in B-frames
Fiona Glaser [Wed, 1 Oct 2008 01:34:56 +0000 (18:34 -0700)]
Rework subme system, add RD refinement in B-frames
The new system is as follows: subme6 is RD in I/P frames, subme7 is RD in all frames, subme8 is RD refinement in I/P frames, and subme9 is RD refinement in all frames.
subme6 == old subme6, subme7 == old subme6+brdo, subme8 == old subme7+brdo, subme9 == no equivalent
--b-rdo has, accordingly, been removed.  --bime has also been removed, and instead enabled automatically at subme >= 5.
RD refinement in B-frames (subme9) includes both qpel-RD and an RD version of bime.

15 years agoFix potential miscompilation of some inline asm
Fiona Glaser [Mon, 29 Sep 2008 07:11:38 +0000 (00:11 -0700)]
Fix potential miscompilation of some inline asm
Caused problems under some gcc 4.x versions with predictive lossless

15 years agoReplace High 4:4:4 profile lossless with High 4:4:4 Predictive.
Fiona Glaser [Sat, 27 Sep 2008 23:37:27 +0000 (16:37 -0700)]
Replace High 4:4:4 profile lossless with High 4:4:4 Predictive.
This improves lossless compression by about 4-25% depending on source.
The benefit is generally higher for intra-only compression.
Also add support for 8x8dct and i8x8 blocks in lossless mode; this improves compression very slightly.
In some rare cases 8x8dct can hurt compression in lossless mode, but its usually helpful, albeit marginally.
Note that 8x8dct is only available with CABAC as it is never useful with CAVLC.
High 4:4:4 Predictive replaced the previous profile in a 2007 revision to the H.264 standard.
The only known compliant decoder for this profile is the latest version of CoreAVC.
As I write this, JM does not actually correctly decode this profile.
Hopefully this lack of support will soon change with this commit, as x264 will be (to my knowledge) the first compliant encoder.

15 years agoFix typo in progress indicator when using piped input
Fiona Glaser [Fri, 26 Sep 2008 16:19:56 +0000 (09:19 -0700)]
Fix typo in progress indicator when using piped input

15 years agoavg_weight_ssse3
Loren Merritt [Mon, 22 Sep 2008 10:17:35 +0000 (04:17 -0600)]
avg_weight_ssse3

15 years agofix bitstream writer on bigendian 64bit (regression in r903)
Loren Merritt [Sat, 20 Sep 2008 14:41:17 +0000 (08:41 -0600)]
fix bitstream writer on bigendian 64bit (regression in r903)

15 years agoremove authors whose code no longer exists
Loren Merritt [Sat, 20 Sep 2008 05:52:11 +0000 (23:52 -0600)]
remove authors whose code no longer exists

15 years agomore diagnostics when configure finds an unsuitable assembler
Loren Merritt [Mon, 15 Sep 2008 11:00:26 +0000 (05:00 -0600)]
more diagnostics when configure finds an unsuitable assembler

15 years agoMake x264 progress indicator more concise
Fiona Glaser [Fri, 26 Sep 2008 16:19:56 +0000 (09:19 -0700)]
Make x264 progress indicator more concise
Now the % indicator should be readable on the header of a minimized window on Windows systems.

15 years agoFix deblocking + threads + AQ bug
Fiona Glaser [Mon, 22 Sep 2008 05:17:34 +0000 (22:17 -0700)]
Fix deblocking + threads + AQ bug
At low QPs, with threads and deblocking on, deblocking could be improperly disabled.
Revision in which this bug was introduced is unknown; it may be as old as b_variable_qp in x264 itself.

15 years agoResolve possible crash in bime, improve the fix in r985
Fiona Glaser [Sun, 21 Sep 2008 20:35:00 +0000 (13:35 -0700)]
Resolve possible crash in bime, improve the fix in r985

15 years agoFix rare crash issue in b-adapt
Fiona Glaser [Sun, 21 Sep 2008 02:36:07 +0000 (19:36 -0700)]
Fix rare crash issue in b-adapt
Regression *probably* in r979

15 years agoMerging Holger's GSOC branch part 1: hpel_filter speedups
Holger Lubitz [Sat, 20 Sep 2008 09:36:55 +0000 (02:36 -0700)]
Merging Holger's GSOC branch part 1: hpel_filter speedups

15 years agor980 borked weighted bime
Loren Merritt [Sat, 20 Sep 2008 18:31:10 +0000 (12:31 -0600)]
r980 borked weighted bime

15 years agoDisable I_PCM with psy-RD
Fiona Glaser [Sat, 20 Sep 2008 08:39:16 +0000 (01:39 -0700)]
Disable I_PCM with psy-RD
psy-RD seems to put the PCM threshold a bit lower than it should be, so PCM is now disabled under psy-RD.

15 years agoMerge avg and avg_weight
Fiona Glaser [Fri, 19 Sep 2008 16:21:34 +0000 (09:21 -0700)]
Merge avg and avg_weight
avg_weight no longer has to be special-cased in the code; faster weightb

15 years agoRewrite avg/avg_weight to take two source pointers
Fiona Glaser [Thu, 18 Sep 2008 04:25:05 +0000 (21:25 -0700)]
Rewrite avg/avg_weight to take two source pointers
This allows the use of get_ref instead of mc_luma almost everywhere for bipred

15 years agoUse low-resolution lookahead motion vectors as an extra predictor
Fiona Glaser [Wed, 17 Sep 2008 07:33:37 +0000 (00:33 -0700)]
Use low-resolution lookahead motion vectors as an extra predictor
Improves quality considerably (0-5%) in 1pass/CRF mode, especially with lower --me values and complex motion.
Reverses the order of lowres lookahead search to improve the usefulness of the extra predictors.

15 years agoAdd missing free() for f_qp_offset in frame.c
Fiona Glaser [Wed, 17 Sep 2008 05:44:10 +0000 (22:44 -0700)]
Add missing free() for f_qp_offset in frame.c

15 years agoCorrect misprediction of bitrate in threaded mode
Gabriel Bouvigne [Tue, 16 Sep 2008 08:54:37 +0000 (01:54 -0700)]
Correct misprediction of bitrate in threaded mode
Improves bitrate accuracy in cases with large numbers of threads.
Loosely based on a patch by BugMaster.

15 years agoFix a case in which VBV underflows can occur
Gabriel Bouvigne [Tue, 16 Sep 2008 08:53:02 +0000 (01:53 -0700)]
Fix a case in which VBV underflows can occur
Fix a potential case where a frame might be initially allocated too low a QP, which would then have to be raised a low during row-based ratecontrol.
In some cases, this could even produce VBV underflows in 2pass mode.

15 years agoUse correct format specifier for uint64_t
Panagiotis Issaris [Mon, 15 Sep 2008 18:47:50 +0000 (20:47 +0200)]
Use correct format specifier for uint64_t

15 years agoCache motion vectors in lowres lookahead
Fiona Glaser [Tue, 16 Sep 2008 07:31:26 +0000 (00:31 -0700)]
Cache motion vectors in lowres lookahead
This vastly speeds up b-adapt 2, especially at large bframes values.
This changes output because now MV prediction in lookahead only uses L0/L1 MVs, not bidir.  This isn't a problem, since the bidir prediction wasn't really correct to begin with, so the change in output is neither positive nor negative.
This also allowed the removal of some unnecessary memsets, which should also give a small speed boost.
Finally, this allows the use of the lowres motion vectors for predictors in some future patch.

15 years agoFix regression in b-adapt patch: encoder_open failed for multipass encodes without...
Fiona Glaser [Mon, 15 Sep 2008 19:22:48 +0000 (12:22 -0700)]
Fix regression in b-adapt patch: encoder_open failed for multipass encodes without bframes.

15 years agoStop SAR in y4m input from overriding --sar on commandline
Fiona Glaser [Mon, 15 Sep 2008 17:53:29 +0000 (10:53 -0700)]
Stop SAR in y4m input from overriding --sar on commandline

15 years agohadamard_ac for psy-rd
Loren Merritt [Mon, 15 Sep 2008 08:24:12 +0000 (02:24 -0600)]
hadamard_ac for psy-rd
c version is 1.7x faster than satd+sa8d+sad
ssse3 version is 2.3x faster than satd+sa8d+sad

15 years agoPsychovisually optimized rate-distortion optimization and trellis
Fiona Glaser [Mon, 15 Sep 2008 04:36:45 +0000 (21:36 -0700)]
Psychovisually optimized rate-distortion optimization and trellis
The latter, psy-trellis, is disabled by default and is reserved as experimental; your mileage may vary.
Default subme is raised to 6 so that psy RD is on by default.

15 years agoAdd optional more optimal B-frame decision method
Fiona Glaser [Mon, 15 Sep 2008 01:18:15 +0000 (18:18 -0700)]
Add optional more optimal B-frame decision method
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).

15 years agoMove adaptive quantization to before ratecontrol, eliminate qcomp bias
Fiona Glaser [Sat, 13 Sep 2008 21:03:12 +0000 (14:03 -0700)]
Move adaptive quantization to before ratecontrol, eliminate qcomp bias
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!

15 years agoFix crash when using b-adapt at resolutions 32x32 or below.
Fiona Glaser [Wed, 10 Sep 2008 06:51:17 +0000 (23:51 -0700)]
Fix crash when using b-adapt at resolutions 32x32 or below.
Original patch by BugMaster, but was mostly rewritten in order to make b-adapt actually *work* at such resolutions, not merely stop crashing.

15 years agoAdd title-bar progress indicator under WIN32
Fiona Glaser [Wed, 10 Sep 2008 06:12:20 +0000 (23:12 -0700)]
Add title-bar progress indicator under WIN32
Also add bitrate-so-far output when piping data to x264 (total frames not known)
Patch mostly by recover from Doom9.

15 years agoRevert part of r963
Fiona Glaser [Sat, 6 Sep 2008 06:14:23 +0000 (23:14 -0700)]
Revert part of r963
In some rare (but significant) cases, the optimized nal_encode algorithm gave incorrect results.

15 years agoPredict 4x4_DC asm
Fiona Glaser [Fri, 5 Sep 2008 03:13:38 +0000 (20:13 -0700)]
Predict 4x4_DC asm
Also remove 5-year-old unnecessary #define that reduced speed unnecessarily under MSVC-compiled builds

15 years agoFaster NAL unit encoding and remove unused nal_decode
Fiona Glaser [Thu, 4 Sep 2008 07:43:54 +0000 (00:43 -0700)]
Faster NAL unit encoding and remove unused nal_decode
Small speedup at very high bitrates

15 years agoCAVLC cleanup and optimizations
Fiona Glaser [Thu, 4 Sep 2008 05:12:23 +0000 (22:12 -0700)]
CAVLC cleanup and optimizations
Also move some small functions in macroblock.c to a .h file so they can be inlined.

15 years agoFaster avg_weight assembly
Fiona Glaser [Thu, 4 Sep 2008 04:43:06 +0000 (21:43 -0700)]
Faster avg_weight assembly
Unrolling the loop a bit improves performance

15 years agoFaster H asm intra prediction functions
Fiona Glaser [Wed, 3 Sep 2008 22:35:22 +0000 (15:35 -0700)]
Faster H asm intra prediction functions
Take advantage of the H prediction method invented for merged intra SAD and apply it to regular prediction, too.

15 years agoAdd merged SAD for i16x16 analysis
Fiona Glaser [Wed, 3 Sep 2008 22:32:16 +0000 (15:32 -0700)]
Add merged SAD for i16x16 analysis
Roughly 30% faster i16x16 analysis under subme=1

15 years agoAdd sad_aligned for faster subme=1 mbcmp
Fiona Glaser [Wed, 3 Sep 2008 22:15:17 +0000 (15:15 -0700)]
Add sad_aligned for faster subme=1 mbcmp
Distinguish between unaligned and aligned uses of mbcmp
SAD_aligned, for MMX SADs, uses non-cacheline SADs.

15 years agoImprove progress indicator
Fiona Glaser [Tue, 2 Sep 2008 18:49:55 +0000 (11:49 -0700)]
Improve progress indicator
Show average bitrate so far during encoding
Decrease update interval for longer encodes (max of 10 frames encoded between updates)

15 years agoFix speed regression in r951
Fiona Glaser [Mon, 1 Sep 2008 17:35:41 +0000 (10:35 -0700)]
Fix speed regression in r951
Row SATDs are only necessary in VBV mode, so don't need to be checked if VBV is off.

15 years agozigzag asm
Holger Lubitz [Mon, 1 Sep 2008 02:55:50 +0000 (20:55 -0600)]
zigzag asm

15 years agofix SOFLAGS used when building gtk frontend
Guillaume Poirier [Sun, 31 Aug 2008 19:46:31 +0000 (21:46 +0200)]
fix SOFLAGS used when building gtk frontend
patch by Markus Kanet %darkvision A gmx P eu%

15 years agoremove the distinction between itex and ptex
Loren Merritt [Thu, 21 Aug 2008 02:56:56 +0000 (20:56 -0600)]
remove the distinction between itex and ptex
(changes 2pass statsfile format)

15 years agohardcode the ratecontrol equation, and remove the rceq option
Loren Merritt [Thu, 21 Aug 2008 02:51:39 +0000 (20:51 -0600)]
hardcode the ratecontrol equation, and remove the rceq option

15 years agoFix some uses of uninitialized row_satd values in VBV
Fiona Glaser [Wed, 27 Aug 2008 17:14:36 +0000 (13:14 -0400)]
Fix some uses of uninitialized row_satd values in VBV
Resolves some issues with QP51 in I-frames with scenecut

15 years agoActivate trellis in p8x8 qpel RD
Fiona Glaser [Tue, 26 Aug 2008 18:51:29 +0000 (14:51 -0400)]
Activate trellis in p8x8 qpel RD
Also clean up macroblock.c with some refactoring
Note that this change significantly reduces subme7+trellis2 performance, but improves quality.
Issue originally reported by Alex_W.

15 years agoImprove VBV accuracy
Gabriel Bouvigne [Mon, 25 Aug 2008 14:50:45 +0000 (10:50 -0400)]
Improve VBV accuracy
Don't use the previous frame's row SATD as a predictor if it is too different from this frame's row SATD.

15 years agoimprove generation of Darwin libraries
Guillaume Poirier [Fri, 22 Aug 2008 19:05:37 +0000 (21:05 +0200)]
improve generation of Darwin libraries
Patch by vmrsss %vmrsss A gmail P com%

15 years agoFix compilation in gcc 3.4.x (issue in r946)
Fiona Glaser [Fri, 22 Aug 2008 01:23:08 +0000 (21:23 -0400)]
Fix compilation in gcc 3.4.x (issue in r946)
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.

15 years agoshut up various gcc warnings
Loic Le Loarer [Thu, 21 Aug 2008 10:19:24 +0000 (04:19 -0600)]
shut up various gcc warnings

15 years agofix a crash with invalid args and --thread-input (introduced in r921)
Loren Merritt [Thu, 21 Aug 2008 10:15:49 +0000 (04:15 -0600)]
fix a crash with invalid args and --thread-input (introduced in r921)

15 years agodrop support for x86_32 PIC.
Loren Merritt [Wed, 20 Aug 2008 11:36:32 +0000 (05:36 -0600)]
drop support for x86_32 PIC.

15 years agouse permute macros in satd
Loren Merritt [Tue, 19 Aug 2008 07:55:57 +0000 (01:55 -0600)]
use permute macros in satd
move some more shared macros to x264util.asm

15 years agocosmetics
Loren Merritt [Thu, 21 Aug 2008 02:32:13 +0000 (20:32 -0600)]
cosmetics

15 years agor940 broke threads
Loren Merritt [Thu, 21 Aug 2008 01:00:52 +0000 (19:00 -0600)]
r940 broke threads

15 years agoCleanups in macroblock_cache_save/load
Fiona Glaser [Wed, 20 Aug 2008 17:28:15 +0000 (13:28 -0400)]
Cleanups in macroblock_cache_save/load
A bit more loop unrolling, and moving some constant code to the global init function

15 years agoDeblocking code cleanup and cosmetics
Fiona Glaser [Tue, 19 Aug 2008 20:18:24 +0000 (14:18 -0600)]
Deblocking code cleanup and cosmetics
Convert the style of the deblocking code to the standard x264 style
Eliminate some trailing whitespace

15 years ago4% faster deblock: special-case macroblock edges
Fiona Glaser [Tue, 19 Aug 2008 05:03:37 +0000 (23:03 -0600)]
4% faster deblock: special-case macroblock edges
Along with a bit of related code reorganization and macroification

15 years agoAdd dedicated variance function instead of using SAD+SSD
David Pethes [Sat, 16 Aug 2008 15:43:26 +0000 (09:43 -0600)]
Add dedicated variance function instead of using SAD+SSD
Faster variance calculation

15 years ago6% faster deblock: remove some clips, earlier termiantion on low qps.
Loren Merritt [Fri, 15 Aug 2008 09:04:28 +0000 (03:04 -0600)]
6% faster deblock: remove some clips, earlier termiantion on low qps.

15 years agoFaster deblocking
Fiona Glaser [Fri, 15 Aug 2008 01:31:42 +0000 (19:31 -0600)]
Faster deblocking
Early termination for bS=0, alpha=0, beta=0
Refactoring, various other optimizations
About 30% faster deblocking overall.

15 years agoasm cosmetics
Loren Merritt [Sat, 2 Aug 2008 14:19:50 +0000 (08:19 -0600)]
asm cosmetics

15 years agoyet another posix-emulating define on solaris
Daniel Vergien [Wed, 6 Aug 2008 14:10:53 +0000 (08:10 -0600)]
yet another posix-emulating define on solaris

15 years agoupdate msvc projectfile
Gabriel Bouvigne [Wed, 6 Aug 2008 13:45:05 +0000 (07:45 -0600)]
update msvc projectfile

15 years agodrop support for msvc6
Loren Merritt [Wed, 6 Aug 2008 13:34:42 +0000 (07:34 -0600)]
drop support for msvc6

15 years agoPrevent VBV from lowering quantizer too much
Fiona Glaser [Sat, 9 Aug 2008 15:36:04 +0000 (09:36 -0600)]
Prevent VBV from lowering quantizer too much
This code seemed to act up unexpectedly sometimes, creating a situation where in 1-pass VBV mode, a frame's quantizer would drop all the way to qpmin and then shoot back upwards to qpmax, causing serious visual issues.
This change may decrease bitrate in VBV mode, but that is preferable to the artifacting produced by this code.

15 years agoImprove subme7 at low QPs and add subme7 support in lossless mode
Fiona Glaser [Sat, 9 Aug 2008 15:34:37 +0000 (09:34 -0600)]
Improve subme7 at low QPs and add subme7 support in lossless mode

15 years agocosmetics: merge x86inc*.asm
Loren Merritt [Thu, 31 Jul 2008 04:35:20 +0000 (22:35 -0600)]
cosmetics: merge x86inc*.asm

15 years agoAdd missing x264util.asm
Fiona Glaser [Wed, 30 Jul 2008 21:29:46 +0000 (15:29 -0600)]
Add missing x264util.asm

15 years agoBasic sanity checking of qpmax/qpmin options
Fiona Glaser [Wed, 30 Jul 2008 21:28:21 +0000 (15:28 -0600)]
Basic sanity checking of qpmax/qpmin options

15 years agoFix regression in r922
Fiona Glaser [Wed, 30 Jul 2008 20:42:29 +0000 (14:42 -0600)]
Fix regression in r922
set the chroma DC coefficients to zero for residual coding in qpel-rd
fix C99ism

15 years agoRefactor asm macros part 2: DCT
Holger Lubitz [Wed, 30 Jul 2008 03:36:01 +0000 (21:36 -0600)]
Refactor asm macros part 2: DCT

15 years agoRefactor asm macros part 1: DCT
Holger Lubitz [Wed, 30 Jul 2008 03:26:58 +0000 (21:26 -0600)]
Refactor asm macros part 1: DCT

15 years agoImprove intra RD refine, speed up residual_write_cabac
Fiona Glaser [Tue, 29 Jul 2008 23:08:38 +0000 (17:08 -0600)]
Improve intra RD refine, speed up residual_write_cabac
a do/while loop can be used for residual_write, but i8x8 had to be fixed so that it wouldn't call residual_write with zero coeffs
proper nnz handling added to cabac intra rd refine
chroma cbp added to 8x8 chroma rd
cbp was tested, but wasn't useful

15 years agoFix a few more minor memleaks
Fiona Glaser [Tue, 29 Jul 2008 19:42:41 +0000 (13:42 -0600)]
Fix a few more minor memleaks

15 years agostats summary: print distribution of numbers of consecutive B-frames
Loren Merritt [Sat, 26 Jul 2008 00:14:31 +0000 (18:14 -0600)]
stats summary: print distribution of numbers of consecutive B-frames

15 years agoadd interlacing to the list of stuff checked by x264_validate_levels
Loic Le Loarer [Fri, 25 Jul 2008 22:08:32 +0000 (16:08 -0600)]
add interlacing to the list of stuff checked by x264_validate_levels

15 years agoFix C99-ism in r907
Fiona Glaser [Thu, 24 Jul 2008 13:58:50 +0000 (07:58 -0600)]
Fix C99-ism in r907

15 years agoFaster temporal predictor calculation
Fiona Glaser [Fri, 18 Jul 2008 00:17:22 +0000 (18:17 -0600)]
Faster temporal predictor calculation
Split into a separate commit because this changes rounding, and thus changes output slightly.

15 years agoAlign lowres planes for improved cacheline split performance
Fiona Glaser [Thu, 17 Jul 2008 13:55:24 +0000 (07:55 -0600)]
Align lowres planes for improved cacheline split performance

15 years agoautodetect level based on resolution/bitrate/refs/etc, rather than defaulting to...
Loren Merritt [Wed, 16 Jul 2008 02:16:16 +0000 (20:16 -0600)]
autodetect level based on resolution/bitrate/refs/etc, rather than defaulting to L5.1
if vbv is not enabled (and especially in crf/cqp), we have to guess max bitrate, so we might underestimate the required level.

15 years agofix bs_write_ue_big for values >= 0x10000.
Loren Merritt [Fri, 18 Jul 2008 02:25:03 +0000 (20:25 -0600)]
fix bs_write_ue_big for values >= 0x10000.
(no immediate effect, since nothing writes such values yet)

15 years agoFix lossless mode borked in r901
BugMaster [Wed, 16 Jul 2008 17:54:51 +0000 (11:54 -0600)]
Fix lossless mode borked in r901

15 years agoRelax QPfile restrictions
Fiona Glaser [Sat, 12 Jul 2008 20:37:58 +0000 (14:37 -0600)]
Relax QPfile restrictions
Allow a QPfile to contain fewer frames than the total number of frames in the video and have ratecontrol fill in the rest.
Patch by kemuri9.

15 years agoLimit MVrange correctly in interlaced mode
Fiona Glaser [Sat, 12 Jul 2008 20:10:38 +0000 (14:10 -0600)]
Limit MVrange correctly in interlaced mode
Bug report by Sigma Designs, Inc.

15 years agoFix bug with PCM and adaptive quantization
Fiona Glaser [Sat, 12 Jul 2008 04:53:27 +0000 (22:53 -0600)]
Fix bug with PCM and adaptive quantization
In rare cases CABAC desync could occur, causing bitstream corruption

15 years agoFix memory leak upon x264 closing
BugMaster [Fri, 11 Jul 2008 22:00:02 +0000 (16:00 -0600)]
Fix memory leak upon x264 closing
Doesn't affect the CLI, but potentially important for programs which call x264 as a shared library.

15 years agoFix compilation on PPC systems (borked in r903)
Fiona Glaser [Fri, 11 Jul 2008 21:45:54 +0000 (15:45 -0600)]
Fix compilation on PPC systems (borked in r903)
Bigendian systems didn't have endian_fix32 defined

15 years agoAdd L1 reflist and B macroblock types to x264 info
Fiona Glaser [Fri, 11 Jul 2008 20:16:18 +0000 (14:16 -0600)]
Add L1 reflist and B macroblock types to x264 info
Also remove display of "PCM" if PCM mode is never used in the encode.
L1 reflist information will only show if pyramid coding is used.

15 years agoFix and enable I_PCM macroblock support
Fiona Glaser [Thu, 10 Jul 2008 14:36:45 +0000 (08:36 -0600)]
Fix and enable I_PCM macroblock support
In RD mode, always consider PCM as a macroblock mode possibility
Fix bitstream writing for PCM blocks in CAVLC and CABAC, and a few other minor changes to make PCM work.
PCM macroblocks improve compression at very low QPs (1-5) and in lossless mode.

15 years agode-duplicate vlc tables
Loren Merritt [Sat, 5 Jul 2008 03:03:26 +0000 (21:03 -0600)]
de-duplicate vlc tables

15 years agofaster ue/se/te write
Loren Merritt [Sat, 5 Jul 2008 00:56:30 +0000 (18:56 -0600)]
faster ue/se/te write