]>
granicus.if.org Git - libx264/log
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.
Anton Mitrofanov [Thu, 28 Jul 2011 09:37:24 +0000 (13:37 +0400)]
Fix crash with high bitdepth 4:2:0 input
Daniel Kang [Wed, 27 Jul 2011 01:57:39 +0000 (21:57 -0400)]
x86 asm cosmetics
Use FDEC_STRIDEB where appropriate.
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.
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.
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.
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.
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.
Fiona Glaser [Fri, 15 Jul 2011 20:24:38 +0000 (13:24 -0700)]
Optimize macroblock_deblock_strength, add more early terminations
Fiona Glaser [Fri, 15 Jul 2011 01:23:44 +0000 (18:23 -0700)]
Function-pointerify MBAFF deblocking functions
Fiona Glaser [Thu, 14 Jul 2011 21:04:11 +0000 (14:04 -0700)]
Clean up MBAFF deblocking code
Fiona Glaser [Wed, 13 Jul 2011 00:27:18 +0000 (17:27 -0700)]
Optimize frame_deblock_row
Henrik Gramner [Wed, 20 Jul 2011 20:30:59 +0000 (22:30 +0200)]
Shrink two arrays
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
Anton Mitrofanov [Wed, 20 Jul 2011 14:06:41 +0000 (18:06 +0400)]
Various cosmetics
Yasuhiro Ikeda [Tue, 12 Jul 2011 14:41:42 +0000 (23:41 +0900)]
Improve configure help
Yasuhiro Ikeda [Tue, 12 Jul 2011 05:46:29 +0000 (14:46 +0900)]
Use $optarg for some configure options
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."
Anton Mitrofanov [Thu, 14 Jul 2011 13:02:43 +0000 (17:02 +0400)]
Fix spurious "stream properties changed" with --seek option on some inputs
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.
Kieran Kunhya [Wed, 13 Jul 2011 19:25:40 +0000 (20:25 +0100)]
Fix nalu_process callback with HRD
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.
Anton Mitrofanov [Tue, 28 Jun 2011 17:39:09 +0000 (21:39 +0400)]
Fix resize filter crash with YUVJ* input pixfmt
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.
Fiona Glaser [Wed, 22 Jun 2011 10:32:53 +0000 (03:32 -0700)]
4:4:4 encoding support
Fiona Glaser [Mon, 20 Jun 2011 23:20:21 +0000 (16:20 -0700)]
Properly weight slice header lambda in chroma weightp analysis
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.
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.
Fiona Glaser [Sun, 10 Jul 2011 02:21:00 +0000 (19:21 -0700)]
Fix SSIM calculation with sliced threads
Anton Mitrofanov [Sat, 9 Jul 2011 19:57:44 +0000 (23:57 +0400)]
Avoid possible NaNs in B-frame output stats
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
Steven Walters [Fri, 24 Jun 2011 00:29:01 +0000 (20:29 -0400)]
Fix link errors with libswscale/libavutil as shared libraries
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.
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.
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.
Fiona Glaser [Tue, 24 May 2011 00:01:02 +0000 (17:01 -0700)]
Make ratecontrol_mb less slow
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.
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.
Fiona Glaser [Tue, 14 Jun 2011 17:26:56 +0000 (10:26 -0700)]
Use -vsync 0 with ffmpeg regression test
Henrik Gramner [Sat, 21 May 2011 17:04:46 +0000 (19:04 +0200)]
Inline emms instructions on x86 if possible
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.
Hii [Tue, 24 May 2011 00:31:17 +0000 (08:31 +0800)]
Make --profile main/baseline force off CQMfile
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
Anton Mitrofanov [Mon, 30 May 2011 20:13:22 +0000 (00:13 +0400)]
Fix crash with VBV + forced QP
Anton Mitrofanov [Sun, 29 May 2011 22:36:31 +0000 (02:36 +0400)]
Fix VBV bug with MinCR limit
Fiona Glaser [Fri, 20 May 2011 17:43:28 +0000 (10:43 -0700)]
Fix bitstream reallocation with slice-max-size + MBAFF
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.
Fiona Glaser [Tue, 26 Apr 2011 12:12:26 +0000 (05:12 -0700)]
Slightly speed up x86 CABAC asm
Also make some various cleanups.
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.
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.
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.
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.
Fiona Glaser [Mon, 9 May 2011 02:17:36 +0000 (19:17 -0700)]
MBAFF: Add frame/field MB stats
Simon Horlick [Wed, 27 Apr 2011 11:49:25 +0000 (12:49 +0100)]
MBAFF: Template direct spatial
Simon Horlick [Mon, 25 Apr 2011 20:22:59 +0000 (21:22 +0100)]
MBAFF: Template cache_load and cache_load_neighbours
Simon Horlick [Mon, 25 Apr 2011 08:06:24 +0000 (09:06 +0100)]
MBAFF: Make interlaced support a compile time option
Simon Horlick [Sun, 17 Apr 2011 09:05:51 +0000 (10:05 +0100)]
MBAFF: Don't call zigzag_init for every mb
Simon Horlick [Fri, 25 Mar 2011 13:36:21 +0000 (13:36 +0000)]
MBAFF: Modify ratecontrol to update every two rows
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.
Simon Horlick [Wed, 23 Mar 2011 21:54:21 +0000 (21:54 +0000)]
MBAFF: Add support for slice-max-mbs
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.
Simon Horlick [Mon, 14 Mar 2011 02:54:30 +0000 (02:54 +0000)]
MBAFF: Enable adaptive MBAFF with VSAD decision
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.
Simon Horlick [Tue, 15 Mar 2011 01:17:01 +0000 (01:17 +0000)]
MBAFF: Direct spatial
Simon Horlick [Tue, 15 Mar 2011 01:16:20 +0000 (01:16 +0000)]
MBAFF: Direct temporal
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.
Simon Horlick [Tue, 15 Mar 2011 01:39:49 +0000 (01:39 +0000)]
MBAFF: Use both left macroblocks for ref_idx calculation
Simon Horlick [Sun, 3 Apr 2011 14:23:35 +0000 (15:23 +0100)]
MBAFF: First edge deblocking
Simon Horlick [Mon, 21 Mar 2011 11:03:23 +0000 (11:03 +0000)]
MBAFF: Implement left edge deblocking functions
Simon Horlick [Sat, 2 Apr 2011 17:27:13 +0000 (18:27 +0100)]
MBAFF: Add extra data to the deblock strength structure
Simon Horlick [Wed, 16 Mar 2011 21:27:07 +0000 (21:27 +0000)]
MBAFF: Deblocking support
Simon Horlick [Mon, 21 Mar 2011 11:02:27 +0000 (11:02 +0000)]
MBAFF: Move common code from deblock functions
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.
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>
Simon Horlick [Tue, 29 Mar 2011 14:47:04 +0000 (15:47 +0100)]
MBAFF: Clamp MVDs to 66 instead of 33
Simon Horlick [Tue, 29 Mar 2011 14:46:34 +0000 (15:46 +0100)]
MBAFF: CABAC encoding of skips
Simon Horlick [Sun, 20 Feb 2011 15:31:55 +0000 (15:31 +0000)]
MBAFF: Track what interlace decision the decoder is using
Simon Horlick [Sun, 6 Feb 2011 22:58:39 +0000 (22:58 +0000)]
MBAFF: Fix mvy bounds
Fix MV clipping
Simon Horlick [Wed, 16 Mar 2011 21:34:51 +0000 (21:34 +0000)]
MBAFF: Copy deblocked pixels to other plane
Simon Horlick [Tue, 29 Mar 2011 19:26:33 +0000 (20:26 +0100)]
MBAFF: Disallow skip where predicted interlace flag would be wrong
Simon Horlick [Tue, 29 Mar 2011 19:25:23 +0000 (20:25 +0100)]
MBAFF: Inter support
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.
Simon Horlick [Tue, 11 Jan 2011 20:21:26 +0000 (20:21 +0000)]
MBAFF: Store references to the two left macroblocks
Simon Horlick [Tue, 11 Jan 2011 20:16:18 +0000 (20:16 +0000)]
MBAFF: Store left references in a table
Simon Horlick [Tue, 11 Jan 2011 20:09:00 +0000 (20:09 +0000)]
MBAFF: Disable adaptive MBAFF when subme 0 is used
Simon Horlick [Tue, 11 Jan 2011 20:05:54 +0000 (20:05 +0000)]
MBAFF: Save interlace decision for all macroblocks
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.
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).
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.
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
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.
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.
Oka Motofumi [Thu, 28 Apr 2011 04:13:49 +0000 (13:13 +0900)]
Check for invalid pixfmts in lavf demuxer
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.
Fiona Glaser [Mon, 25 Apr 2011 01:36:26 +0000 (18:36 -0700)]
Precalculate CABAC initialization contexts
Slightly faster encoding with lots of slices.
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.
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.
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.
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.
Yasuhiro Ikeda [Sun, 24 Apr 2011 06:33:45 +0000 (15:33 +0900)]
Support more recent GPAC versions