]> git.sesse.net Git - x264/log
x264
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

13 years agoFix decoder desync with positive --chroma-qp-offset and zones
Anton Mitrofanov [Sat, 23 Apr 2011 11:19:40 +0000 (15:19 +0400)]
Fix decoder desync with positive --chroma-qp-offset and zones

13 years agoUse AVMEDIA_TYPE_VIDEO instead of deprecated CODEC_TYPE_VIDEO
Anton Khirnov [Wed, 20 Apr 2011 08:53:44 +0000 (10:53 +0200)]
Use AVMEDIA_TYPE_VIDEO instead of deprecated CODEC_TYPE_VIDEO

Fixes build with lavf/lavc 53.

13 years agoForce pic-struct for Blu-ray compat + fake-interlaced
Fiona Glaser [Fri, 15 Apr 2011 23:33:27 +0000 (16:33 -0700)]
Force pic-struct for Blu-ray compat + fake-interlaced

13 years agoFix open-gop with no-psy
Anton Mitrofanov [Thu, 14 Apr 2011 19:14:52 +0000 (12:14 -0700)]
Fix open-gop with no-psy

13 years agoFix build with disabled asm
Steven Walters [Thu, 14 Apr 2011 18:09:45 +0000 (11:09 -0700)]
Fix build with disabled asm

13 years agoImprove Blu-ray compliance
Fiona Glaser [Wed, 6 Apr 2011 09:16:42 +0000 (02:16 -0700)]
Improve Blu-ray compliance
Use dec_ref_pic_marking SEIs to repeat B-ref referencing information.
Don't allow B-frames to reference frames outside their minigop.

13 years agoConsolidate Blu-ray hacks into --bluray-compat
Fiona Glaser [Thu, 7 Apr 2011 00:15:50 +0000 (17:15 -0700)]
Consolidate Blu-ray hacks into --bluray-compat
This option is now required for Blu-ray compatibility.
--open-gop bluray is now gone (using bluray-compat and open-gop implies a Blu-ray compatible open-gop).
This option doesn't automatically enforce every aspect of Blu-ray compatibility (e.g. resolution, framerate, level, etc).

13 years agoAdd SSE support to rectangle.h for 16-byte stores
Fiona Glaser [Tue, 29 Mar 2011 12:33:44 +0000 (05:33 -0700)]
Add SSE support to rectangle.h for 16-byte stores
Uses GCC vector intrinsics; may be suboptimal on particularly old GCC versions.

13 years agoDo not force Intel Compiler to target pre-mmx architecture for x86
Steven Walters [Tue, 12 Apr 2011 23:22:56 +0000 (19:22 -0400)]
Do not force Intel Compiler to target pre-mmx architecture for x86
Caused a speed penalty against gcc equivalents.

13 years agoWarn users when using --(psnr|ssim) without --tune (psnr|ssim)
Fiona Glaser [Tue, 12 Apr 2011 08:16:48 +0000 (01:16 -0700)]
Warn users when using --(psnr|ssim) without --tune (psnr|ssim)
This is a counter to the proliferation of incredibly stupid psnr/ssim "benchmarks" of x264 in which the benchmarker conveniently "forgot" --tune psnr/ssim, crippling x264 in the test.

13 years agoRemove redundant mbcmp calls in weightp analysis
Dylan Yudaken [Thu, 7 Apr 2011 23:06:19 +0000 (16:06 -0700)]
Remove redundant mbcmp calls in weightp analysis

13 years agoUse integer math for filler size calculation
Anton Mitrofanov [Wed, 6 Apr 2011 18:48:57 +0000 (22:48 +0400)]
Use integer math for filler size calculation

13 years agoDisable progress for FFMS input with --no-progress
Anton Mitrofanov [Tue, 5 Apr 2011 10:06:54 +0000 (14:06 +0400)]
Disable progress for FFMS input with --no-progress

13 years agoFix bug in intra-refresh ratecontrol
Michael Stuurman [Thu, 31 Mar 2011 20:45:22 +0000 (13:45 -0700)]
Fix bug in intra-refresh ratecontrol
Row SATDs were slightly incorrect.