]> granicus.if.org Git - libvpx/log
libvpx
10 years agoSimplify set_rt_speed_feature()
Yaowu Xu [Thu, 9 Jan 2014 19:50:24 +0000 (11:50 -0800)]
Simplify set_rt_speed_feature()

1. Made speed choices to be progressive
2. Adjusted rt speed settings to achieve better speed/quality

Overall, rt-5 gained 2.5% in compression/quality, encoding time of 720p
niklas clip goes from 137,052ms to 121,874ms

Change-Id: Ia6e7e1e15225395a868a2f1059c3db8e266e1600

10 years agoMerge "Remove yasm.rules dependency"
Johann [Wed, 8 Jan 2014 16:42:25 +0000 (08:42 -0800)]
Merge "Remove yasm.rules dependency"

10 years agoRemove deprecated variable from rt_speed_feature
Jingning Han [Tue, 7 Jan 2014 18:15:51 +0000 (10:15 -0800)]
Remove deprecated variable from rt_speed_feature

This resolves a merge error.

Change-Id: Ifb83acc0a08e80c82f7624f9c86f79d3a86cc871

10 years agoMerge "Adding new_mv local variable."
Dmitry Kovalev [Tue, 7 Jan 2014 17:56:41 +0000 (09:56 -0800)]
Merge "Adding new_mv local variable."

10 years agoMerge "Adding get_ref_frame_buffer() function."
Dmitry Kovalev [Tue, 7 Jan 2014 17:56:06 +0000 (09:56 -0800)]
Merge "Adding get_ref_frame_buffer() function."

10 years agoMerge "Removing unused mvp_fill manipulation code."
Dmitry Kovalev [Tue, 7 Jan 2014 17:54:05 +0000 (09:54 -0800)]
Merge "Removing unused mvp_fill manipulation code."

10 years agoMerge "Remove avoid_frame_with_high_error from RD loop"
Jingning Han [Tue, 7 Jan 2014 17:31:17 +0000 (09:31 -0800)]
Merge "Remove avoid_frame_with_high_error from RD loop"

10 years agoMerge "Reusing ROUND_POWER_OF_TWO macro."
Dmitry Kovalev [Tue, 7 Jan 2014 10:40:02 +0000 (02:40 -0800)]
Merge "Reusing ROUND_POWER_OF_TWO macro."

10 years agoMerge "Clean up: unused function and variables"
Paul Wilkins [Tue, 7 Jan 2014 10:27:20 +0000 (02:27 -0800)]
Merge "Clean up:  unused function and variables"

10 years agoRemoving unused mvp_fill manipulation code.
Dmitry Kovalev [Tue, 7 Jan 2014 02:07:12 +0000 (18:07 -0800)]
Removing unused mvp_fill manipulation code.

The code can be removed because mvp_full will be overridden after that.

Change-Id: I89559b1b6914c86bcd02b7359d37241948ac11d3

10 years agoMerge "Replacing &cpi->common with cm."
Dmitry Kovalev [Tue, 7 Jan 2014 01:58:26 +0000 (17:58 -0800)]
Merge "Replacing &cpi->common with cm."

10 years agoAdding new_mv local variable.
Dmitry Kovalev [Tue, 7 Jan 2014 01:58:01 +0000 (17:58 -0800)]
Adding new_mv local variable.

Change-Id: I9631b35810c232c134f39dc0edadb1b3860a45ae

10 years agoReusing ROUND_POWER_OF_TWO macro.
Dmitry Kovalev [Tue, 7 Jan 2014 01:38:57 +0000 (17:38 -0800)]
Reusing ROUND_POWER_OF_TWO macro.

Change-Id: I064ba32d5358bfbf080a4300fc1793b345080006

10 years agoReplacing &cpi->common with cm.
Dmitry Kovalev [Tue, 7 Jan 2014 01:29:16 +0000 (17:29 -0800)]
Replacing &cpi->common with cm.

Change-Id: Ic5bf5682ccdb8d2fbad6bba0d7db19a4f47b62a1

10 years agoMerge "Fix encoding Raw yv12 and i420 from a pipe."
Alex Converse [Tue, 7 Jan 2014 01:22:21 +0000 (17:22 -0800)]
Merge "Fix encoding Raw yv12 and i420 from a pipe."

10 years agoMerge "Code cleanup: remove unneeded lines."
Marco Paniconi [Tue, 7 Jan 2014 00:35:52 +0000 (16:35 -0800)]
Merge "Code cleanup: remove unneeded lines."

10 years agoFix encoding Raw yv12 and i420 from a pipe.
Alex Converse [Tue, 7 Jan 2014 00:29:09 +0000 (16:29 -0800)]
Fix encoding Raw yv12 and i420 from a pipe.

rewind() does not work on pipes.

https://code.google.com/p/webm/issues/detail?id=678

Change-Id: I057f1e25c3f5662012d6e33ff4c97c88f50df357

10 years agoMerge "Added placeholder for real time mode"
Yaowu Xu [Tue, 7 Jan 2014 00:26:57 +0000 (16:26 -0800)]
Merge "Added placeholder for real time mode"

10 years agoCode cleanup: remove unneeded lines.
Marco Paniconi [Tue, 7 Jan 2014 00:03:13 +0000 (16:03 -0800)]
Code cleanup: remove unneeded lines.

Change-Id: I44a89b822a436299b9dd4ff26ad2e35767c29c58

10 years agoMerge "Write correct resolution to the IVF file header (b/11270652)"
Charles 'Buck' Krasic [Mon, 6 Jan 2014 23:18:04 +0000 (15:18 -0800)]
Merge "Write correct resolution to the IVF file header (b/11270652)"

10 years agoRemove yasm.rules dependency
Johann [Mon, 6 Jan 2014 23:12:42 +0000 (15:12 -0800)]
Remove yasm.rules dependency

The file was removed by 9152f4851dd6cf5800b5db82a03ce39a08095ecf after
the solution files were changed.

Change-Id: I868c56fd609f45fb3e21afd085b9e6c268aac038

10 years agoMerge "Combining ref_frame and second_ref_frame into ref_frames[2]."
Dmitry Kovalev [Mon, 6 Jan 2014 23:02:31 +0000 (15:02 -0800)]
Merge "Combining ref_frame and second_ref_frame into ref_frames[2]."

10 years agoMerge "Moving reset_segment_features() to encoder/vp9_segmentation.h."
Dmitry Kovalev [Mon, 6 Jan 2014 23:01:54 +0000 (15:01 -0800)]
Merge "Moving reset_segment_features() to encoder/vp9_segmentation.h."

10 years agoAdding get_ref_frame_buffer() function.
Dmitry Kovalev [Mon, 6 Jan 2014 22:50:54 +0000 (14:50 -0800)]
Adding get_ref_frame_buffer() function.

Encapsulating direct references to lst_fb_idx, gld_fb_idx, alt_fb_idx.

Change-Id: I7e65ba3f131286e433e6651970c5647311fa4687

10 years agoMerge "Adding RefBuffer struct."
Dmitry Kovalev [Mon, 6 Jan 2014 22:19:44 +0000 (14:19 -0800)]
Merge "Adding RefBuffer struct."

10 years agoWrite correct resolution to the IVF file header (b/11270652)
Charles 'Buck' Krasic [Sat, 4 Jan 2014 00:06:35 +0000 (16:06 -0800)]
Write correct resolution to the IVF file header (b/11270652)

also:
 o remove dead code, create_dummy_frame
 o Fix a bug in command line handling that caused a segfault if wrong
   number of arguments were given.

Change-Id: I78f026aee4e363967b750e6cde0982659c558a1f

10 years agoRemove avoid_frame_with_high_error from RD loop
Jingning Han [Mon, 6 Jan 2014 21:29:16 +0000 (13:29 -0800)]
Remove avoid_frame_with_high_error from RD loop

The feature undergoes prior assumption that the recursive partition
size search from 4x4 to 64x64, hence utilizing information from small
blocks to determine early termination in large block rate-distortion
optimization search. The current codebase is now going from top down.
The previous function might go with not properly initialized values,
hence removed.

Tested on pedestrian_area_1080p at 4000 kbps running under speed 2.
No visible difference in runtime observed.

Change-Id: I553df415c6191413762db7ae34e8790c71d8118e

10 years agoCombining ref_frame and second_ref_frame into ref_frames[2].
Dmitry Kovalev [Mon, 6 Jan 2014 20:23:36 +0000 (12:23 -0800)]
Combining ref_frame and second_ref_frame into ref_frames[2].

Change-Id: I007d66a1cb1b44751dcceafbaa64649ed9a34562

10 years agoMerge "Corerctly sets frame type in the 2 pass case"
Deb Mukherjee [Mon, 6 Jan 2014 20:01:30 +0000 (12:01 -0800)]
Merge "Corerctly sets frame type in the 2 pass case"

10 years agoAdded placeholder for real time mode
Yaowu Xu [Mon, 6 Jan 2014 19:51:18 +0000 (11:51 -0800)]
Added placeholder for real time mode

Change-Id: I203d10f76c7ca78d875eaae15557cd765c6240d1

10 years agoMoving reset_segment_features() to encoder/vp9_segmentation.h.
Dmitry Kovalev [Mon, 6 Jan 2014 19:31:57 +0000 (11:31 -0800)]
Moving reset_segment_features() to encoder/vp9_segmentation.h.

Change-Id: I0db4b31cb2382d4f6249eae0a8f42d227ad0ac57

10 years agoMerge "Moving get_scan() call out of decode_coeffs() function."
Dmitry Kovalev [Mon, 6 Jan 2014 18:50:16 +0000 (10:50 -0800)]
Merge "Moving get_scan() call out of decode_coeffs() function."

10 years agoCorerctly sets frame type in the 2 pass case
Deb Mukherjee [Fri, 3 Jan 2014 23:41:57 +0000 (15:41 -0800)]
Corerctly sets frame type in the 2 pass case

This patch sets frame types correctly in the new
vp9_get_second_pass_params() function called prior
to encode_frame_to_data_rate() function, so that the
latter function can just work with what is passed to
it. This will allow multiple vp9_get_second_pass_params()
to be created for various encode strategies without
messing with the core encode function.

There is no difference in derf and yt. stdhd/hd are pending.

Change-Id: I70dfb97e9f497e9cee04052e0e8e0c2892eab0c3

10 years agoMerge "Tune IDCT8_1D macro function interface"
Jingning Han [Mon, 6 Jan 2014 17:38:19 +0000 (09:38 -0800)]
Merge "Tune IDCT8_1D macro function interface"

10 years agoClean up: unused function and variables
Paul Wilkins [Mon, 6 Jan 2014 11:26:02 +0000 (11:26 +0000)]
Clean up:  unused function and variables

Remove adjust_maxq_qrange() and related variables.

Change-Id: I50d065f4619c499283e2680e31d0d99c22439dec

10 years agoMerge "Modified Handling of min and max vbr rates."
Paul Wilkins [Mon, 6 Jan 2014 10:04:55 +0000 (02:04 -0800)]
Merge "Modified Handling of min and max vbr rates."

10 years agoMoving get_scan() call out of decode_coeffs() function.
Dmitry Kovalev [Sat, 4 Jan 2014 02:18:39 +0000 (18:18 -0800)]
Moving get_scan() call out of decode_coeffs() function.

Change-Id: I5db2e5a6c36e6c503dea2e07d9d2e0daf4ac9d89

10 years agoMerge "Converting CHECK_POINT macro to inline function."
Dmitry Kovalev [Sat, 4 Jan 2014 02:02:10 +0000 (18:02 -0800)]
Merge "Converting CHECK_POINT macro to inline function."

10 years agoMerge "Replacing int_mv with MV."
Dmitry Kovalev [Sat, 4 Jan 2014 01:38:28 +0000 (17:38 -0800)]
Merge "Replacing int_mv with MV."

10 years agoConverting CHECK_POINT macro to inline function.
Dmitry Kovalev [Sat, 4 Jan 2014 00:16:28 +0000 (16:16 -0800)]
Converting CHECK_POINT macro to inline function.

Change-Id: I08533d59a78346dac30a7dcbc12146f23ef88bbc

10 years agoMerge "Replacing CHECK_BOUNDS macro with inline check_bounds function."
Dmitry Kovalev [Fri, 3 Jan 2014 23:57:36 +0000 (15:57 -0800)]
Merge "Replacing CHECK_BOUNDS macro with inline check_bounds function."

10 years agoMerge "Moving hev mask calculation into filter4() function."
Dmitry Kovalev [Fri, 3 Jan 2014 23:56:16 +0000 (15:56 -0800)]
Merge "Moving hev mask calculation into filter4() function."

10 years agoTune IDCT8_1D macro function interface
Jingning Han [Fri, 3 Jan 2014 23:05:25 +0000 (15:05 -0800)]
Tune IDCT8_1D macro function interface

This commit adds input/output ports for IDCT8_1D macro function to
provide more flexibility in variable use. It allows to skip several
buffer swap operations.

Change-Id: I21f3450509537322293043b3281bfd3949868677

10 years agoAdding RefBuffer struct.
Dmitry Kovalev [Sat, 28 Dec 2013 02:44:19 +0000 (18:44 -0800)]
Adding RefBuffer struct.

Adding RefBuffer to simplify reference buffer management. The struct has a
pointer to image data and scale factors relative to the current frame.

Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e

10 years agoMerge "Cleaning up get_prediction_decay_rate() function."
Dmitry Kovalev [Fri, 3 Jan 2014 23:13:22 +0000 (15:13 -0800)]
Merge "Cleaning up get_prediction_decay_rate() function."

10 years agoMerge "Pre planes configuration cleanup."
Dmitry Kovalev [Fri, 3 Jan 2014 23:04:53 +0000 (15:04 -0800)]
Merge "Pre planes configuration cleanup."

10 years agoMerge "Reduce num of buffer swap calls in idct8_1d_sse2"
Jingning Han [Fri, 3 Jan 2014 20:54:57 +0000 (12:54 -0800)]
Merge "Reduce num of buffer swap calls in idct8_1d_sse2"

10 years agoMerge "Rework idct8x8_10 SSE2 implementation"
Jingning Han [Fri, 3 Jan 2014 20:54:43 +0000 (12:54 -0800)]
Merge "Rework idct8x8_10 SSE2 implementation"

10 years agoPre planes configuration cleanup.
Dmitry Kovalev [Fri, 3 Jan 2014 20:50:57 +0000 (12:50 -0800)]
Pre planes configuration cleanup.

Change-Id: I1d50f8701d9c9dedb84387a773a3e9b4daaad720

10 years agoMerge "Merging best_ref_mv and second_best_ref_mv into best_ref_mv[2]."
Dmitry Kovalev [Fri, 3 Jan 2014 20:12:53 +0000 (12:12 -0800)]
Merge "Merging best_ref_mv and second_best_ref_mv into best_ref_mv[2]."

10 years agoReduce num of buffer swap calls in idct8_1d_sse2
Jingning Han [Fri, 3 Jan 2014 20:09:34 +0000 (12:09 -0800)]
Reduce num of buffer swap calls in idct8_1d_sse2

This commit merges the initial buffer swap operations in idct8_1d_sse2
into the array transpose step, hence reducing number of instructions
therein.

Change-Id: I219f6f50813390d2ec3ee37eecf2a4a2b44ae479

10 years agoCleaning up get_prediction_decay_rate() function.
Dmitry Kovalev [Fri, 3 Jan 2014 20:11:36 +0000 (12:11 -0800)]
Cleaning up get_prediction_decay_rate() function.

Change-Id: Ie8fcee21f41f91f94b4fa02f2a55691dea1734e3

10 years agoRework idct8x8_10 SSE2 implementation
Jingning Han [Thu, 2 Jan 2014 23:33:38 +0000 (15:33 -0800)]
Rework idct8x8_10 SSE2 implementation

This commit optimizes the SSE2 implmentation of idct8x8_10. It exploits
the fact that only top-left 4x4 block contains non-zero coefficients,
and hence reduces the instructions needed.

The runtime of idct8x8_10_sse2 goes down from 216 to 198 CPU cycles,
estimated by averaging over 100000 runs. For pedestrian_area_1080p 300
frames coded at 4000kbps, the average decoding speed goes up from
79.3 fps to 79.7 fps.

Change-Id: I6d277bbaa3ec9e1562667906975bae06904cb180

10 years agoReplacing int_mv with MV.
Dmitry Kovalev [Fri, 3 Jan 2014 19:48:07 +0000 (11:48 -0800)]
Replacing int_mv with MV.

Change-Id: Ifd432fa3741ba47102d298e0b348eb00f5a9ce53

10 years agoMerge changes Ic0a2427a,I3addbf6d
Dmitry Kovalev [Fri, 3 Jan 2014 19:47:57 +0000 (11:47 -0800)]
Merge changes Ic0a2427a,I3addbf6d

* changes:
  Removing CONFIG_MD5.
  Using VP9_FRAME_MARKER instead of raw number.

10 years agoMerging best_ref_mv and second_best_ref_mv into best_ref_mv[2].
Dmitry Kovalev [Fri, 3 Jan 2014 19:31:00 +0000 (11:31 -0800)]
Merging best_ref_mv and second_best_ref_mv into best_ref_mv[2].

Change-Id: If04b57828847cee09a79c94e1098d1aa4990ea0d

10 years agoModified Handling of min and max vbr rates.
Paul Wilkins [Thu, 2 Jan 2014 15:45:06 +0000 (15:45 +0000)]
Modified Handling of min and max vbr rates.

In two pass encodes bits are allocated to each frame
according to a modified error score for the frame as a
fraction of the modified error score for the clip or section.

Previously a minimum rate per frame was reserved and
subtracted from the bits allocatable by the two pass code.
The vbr max section rate was enforced by clipping the
actual number of bits allocated.

In this patch the min and max vbr rates are enforced
instead by clipping the modified error scores for each frame
rather than the number of bits allocated.

Small gains for all test sets (psnr and SSIM) ranging from
~ +0.05 for YT psnr up to ~ +0.25 for Std-hd SSIM.

Change-Id: Iae27d70bdd3944e3f0cceaf225bad2e8802833de

10 years agoReusing vp9_get_skip_context() function in encoder.
Dmitry Kovalev [Fri, 3 Jan 2014 02:29:56 +0000 (18:29 -0800)]
Reusing vp9_get_skip_context() function in encoder.

Change-Id: Ic0345622115941f49b6a568c7b8154ba892cbf0d

10 years agoMerge "ARM NEON version of denoiser."
Christian Duvivier [Thu, 2 Jan 2014 23:03:58 +0000 (15:03 -0800)]
Merge "ARM NEON version of denoiser."

10 years agoARM NEON version of denoiser.
Christian Duvivier [Thu, 2 Jan 2014 02:46:47 +0000 (18:46 -0800)]
ARM NEON version of denoiser.

Change-Id: I951abd4ad0078f78949f3cb79453ac334fb82a7e

10 years agoMerge "Fix show existing frame"
Yaowu Xu [Thu, 2 Jan 2014 17:27:28 +0000 (09:27 -0800)]
Merge "Fix show existing frame"

10 years agoRemoving CONFIG_MD5.
Dmitry Kovalev [Sat, 28 Dec 2013 00:10:18 +0000 (16:10 -0800)]
Removing CONFIG_MD5.

We don't need compile time md5 configuration because --md5 is a runtime
option.

Change-Id: Ic0a2427ae5de5a18f31e5ee60c3732481b377ca1

10 years agoMerge "Adaptive motion control on ref and search range"
Jingning Han [Fri, 27 Dec 2013 23:04:16 +0000 (15:04 -0800)]
Merge "Adaptive motion control on ref and search range"

10 years agoUsing VP9_FRAME_MARKER instead of raw number.
Dmitry Kovalev [Fri, 27 Dec 2013 22:50:27 +0000 (14:50 -0800)]
Using VP9_FRAME_MARKER instead of raw number.

Change-Id: I3addbf6d89a86a707c8df1a463da3e9e367910df

10 years agoMerge "Removing vpx_codec_vp9x_cx and internal experimental flag."
Dmitry Kovalev [Fri, 27 Dec 2013 22:47:57 +0000 (14:47 -0800)]
Merge "Removing vpx_codec_vp9x_cx and internal experimental flag."

10 years agoMerge "Remove a unused sub-pixel search"
Yunqing Wang [Fri, 27 Dec 2013 22:05:38 +0000 (14:05 -0800)]
Merge "Remove a unused sub-pixel search"

10 years agoRemoving vpx_codec_vp9x_cx and internal experimental flag.
Dmitry Kovalev [Fri, 27 Dec 2013 22:01:12 +0000 (14:01 -0800)]
Removing vpx_codec_vp9x_cx and internal experimental flag.

vpx_codec_vp9x_cx is not used internally. Experimental flag from
vp9_extracfg is also not really used. YUV 4:4:4 just works after these
changes (you have to specify --profile=1 for the encoder).

Change-Id: Ib1c8461d0d19d159827e005efe868f891eea0140

10 years agoAdaptive motion control on ref and search range
Jingning Han [Fri, 20 Dec 2013 23:24:22 +0000 (15:24 -0800)]
Adaptive motion control on ref and search range

This commit takes a preliminary attempt to refine the motion search
control. It detects the SAD associated with mv predictor per reference
frame, and based on which to determine whether the encoder wants to
reduce the motion search range (if the predicted mv provides fairly
small SAD), or to skip the current reference frame (if there exists
another ref frame that gives much smaller SAD cost).

This feature is turned on in the settings of speed 1 and above.

In speed 1, compression performance changed
derf  -0.018%
yt    -0.043%
hd    -0.045%
stdhd -0.281%

speed-up
pedestrian_area_1080p at 4000 kbps 100 frames
199651ms -> 188846ms (5.5% speed-up)
blue_sky_1080p at 6000 kbps
443531ms -> 415239ms (6.3% speed-up)

In speed 2, compression performance changed
derf  -0.026%
yt    -0.090%
hd    -0.055%
stdhd -0.210%

speed-up
pedstrian 113949ms -> 108855ms (4.5% speed-up)
blue_sky  271057ms -> 257322ms (5% speed-up)

Change-Id: I1b74ea28278c94fea329d971d706d573983d810d

10 years agoMerge "Calculating has_second_ref only once for single_ref context."
Dmitry Kovalev [Thu, 26 Dec 2013 21:41:02 +0000 (13:41 -0800)]
Merge "Calculating has_second_ref only once for single_ref context."

10 years agoMerge "Removing vp9_findnearmv.{h, c} files."
Dmitry Kovalev [Thu, 26 Dec 2013 21:38:38 +0000 (13:38 -0800)]
Merge "Removing vp9_findnearmv.{h, c} files."

10 years agoMoving MAX_PROB constant to vp9_prob.h.
Dmitry Kovalev [Fri, 20 Dec 2013 23:56:59 +0000 (15:56 -0800)]
Moving MAX_PROB constant to vp9_prob.h.

Change-Id: I07470ad1b7a0344d088911428ffab8ba9a0d8708

10 years agoRenaming vp9_dboolhuff.{h, c} to vp9_reader.{h, c}.
Dmitry Kovalev [Fri, 20 Dec 2013 19:22:25 +0000 (11:22 -0800)]
Renaming vp9_dboolhuff.{h, c} to vp9_reader.{h, c}.

Change-Id: I50c009ff8108bda1c57427f23d63a79c04f7e776

10 years agoMerge "Renaming vp9_boolcoder.{h, c} to vp9_writer.{h, c}."
Dmitry Kovalev [Fri, 20 Dec 2013 20:51:37 +0000 (12:51 -0800)]
Merge "Renaming vp9_boolcoder.{h, c} to vp9_writer.{h, c}."

10 years agoMerge "Using single struct to represent scale factors."
Dmitry Kovalev [Fri, 20 Dec 2013 19:22:02 +0000 (11:22 -0800)]
Merge "Using single struct to represent scale factors."

10 years agoRenaming vp9_boolcoder.{h, c} to vp9_writer.{h, c}.
Dmitry Kovalev [Fri, 20 Dec 2013 19:10:24 +0000 (11:10 -0800)]
Renaming vp9_boolcoder.{h, c} to vp9_writer.{h, c}.

Change-Id: I9b9a5fcce8530284df0f270706ee060a0edc1517

10 years agoMerge "Reusing FRAME_COUNTS in the encoder."
Dmitry Kovalev [Fri, 20 Dec 2013 18:56:31 +0000 (10:56 -0800)]
Merge "Reusing FRAME_COUNTS in the encoder."

10 years agoMerge "Store the SSE of prediction residuals"
Jingning Han [Fri, 20 Dec 2013 18:37:20 +0000 (10:37 -0800)]
Merge "Store the SSE of prediction residuals"

10 years agoMerge "Initialize avg_frame_qindex to worst_allowed for 1 pass."
Marco Paniconi [Fri, 20 Dec 2013 18:28:09 +0000 (10:28 -0800)]
Merge "Initialize avg_frame_qindex to worst_allowed for 1 pass."

10 years agoMerge "Fix a bug"
Yaowu Xu [Fri, 20 Dec 2013 17:20:50 +0000 (09:20 -0800)]
Merge "Fix a bug"

10 years agoFix a bug
Yaowu Xu [Fri, 20 Dec 2013 16:52:35 +0000 (08:52 -0800)]
Fix a bug

The line was accidently removed in 4dbad63a7.

Change-Id: Ic1e18f209cead95cecc684f952ae667271b58a97

10 years agoMerge "Code clean up"
Yunqing Wang [Fri, 20 Dec 2013 16:46:11 +0000 (08:46 -0800)]
Merge "Code clean up"

10 years agoMerge "Adjust gf_group_error_left for arf groups."
Paul Wilkins [Fri, 20 Dec 2013 12:21:56 +0000 (04:21 -0800)]
Merge "Adjust gf_group_error_left for arf groups."

10 years agoMerge "test/partial_idct_test: fix msvc build"
James Zern [Fri, 20 Dec 2013 03:31:02 +0000 (19:31 -0800)]
Merge "test/partial_idct_test: fix msvc build"

10 years agoStore the SSE of prediction residuals
Jingning Han [Fri, 20 Dec 2013 02:41:29 +0000 (18:41 -0800)]
Store the SSE of prediction residuals

Buffer the SSE of prediction residuals in the rate-distortion
optimization loop of a given block. This information would be used
for later encoding control.

Change-Id: If4e63f3462490513c48be9407d3327c8dd438367

10 years agoRemoving vp9_findnearmv.{h, c} files.
Dmitry Kovalev [Fri, 20 Dec 2013 01:39:57 +0000 (17:39 -0800)]
Removing vp9_findnearmv.{h, c} files.

Moving all code from that files to vp9_mvref_common.{h, c}.

Change-Id: Ibc4afcb8cea6847166ff411130e93611ebe63b20

10 years agoUsing single struct to represent scale factors.
Dmitry Kovalev [Fri, 20 Dec 2013 00:06:33 +0000 (16:06 -0800)]
Using single struct to represent scale factors.

Moving back to scale_factors struct. We don't need anymore x_offset_q4 and
y_offset_q4 because both values are calculated locally inside vp9_scale_mv
function.

Change-Id: I78a2122ba253c428a14558bda0e78ece738d2b5b

10 years agoMerge "vp9_encode_frame() cleanup."
Dmitry Kovalev [Thu, 19 Dec 2013 23:37:13 +0000 (15:37 -0800)]
Merge "vp9_encode_frame() cleanup."

10 years agoInitialize avg_frame_qindex to worst_allowed for 1 pass.
Marco Paniconi [Thu, 19 Dec 2013 22:26:46 +0000 (14:26 -0800)]
Initialize avg_frame_qindex to worst_allowed for 1 pass.

Change-Id: I535bde16c8fc4c2cd263bbbbaed46ead4c776090

10 years agoCall set_scaled_offsets() just before scale_mv() call.
Dmitry Kovalev [Thu, 19 Dec 2013 19:16:05 +0000 (11:16 -0800)]
Call set_scaled_offsets() just before scale_mv() call.

Before mv scaling it is required to calculate x_offset_q4/y_offset_q4
by calling set_scaled_offsets(). Now offset configuration can not be
missed because it happens just before scale_mv().

Change-Id: I7dd1a85b85811a6cc67c46c9b01e6ccbbb06ce3a

10 years agoMerge "Adding get_block_variance_fn() function."
Dmitry Kovalev [Thu, 19 Dec 2013 22:47:59 +0000 (14:47 -0800)]
Merge "Adding get_block_variance_fn() function."

10 years agoMerge "Replacing 1 << mi_{width, height}_log2() with lookup tables."
Dmitry Kovalev [Thu, 19 Dec 2013 22:28:58 +0000 (14:28 -0800)]
Merge "Replacing 1 << mi_{width, height}_log2() with lookup tables."

10 years agovp9_encode_frame() cleanup.
Dmitry Kovalev [Thu, 19 Dec 2013 22:28:42 +0000 (14:28 -0800)]
vp9_encode_frame() cleanup.

Change-Id: I82ecbe7fe0baa890ce251043f3c7159188c00665

10 years agoAdding get_block_variance_fn() function.
Dmitry Kovalev [Thu, 19 Dec 2013 22:07:03 +0000 (14:07 -0800)]
Adding get_block_variance_fn() function.

Change-Id: I67d934b6af899ffd4bcad2d913a650685fa64abd

10 years agoReplacing 1 << mi_{width, height}_log2() with lookup tables.
Dmitry Kovalev [Thu, 19 Dec 2013 21:43:45 +0000 (13:43 -0800)]
Replacing 1 << mi_{width, height}_log2() with lookup tables.

Change-Id: Iba91ff1e797a83517e2cd7c3ab86cba39f39415b

10 years agoMerge "Begin refactor of frame schedule in rate control"
Deb Mukherjee [Thu, 19 Dec 2013 19:37:06 +0000 (11:37 -0800)]
Merge "Begin refactor of frame schedule in rate control"

10 years agoRemove a unused sub-pixel search
Yunqing Wang [Thu, 19 Dec 2013 19:20:56 +0000 (11:20 -0800)]
Remove a unused sub-pixel search

The original iterative search was replaced by subpel_tree search,
and was not used anymore.

Change-Id: I998b38e1cb0ee359a08b2410d0766dbf183ab071

10 years agoCode clean up
Yunqing Wang [Thu, 19 Dec 2013 19:09:23 +0000 (11:09 -0800)]
Code clean up

Removed unused filter coefficients.

Change-Id: Ib395a51305e23ff41ab69c1808d56946d25961cd

10 years agoMerge "Converting vp9_treecoder.h to vp9_prob.{h, c}"
Dmitry Kovalev [Thu, 19 Dec 2013 19:03:30 +0000 (11:03 -0800)]
Merge "Converting vp9_treecoder.h to vp9_prob.{h, c}"

10 years agoMerge "Adding get_zbin_mode_boost() function."
Dmitry Kovalev [Thu, 19 Dec 2013 19:03:23 +0000 (11:03 -0800)]
Merge "Adding get_zbin_mode_boost() function."

10 years agoBegin refactor of frame schedule in rate control
Deb Mukherjee [Wed, 18 Dec 2013 18:26:27 +0000 (10:26 -0800)]
Begin refactor of frame schedule in rate control

Various cleanups and streamlining of interfaces as precursor
to further advancements in rate control.
Pre-encode parameter setting for different use cases:
One-pass, first of 2-pass, second of 2-pass, and Svc
are separated out.

There is no change in output with this change.

Change-Id: Ied8ca7d84d610993776aa30ef263fe20452e0e3e