]> granicus.if.org Git - libx264/log
libx264
13 years agoTimecode parsing: Add missing initialization
Yusuke Nakamura [Fri, 29 Jul 2011 14:39:26 +0000 (23:39 +0900)]
Timecode parsing: Add missing initialization
Fix crash when failed to parse timecode file before malloc pts.
Fix detection of user timebase considered to be exceeding H.264 maximum.

13 years agoFix crash with high bitdepth 4:2:0 input
Anton Mitrofanov [Thu, 28 Jul 2011 09:37:24 +0000 (13:37 +0400)]
Fix crash with high bitdepth 4:2:0 input

13 years agox86 asm cosmetics
Daniel Kang [Wed, 27 Jul 2011 01:57:39 +0000 (21:57 -0400)]
x86 asm cosmetics
Use FDEC_STRIDEB where appropriate.

13 years agoFix a bug in lossless sub-8x8 RD
Fiona Glaser [Tue, 26 Jul 2011 14:40:23 +0000 (07:40 -0700)]
Fix a bug in lossless sub-8x8 RD
Caused crashes in rare cases with lossless encoding.  Regression in 4:4:4.

13 years agoImproved p8x4/4x8 search decision
Fiona Glaser [Tue, 19 Jul 2011 06:10:30 +0000 (23:10 -0700)]
Improved p8x4/4x8 search decision
Use the same thresholding as for p16x8/8x16.
Does p8x4/4x8 search more often, for a small compression improvement.

13 years agoAdd --subme 11, which disables all early terminations in analysis
Dan Larkin [Wed, 13 Jul 2011 17:45:23 +0000 (12:45 -0500)]
Add --subme 11, which disables all early terminations in analysis
Necessary for a future trellis mode decision/motion estimation patch.
Also add the slowest presets to the regression test.

13 years agoSome trivial changes to RD thresholds
Dan Larkin [Wed, 13 Jul 2011 16:33:48 +0000 (11:33 -0500)]
Some trivial changes to RD thresholds
The output-changing portion of the next patch.

13 years agoAllow setting a wider range of chroma QP offsets
Anton Mitrofanov [Wed, 20 Jul 2011 18:54:43 +0000 (22:54 +0400)]
Allow setting a wider range of chroma QP offsets
This allows use of the full range of chroma QP offsets, even in combination with the automatic psy-based adjustments.

13 years agoOptimize macroblock_deblock_strength, add more early terminations
Fiona Glaser [Fri, 15 Jul 2011 20:24:38 +0000 (13:24 -0700)]
Optimize macroblock_deblock_strength, add more early terminations

13 years agoFunction-pointerify MBAFF deblocking functions
Fiona Glaser [Fri, 15 Jul 2011 01:23:44 +0000 (18:23 -0700)]
Function-pointerify MBAFF deblocking functions

13 years agoClean up MBAFF deblocking code
Fiona Glaser [Thu, 14 Jul 2011 21:04:11 +0000 (14:04 -0700)]
Clean up MBAFF deblocking code

13 years agoOptimize frame_deblock_row
Fiona Glaser [Wed, 13 Jul 2011 00:27:18 +0000 (17:27 -0700)]
Optimize frame_deblock_row

13 years agoShrink two arrays
Henrik Gramner [Wed, 20 Jul 2011 20:30:59 +0000 (22:30 +0200)]
Shrink two arrays

13 years agoAdd support for the new (4:4:4) colorspaces to x264_picture_alloc
Anton Mitrofanov [Mon, 18 Jul 2011 11:20:05 +0000 (15:20 +0400)]
Add support for the new (4:4:4) colorspaces to x264_picture_alloc

13 years agoVarious cosmetics
Anton Mitrofanov [Wed, 20 Jul 2011 14:06:41 +0000 (18:06 +0400)]
Various cosmetics

13 years agoImprove configure help
Yasuhiro Ikeda [Tue, 12 Jul 2011 14:41:42 +0000 (23:41 +0900)]
Improve configure help

13 years agoUse $optarg for some configure options
Yasuhiro Ikeda [Tue, 12 Jul 2011 05:46:29 +0000 (14:46 +0900)]
Use $optarg for some configure options

13 years agoLinux x264_cpu_num_processors(): use glibc macros
Rafaël Carré [Fri, 15 Jul 2011 01:51:43 +0000 (18:51 -0700)]
Linux x264_cpu_num_processors(): use glibc macros
The cpu_set_t structure is considered opaque.
Also handle sched_getaffinity() error case if "cpusetsize is smaller than the size of the affinity mask used by the kernel."

13 years agoFix spurious "stream properties changed" with --seek option on some inputs
Anton Mitrofanov [Thu, 14 Jul 2011 13:02:43 +0000 (17:02 +0400)]
Fix spurious "stream properties changed" with --seek option on some inputs

13 years agoFix use of deprecated libavcodec functions
Anton Mitrofanov [Fri, 15 Jul 2011 11:06:37 +0000 (15:06 +0400)]
Fix use of deprecated libavcodec functions
Replace avcodec_open with avcodec_open2. Now requires libavcodec 53.6.0 or newer.

13 years agoFix nalu_process callback with HRD
Kieran Kunhya [Wed, 13 Jul 2011 19:25:40 +0000 (20:25 +0100)]
Fix nalu_process callback with HRD

13 years agoFix incorrect chroma swap for some input pixfmts
Anton Mitrofanov [Wed, 13 Jul 2011 11:55:38 +0000 (15:55 +0400)]
Fix incorrect chroma swap for some input pixfmts

Problem occurred if pixfmt of lavf/ffms input was PIX_FMT_RGB24 or PIX_FMT_YUV444P.

13 years agoFix resize filter crash with YUVJ* input pixfmt
Anton Mitrofanov [Tue, 28 Jun 2011 17:39:09 +0000 (21:39 +0400)]
Fix resize filter crash with YUVJ* input pixfmt

13 years agoRGB encoding support
xvidfan [Thu, 23 Jun 2011 01:46:14 +0000 (18:46 -0700)]
RGB encoding support
Much less efficient than YUV444, but easy to support using the YUV444 framework.

13 years ago4:4:4 encoding support
Fiona Glaser [Wed, 22 Jun 2011 10:32:53 +0000 (03:32 -0700)]
4:4:4 encoding support

13 years agoProperly weight slice header lambda in chroma weightp analysis
Fiona Glaser [Mon, 20 Jun 2011 23:20:21 +0000 (16:20 -0700)]
Properly weight slice header lambda in chroma weightp analysis

13 years agoBetter x86 high bit depth predict_8x8c_p
Daniel Kang [Sun, 3 Jul 2011 21:32:00 +0000 (17:32 -0400)]
Better x86 high bit depth predict_8x8c_p
Avoid the need to check for corner cases by reordering arithmetic.
Also make a minor optimization to high bit depth predict_16x16_p.

13 years agoEliminate extra layer of indirection for sps/pps references
Fiona Glaser [Thu, 23 Jun 2011 18:54:42 +0000 (11:54 -0700)]
Eliminate extra layer of indirection for sps/pps references
Also remove poc type 1 support (it didn't work anyways) to reduce sps size.

13 years agoFix SSIM calculation with sliced threads
Fiona Glaser [Sun, 10 Jul 2011 02:21:00 +0000 (19:21 -0700)]
Fix SSIM calculation with sliced threads

13 years agoAvoid possible NaNs in B-frame output stats
Anton Mitrofanov [Sat, 9 Jul 2011 19:57:44 +0000 (23:57 +0400)]
Avoid possible NaNs in B-frame output stats

13 years agoARM: do not override the toolchain default for FPU ABI
Rémi Denis-Courmont [Thu, 30 Jun 2011 21:07:43 +0000 (14:07 -0700)]
ARM: do not override the toolchain default for FPU ABI

13 years agoFix link errors with libswscale/libavutil as shared libraries
Steven Walters [Fri, 24 Jun 2011 00:29:01 +0000 (20:29 -0400)]
Fix link errors with libswscale/libavutil as shared libraries

13 years agoFix deprecation in libavformat usage
Steven Walters [Sat, 18 Jun 2011 18:12:34 +0000 (14:12 -0400)]
Fix deprecation in libavformat usage
Replace av_open_input_file with avformat_open_input. Now requires libavformat 53.2.0 or newer.

13 years agoFix various issues with VBV+threads
Anton Mitrofanov [Wed, 8 Jun 2011 21:34:14 +0000 (01:34 +0400)]
Fix various issues with VBV+threads
Eliminate the race condition with interframe row predictors and threads.
Recalculate frame_size_estimated at the end of a frame, for improved update_vbv_plan.
Some cosmetics.

13 years agoFix MBAFF row VBV ratecontrol
Anton Mitrofanov [Mon, 6 Jun 2011 09:54:44 +0000 (13:54 +0400)]
Fix MBAFF row VBV ratecontrol
Reverts most of r1984 and implements a much simpler solution.

13 years agoMake ratecontrol_mb less slow
Fiona Glaser [Tue, 24 May 2011 00:01:02 +0000 (17:01 -0700)]
Make ratecontrol_mb less slow

13 years agoResize filter updates
Steven Walters [Fri, 3 Jun 2011 01:23:04 +0000 (21:23 -0400)]
Resize filter updates
Fix use of deprecated sws_getContext.
Fix uses of sws_format_name.
Fix stream change warning not occurring on the first resolution change.
Drop cpu detection, as it is now performed internally by swscale.
Update swscale version requirements.

13 years agoAVX mbtree_propagate
Fiona Glaser [Tue, 17 May 2011 21:50:51 +0000 (14:50 -0700)]
AVX mbtree_propagate
Up to ~20-30% faster than SSE2 on Sandy Bridge.

13 years agoUse -vsync 0 with ffmpeg regression test
Fiona Glaser [Tue, 14 Jun 2011 17:26:56 +0000 (10:26 -0700)]
Use -vsync 0 with ffmpeg regression test

13 years agoInline emms instructions on x86 if possible
Henrik Gramner [Sat, 21 May 2011 17:04:46 +0000 (19:04 +0200)]
Inline emms instructions on x86 if possible

13 years agoMake left_index_table const
Fiona Glaser [Tue, 14 Jun 2011 16:35:03 +0000 (09:35 -0700)]
Make left_index_table const
Should allow for some missed compiler optimizations in macroblock_cache_load.

13 years agoMake --profile main/baseline force off CQMfile
Hii [Tue, 24 May 2011 00:31:17 +0000 (08:31 +0800)]
Make --profile main/baseline force off CQMfile

13 years agoFix VBV bug caused by zero i_row_satd value for first and last row
Anton Mitrofanov [Tue, 31 May 2011 22:11:56 +0000 (02:11 +0400)]
Fix VBV bug caused by zero i_row_satd value for first and last row

13 years agoFix crash with VBV + forced QP
Anton Mitrofanov [Mon, 30 May 2011 20:13:22 +0000 (00:13 +0400)]
Fix crash with VBV + forced QP

13 years agoFix VBV bug with MinCR limit
Anton Mitrofanov [Sun, 29 May 2011 22:36:31 +0000 (02:36 +0400)]
Fix VBV bug with MinCR limit

13 years agoFix bitstream reallocation with slice-max-size + MBAFF
Fiona Glaser [Fri, 20 May 2011 17:43:28 +0000 (10:43 -0700)]
Fix bitstream reallocation with slice-max-size + MBAFF

13 years agoImprove build system capabilities
Nikoli [Fri, 29 Apr 2011 10:19:22 +0000 (14:19 +0400)]
Improve build system capabilities
Make static lib and CLI optional.
Support linking CLI to system libx264.
Don't strip by default, to match GNU packaging guidelines.

13 years agoSlightly speed up x86 CABAC asm
Fiona Glaser [Tue, 26 Apr 2011 12:12:26 +0000 (05:12 -0700)]
Slightly speed up x86 CABAC asm
Also make some various cleanups.

13 years agoFaster pixel_memset
Fiona Glaser [Thu, 5 May 2011 06:26:19 +0000 (23:26 -0700)]
Faster pixel_memset
~4x faster.
Also inline plane_expand_border for improved constant propagation.

13 years agoAdd checkasm tests for memcpy_aligned, memzero_aligned
Fiona Glaser [Thu, 5 May 2011 07:42:43 +0000 (00:42 -0700)]
Add checkasm tests for memcpy_aligned, memzero_aligned
Also make memcpy_aligned support sizes smaller than 64.

13 years agoMBAFF: Add regularization to VSAD metric
Fiona Glaser [Mon, 9 May 2011 01:46:52 +0000 (18:46 -0700)]
MBAFF: Add regularization to VSAD metric
Bias towards the MBAFF decisions made in neighboring mb pairs.
~2% better compression on a random 1080i HDTV source.

13 years agoMBAFF: Improve handling of bottom row mod32 padding
Fiona Glaser [Mon, 9 May 2011 01:46:39 +0000 (18:46 -0700)]
MBAFF: Improve handling of bottom row mod32 padding
Force skip on any MBs entirely outside the frame
If an mb pair in the bottom row is chosen to be progressive, re-pad the bottom rows progressively.

13 years agoMBAFF: Add frame/field MB stats
Fiona Glaser [Mon, 9 May 2011 02:17:36 +0000 (19:17 -0700)]
MBAFF: Add frame/field MB stats

13 years agoMBAFF: Template direct spatial
Simon Horlick [Wed, 27 Apr 2011 11:49:25 +0000 (12:49 +0100)]
MBAFF: Template direct spatial

13 years agoMBAFF: Template cache_load and cache_load_neighbours
Simon Horlick [Mon, 25 Apr 2011 20:22:59 +0000 (21:22 +0100)]
MBAFF: Template cache_load and cache_load_neighbours

13 years agoMBAFF: Make interlaced support a compile time option
Simon Horlick [Mon, 25 Apr 2011 08:06:24 +0000 (09:06 +0100)]
MBAFF: Make interlaced support a compile time option

13 years agoMBAFF: Don't call zigzag_init for every mb
Simon Horlick [Sun, 17 Apr 2011 09:05:51 +0000 (10:05 +0100)]
MBAFF: Don't call zigzag_init for every mb

13 years agoMBAFF: Modify ratecontrol to update every two rows
Simon Horlick [Fri, 25 Mar 2011 13:36:21 +0000 (13:36 +0000)]
MBAFF: Modify ratecontrol to update every two rows

13 years agoMBAFF: Add support for slice-max-size
Simon Horlick [Wed, 23 Mar 2011 21:55:03 +0000 (21:55 +0000)]
MBAFF: Add support for slice-max-size

Also add slice-max-size to the regression tests.

13 years agoMBAFF: Add support for slice-max-mbs
Simon Horlick [Wed, 23 Mar 2011 21:54:21 +0000 (21:54 +0000)]
MBAFF: Add support for slice-max-mbs

13 years agoMBAFF: Adaptive quantization
Simon Horlick [Thu, 17 Mar 2011 17:39:18 +0000 (17:39 +0000)]
MBAFF: Adaptive quantization

Compute energy for interlaced and progressive choices and pick the least.

13 years agoMBAFF: Enable adaptive MBAFF with VSAD decision
Simon Horlick [Mon, 14 Mar 2011 02:54:30 +0000 (02:54 +0000)]
MBAFF: Enable adaptive MBAFF with VSAD decision

13 years agoMBAFF: Create a VSAD DSP function
Simon Horlick [Sat, 23 Apr 2011 09:44:04 +0000 (10:44 +0100)]
MBAFF: Create a VSAD DSP function

x86 assembly by Fiona Glaser. This gives roughly 30x speed
increase over the C version.

13 years agoMBAFF: Direct spatial
Simon Horlick [Tue, 15 Mar 2011 01:17:01 +0000 (01:17 +0000)]
MBAFF: Direct spatial

13 years agoMBAFF: Direct temporal
Simon Horlick [Tue, 15 Mar 2011 01:16:20 +0000 (01:16 +0000)]
MBAFF: Direct temporal

13 years agoMBAFF: Calculate bipred POCs
Simon Horlick [Tue, 15 Mar 2011 01:15:06 +0000 (01:15 +0000)]
MBAFF: Calculate bipred POCs

Need to calculate two tables for the cases where the current macroblock is
progressive or interlaced as refs are calculated differently for each.

13 years agoMBAFF: Use both left macroblocks for ref_idx calculation
Simon Horlick [Tue, 15 Mar 2011 01:39:49 +0000 (01:39 +0000)]
MBAFF: Use both left macroblocks for ref_idx calculation

13 years agoMBAFF: First edge deblocking
Simon Horlick [Sun, 3 Apr 2011 14:23:35 +0000 (15:23 +0100)]
MBAFF: First edge deblocking

13 years agoMBAFF: Implement left edge deblocking functions
Simon Horlick [Mon, 21 Mar 2011 11:03:23 +0000 (11:03 +0000)]
MBAFF: Implement left edge deblocking functions

13 years agoMBAFF: Add extra data to the deblock strength structure
Simon Horlick [Sat, 2 Apr 2011 17:27:13 +0000 (18:27 +0100)]
MBAFF: Add extra data to the deblock strength structure

13 years agoMBAFF: Deblocking support
Simon Horlick [Wed, 16 Mar 2011 21:27:07 +0000 (21:27 +0000)]
MBAFF: Deblocking support

13 years agoMBAFF: Move common code from deblock functions
Simon Horlick [Mon, 21 Mar 2011 11:02:27 +0000 (11:02 +0000)]
MBAFF: Move common code from deblock functions

13 years agoMBAFF: Add mbaff deblock strength calculation
Simon Horlick [Wed, 16 Mar 2011 21:18:59 +0000 (21:18 +0000)]
MBAFF: Add mbaff deblock strength calculation

Move call to deblock_strength to x264_macroblock_deblock_strength to
keep deblock strength calculation in one place.

13 years agoMBAFF: Update x264_cabac_mvd_sum_mmxext to work with larger MVDs.
Simon Horlick [Thu, 21 Apr 2011 00:47:53 +0000 (01:47 +0100)]
MBAFF: Update x264_cabac_mvd_sum_mmxext to work with larger MVDs.

Author: Loren Merritt <pengvado@akuvian.org>

13 years agoMBAFF: Clamp MVDs to 66 instead of 33
Simon Horlick [Tue, 29 Mar 2011 14:47:04 +0000 (15:47 +0100)]
MBAFF: Clamp MVDs to 66 instead of 33

13 years agoMBAFF: CABAC encoding of skips
Simon Horlick [Tue, 29 Mar 2011 14:46:34 +0000 (15:46 +0100)]
MBAFF: CABAC encoding of skips

13 years agoMBAFF: Track what interlace decision the decoder is using
Simon Horlick [Sun, 20 Feb 2011 15:31:55 +0000 (15:31 +0000)]
MBAFF: Track what interlace decision the decoder is using

13 years agoMBAFF: Fix mvy bounds
Simon Horlick [Sun, 6 Feb 2011 22:58:39 +0000 (22:58 +0000)]
MBAFF: Fix mvy bounds

Fix MV clipping

13 years agoMBAFF: Copy deblocked pixels to other plane
Simon Horlick [Wed, 16 Mar 2011 21:34:51 +0000 (21:34 +0000)]
MBAFF: Copy deblocked pixels to other plane

13 years agoMBAFF: Disallow skip where predicted interlace flag would be wrong
Simon Horlick [Tue, 29 Mar 2011 19:26:33 +0000 (20:26 +0100)]
MBAFF: Disallow skip where predicted interlace flag would be wrong

13 years agoMBAFF: Inter support
Simon Horlick [Tue, 29 Mar 2011 19:25:23 +0000 (20:25 +0100)]
MBAFF: Inter support

13 years agoMBAFF: Neighbour calculation
Simon Horlick [Fri, 14 Jan 2011 21:18:14 +0000 (21:18 +0000)]
MBAFF: Neighbour calculation

Back up intra borders correctly and make neighbour calculation several times longer.

13 years agoMBAFF: Store references to the two left macroblocks
Simon Horlick [Tue, 11 Jan 2011 20:21:26 +0000 (20:21 +0000)]
MBAFF: Store references to the two left macroblocks

13 years agoMBAFF: Store left references in a table
Simon Horlick [Tue, 11 Jan 2011 20:16:18 +0000 (20:16 +0000)]
MBAFF: Store left references in a table

13 years agoMBAFF: Disable adaptive MBAFF when subme 0 is used
Simon Horlick [Tue, 11 Jan 2011 20:09:00 +0000 (20:09 +0000)]
MBAFF: Disable adaptive MBAFF when subme 0 is used

13 years agoMBAFF: Save interlace decision for all macroblocks
Simon Horlick [Tue, 11 Jan 2011 20:05:54 +0000 (20:05 +0000)]
MBAFF: Save interlace decision for all macroblocks

13 years agoFix bug in NAL buffer resizing
Fiona Glaser [Thu, 12 May 2011 02:21:16 +0000 (10:21 +0800)]
Fix bug in NAL buffer resizing
Also properly terminate if NAL buffer resizing fails.

13 years agoFix zone bitrate multiplier and QP forcing in 2-pass mode
Anton Mitrofanov [Thu, 5 May 2011 12:27:49 +0000 (16:27 +0400)]
Fix zone bitrate multiplier and QP forcing in 2-pass mode
Previously zone changes could affect frames outside of the given frame range (around 20 neighboring frames).

13 years agoUse float constants in qp rounding
Fiona Glaser [Thu, 5 May 2011 10:24:38 +0000 (03:24 -0700)]
Use float constants in qp rounding
Slight performance improvement and fixes slight difference in output between gcc 3.4 and 4.5.

13 years agoFix bugs with ratecontrol reconfiguration
Anton Mitrofanov [Wed, 4 May 2011 07:49:06 +0000 (11:49 +0400)]
Fix bugs with ratecontrol reconfiguration
Initialization of some parameters was missed or wasn't synchronized with other threads

13 years agoMore validation of input parameters
Anton Mitrofanov [Wed, 4 May 2011 07:45:58 +0000 (11:45 +0400)]
More validation of input parameters
This fixes a crash with --me umh and insane values of --me-range.

13 years agoFix bug in --b-adapt 2 with --rc-lookahead >248
Anton Mitrofanov [Sun, 1 May 2011 13:28:56 +0000 (17:28 +0400)]
Fix bug in --b-adapt 2 with --rc-lookahead >248
Problem caused by buffer overflow in strcpy.

13 years agoCheck for invalid pixfmts in lavf demuxer
Oka Motofumi [Thu, 28 Apr 2011 04:13:49 +0000 (13:13 +0900)]
Check for invalid pixfmts in lavf demuxer

13 years agoFix regression in r1944
Fiona Glaser [Tue, 10 May 2011 08:58:21 +0000 (01:58 -0700)]
Fix regression in r1944
Broke sliced-threads + slice-max-size/slice-max-mbs.

13 years agoPrecalculate CABAC initialization contexts
Fiona Glaser [Mon, 25 Apr 2011 01:36:26 +0000 (18:36 -0700)]
Precalculate CABAC initialization contexts
Slightly faster encoding with lots of slices.

13 years agoAvoid redundant log2f calls in mv cost initialization
Fiona Glaser [Sun, 24 Apr 2011 04:22:13 +0000 (21:22 -0700)]
Avoid redundant log2f calls in mv cost initialization
Saves around 100 million clock cycles on x264 init.

13 years agoCABAC residual: cleanup and optimizations
Fiona Glaser [Thu, 21 Apr 2011 21:19:05 +0000 (14:19 -0700)]
CABAC residual: cleanup and optimizations
Also kill all Hungarian notation while we're at it.
Trim an instruction off cabac_encode_bypass.

13 years agoValidate input parameters more carefully
Anton Mitrofanov [Tue, 19 Apr 2011 22:54:49 +0000 (02:54 +0400)]
Validate input parameters more carefully
Get rid of redundant warnings upon encoder_reconfig calls.
Also avoid encoder_reconfig turning off psy_rd/trellis.

13 years agoFix VFR MB-tree to work as intended
Anton Mitrofanov [Thu, 21 Apr 2011 21:13:28 +0000 (01:13 +0400)]
Fix VFR MB-tree to work as intended
Should improve quality with FPSs much larger or smaller than 25.

13 years agoSupport more recent GPAC versions
Yasuhiro Ikeda [Sun, 24 Apr 2011 06:33:45 +0000 (15:33 +0900)]
Support more recent GPAC versions