]>
granicus.if.org Git - libvpx/log
Dmitry Kovalev [Fri, 3 Jan 2014 23:04:53 +0000 (15:04 -0800)]
Merge "Pre planes configuration cleanup."
Jingning Han [Fri, 3 Jan 2014 20:54:57 +0000 (12:54 -0800)]
Merge "Reduce num of buffer swap calls in idct8_1d_sse2"
Jingning Han [Fri, 3 Jan 2014 20:54:43 +0000 (12:54 -0800)]
Merge "Rework idct8x8_10 SSE2 implementation"
Dmitry Kovalev [Fri, 3 Jan 2014 20:50:57 +0000 (12:50 -0800)]
Pre planes configuration cleanup.
Change-Id: I1d50f8701d9c9dedb84387a773a3e9b4daaad720
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]."
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
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
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.
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
Dmitry Kovalev [Fri, 3 Jan 2014 02:29:56 +0000 (18:29 -0800)]
Reusing vp9_get_skip_context() function in encoder.
Change-Id: Ic0345622115941f49b6a568c7b8154ba892cbf0d
Christian Duvivier [Thu, 2 Jan 2014 23:03:58 +0000 (15:03 -0800)]
Merge "ARM 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
Yaowu Xu [Thu, 2 Jan 2014 17:27:28 +0000 (09:27 -0800)]
Merge "Fix show existing frame"
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
Jingning Han [Fri, 27 Dec 2013 23:04:16 +0000 (15:04 -0800)]
Merge "Adaptive motion control on ref and search range"
Dmitry Kovalev [Fri, 27 Dec 2013 22:50:27 +0000 (14:50 -0800)]
Using VP9_FRAME_MARKER instead of raw number.
Change-Id: I3addbf6d89a86a707c8df1a463da3e9e367910df
Dmitry Kovalev [Fri, 27 Dec 2013 22:47:57 +0000 (14:47 -0800)]
Merge "Removing vpx_codec_vp9x_cx and internal experimental flag."
Yunqing Wang [Fri, 27 Dec 2013 22:05:38 +0000 (14:05 -0800)]
Merge "Remove a unused sub-pixel search"
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
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
Dmitry Kovalev [Thu, 26 Dec 2013 21:41:02 +0000 (13:41 -0800)]
Merge "Calculating has_second_ref only once for single_ref context."
Dmitry Kovalev [Thu, 26 Dec 2013 21:38:38 +0000 (13:38 -0800)]
Merge "Removing vp9_findnearmv.{h, c} files."
Dmitry Kovalev [Fri, 20 Dec 2013 23:56:59 +0000 (15:56 -0800)]
Moving MAX_PROB constant to vp9_prob.h.
Change-Id: I07470ad1b7a0344d088911428ffab8ba9a0d8708
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
Dmitry Kovalev [Fri, 20 Dec 2013 20:51:37 +0000 (12:51 -0800)]
Merge "Renaming vp9_boolcoder.{h, c} to vp9_writer.{h, c}."
Dmitry Kovalev [Fri, 20 Dec 2013 19:22:02 +0000 (11:22 -0800)]
Merge "Using single struct to represent scale factors."
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
Dmitry Kovalev [Fri, 20 Dec 2013 18:56:31 +0000 (10:56 -0800)]
Merge "Reusing FRAME_COUNTS in the encoder."
Jingning Han [Fri, 20 Dec 2013 18:37:20 +0000 (10:37 -0800)]
Merge "Store the SSE of prediction residuals"
Marco Paniconi [Fri, 20 Dec 2013 18:28:09 +0000 (10:28 -0800)]
Merge "Initialize avg_frame_qindex to worst_allowed for 1 pass."
Yaowu Xu [Fri, 20 Dec 2013 17:20:50 +0000 (09:20 -0800)]
Merge "Fix 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
Yunqing Wang [Fri, 20 Dec 2013 16:46:11 +0000 (08:46 -0800)]
Merge "Code clean up"
Paul Wilkins [Fri, 20 Dec 2013 12:21:56 +0000 (04:21 -0800)]
Merge "Adjust gf_group_error_left for arf groups."
James Zern [Fri, 20 Dec 2013 03:31:02 +0000 (19:31 -0800)]
Merge "test/partial_idct_test: fix msvc build"
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
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
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
Dmitry Kovalev [Thu, 19 Dec 2013 23:37:13 +0000 (15:37 -0800)]
Merge "vp9_encode_frame() cleanup."
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
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
Dmitry Kovalev [Thu, 19 Dec 2013 22:47:59 +0000 (14:47 -0800)]
Merge "Adding get_block_variance_fn() function."
Dmitry Kovalev [Thu, 19 Dec 2013 22:28:58 +0000 (14:28 -0800)]
Merge "Replacing 1 << mi_{width, height}_log2() with lookup tables."
Dmitry Kovalev [Thu, 19 Dec 2013 22:28:42 +0000 (14:28 -0800)]
vp9_encode_frame() cleanup.
Change-Id: I82ecbe7fe0baa890ce251043f3c7159188c00665
Dmitry Kovalev [Thu, 19 Dec 2013 22:07:03 +0000 (14:07 -0800)]
Adding get_block_variance_fn() function.
Change-Id: I67d934b6af899ffd4bcad2d913a650685fa64abd
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
Deb Mukherjee [Thu, 19 Dec 2013 19:37:06 +0000 (11:37 -0800)]
Merge "Begin refactor of frame schedule in rate control"
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
Yunqing Wang [Thu, 19 Dec 2013 19:09:23 +0000 (11:09 -0800)]
Code clean up
Removed unused filter coefficients.
Change-Id: Ib395a51305e23ff41ab69c1808d56946d25961cd
Dmitry Kovalev [Thu, 19 Dec 2013 19:03:30 +0000 (11:03 -0800)]
Merge "Converting vp9_treecoder.h to vp9_prob.{h, c}"
Dmitry Kovalev [Thu, 19 Dec 2013 19:03:23 +0000 (11:03 -0800)]
Merge "Adding get_zbin_mode_boost() function."
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
Tom Finegan [Thu, 19 Dec 2013 18:35:41 +0000 (10:35 -0800)]
Merge "test/decode_perf_test: fix msvc build"
Paul Wilkins [Thu, 19 Dec 2013 11:38:04 +0000 (11:38 +0000)]
Adjust gf_group_error_left for arf groups.
Take account of the fact that the overlay frame is usually
very cheap so distribute target bits among the other frames.
Change-Id: I120685122e8cbbe75da8d07d02932f7877059867
Paul Wilkins [Wed, 11 Dec 2013 15:03:04 +0000 (15:03 +0000)]
Allow arf just before kfs or end of sequence.
This will hurt metrics in some cases (particularly for static
clips at low data rates where there is extra overhead, but it
helps smooth transitions around forced key frames between
stitched kf sections.
Change-Id: I7e1026ae0de6c77bba863061e115136d7f283cc0
Paul Wilkins [Mon, 9 Dec 2013 17:48:35 +0000 (17:48 +0000)]
Further q estimate adjustment.
Slightly reduces the mean tendency to undershoot target
rate in vbr, especially when using the memory less mode
and when recodes are disabled.
The effect is primarily at low q.
Change-Id: I59a593b99522cc7da31b4134d1c8a65f5b7b7c53
Paul Wilkins [Thu, 19 Dec 2013 15:27:44 +0000 (15:27 +0000)]
Remove unused code and data structure.
Remove modified_error_used and adjust_active_maxq().
Change-Id: I8915007128dc1a17e11693104cfb008a6d64e6a2
Dmitry Kovalev [Thu, 19 Dec 2013 02:52:58 +0000 (18:52 -0800)]
Reusing FRAME_COUNTS in the encoder.
Replacing: intra_inter_count, y_mode_count, y_uv_mode_count.
Change-Id: I5d70f73288af6effe6176e26400138067a2ae2a3
Tom Finegan [Thu, 19 Dec 2013 02:32:59 +0000 (18:32 -0800)]
test/decode_perf_test: fix msvc build
Change-Id: I46590947dfde0bce727b20c12e3a0a8c27be8433
James Zern [Thu, 19 Dec 2013 02:33:49 +0000 (18:33 -0800)]
Merge "test/partial_idct_test: fix formatting and a warning"
Dmitry Kovalev [Thu, 19 Dec 2013 02:27:08 +0000 (18:27 -0800)]
Merge "Reusing FRAME_COUNTS in the encoder."
James Zern [Thu, 19 Dec 2013 00:38:41 +0000 (16:38 -0800)]
test/partial_idct_test: fix msvc build
Change-Id: I7fa72980d17f1ca997959e9c4f0f82501810d7c4
James Zern [Wed, 18 Dec 2013 23:59:09 +0000 (15:59 -0800)]
test/partial_idct_test: fix formatting and a warning
test/partial_idct_test.cc:74:5: warning: variable 'size' is
used uninitialized whenever 'if' condition is true
[-Wsometimes-uninitialized]
ASSERT_TRUE(0) << "Wrong Size!";
Change-Id: Ic2f880ae09268561c9f036b4d6de220fde6dc5c4
Johann [Wed, 18 Dec 2013 23:52:51 +0000 (15:52 -0800)]
Cast away Windows warning
Subtracting the pointers promoted to a signed type.
Change-Id: Ied0e822a1756ed7b2f514efafcb6dce4efb9b9d6
Alex Converse [Wed, 18 Dec 2013 22:58:03 +0000 (14:58 -0800)]
Merge "Fix arnr for 4:4:4."
Alex Converse [Wed, 18 Dec 2013 19:57:40 +0000 (11:57 -0800)]
Fix arnr for 4:4:4.
Change-Id: I80a0cea96c65c0cfb530a71053616dba6edeb896
Marco Paniconi [Wed, 18 Dec 2013 22:18:58 +0000 (14:18 -0800)]
Merge "Fix to overflow in asan test (for vp8 encoder)."
Marco Paniconi [Wed, 18 Dec 2013 20:23:30 +0000 (12:23 -0800)]
Fix to overflow in asan test (for vp8 encoder).
Change-Id: Ie67339ab3a16ce7669b5366a743812df93c52711
Jingning Han [Wed, 18 Dec 2013 18:32:51 +0000 (10:32 -0800)]
Replace cpi->common with cm in vp9_onyx_if
Replace repeated cpi->common fetching with cm variable in a few
places in vp9_onyx_if.c
Change-Id: Ifa16d617f37919b2e0baf8efb256130a647b5eb3
Jingning Han [Wed, 18 Dec 2013 20:31:35 +0000 (12:31 -0800)]
Merge "Make rd_pred_filter update consistent in all bsizes"
Jingning Han [Tue, 17 Dec 2013 01:52:59 +0000 (17:52 -0800)]
Make rd_pred_filter update consistent in all bsizes
This commit reworks the prediction filter rate-distortion cost update
process consistent for all block sizes.
Change-Id: I5874349ab38df380240f96c2d4ef924072bab68d
Yaowu Xu [Wed, 18 Dec 2013 19:41:56 +0000 (11:41 -0800)]
Merge "Added a test vector that exercises lpf deltas"
Dmitry Kovalev [Wed, 18 Dec 2013 18:39:08 +0000 (10:39 -0800)]
Adding get_zbin_mode_boost() function.
Change-Id: Ia356178d6a3c40b512d3123390781ef94dec72d6
Marco Paniconi [Wed, 18 Dec 2013 18:28:33 +0000 (10:28 -0800)]
Merge "Updates for 1-pass CBR rate control."
Yaowu Xu [Tue, 17 Dec 2013 22:44:33 +0000 (14:44 -0800)]
Added a test vector that exercises lpf deltas
From frame 2, the lpf deltas are all cleared for for even frames, and
a set of values are set and used for odd frames. The intention is to
exercise decoding code around lpf delta/update decoding.
Change-Id: Ic9ff1bc2c2a023f4805852f8573398f2ec2249d7
Marco Paniconi [Tue, 17 Dec 2013 23:45:30 +0000 (15:45 -0800)]
Updates for 1-pass CBR rate control.
Adjustments based on buffer level, frame dropper.
Change-Id: Iaa85b570493526a60c4b9fb7ded4c0226b1b3a33
Johann [Wed, 18 Dec 2013 05:26:50 +0000 (21:26 -0800)]
Merge "Fix incorrect size reading"
Johann [Wed, 18 Dec 2013 05:26:44 +0000 (21:26 -0800)]
Merge "Only exclude VP8 when it is included"
Frank Galligan [Wed, 18 Dec 2013 05:20:34 +0000 (21:20 -0800)]
Merge "Increase required number of external frame buffers"
Jim Bankoski [Wed, 18 Dec 2013 02:56:09 +0000 (18:56 -0800)]
Merge "rename loop filter functions"
Johann [Wed, 18 Dec 2013 02:29:06 +0000 (18:29 -0800)]
Fix incorrect size reading
Guard against incorrect size values moving *data past data_end.
Check read length against the difference of the buffers.
Change-Id: Ie0b54e2db517fd41a0f3ceb23402ee44839a4739
Johann [Wed, 18 Dec 2013 02:27:04 +0000 (18:27 -0800)]
Only exclude VP8 when it is included
If configured with --disable-vp8 kVP8TestVectors is undefined.
Change-Id: I9d83e805923977ab057ab48042580ce0d817ba68
James Zern [Wed, 18 Dec 2013 02:20:31 +0000 (18:20 -0800)]
Merge "Add external constants."
Frank Galligan [Wed, 18 Dec 2013 01:34:36 +0000 (17:34 -0800)]
Increase required number of external frame buffers
Make applications pass in VPX_MAXIMUM_WORK_BUFFERS as well as
VP9_MAXIMUM_REF_BUFFERS.
Change-Id: I9c07ce83fa19c90ed43227b801b2013690e81edd
Jim Bankoski [Wed, 18 Dec 2013 01:34:34 +0000 (17:34 -0800)]
rename loop filter functions
This renames all the loop filter functions so that they no
longer refer to mb
Change-Id: I8a58a8c7fd253d835cb619bde13913e896ece90b
Frank Galligan [Tue, 17 Dec 2013 19:59:46 +0000 (11:59 -0800)]
Add external constants.
Change-Id: I8d329513c87bd8622306aba27c83bf04ef170fa4
Dmitry Kovalev [Wed, 18 Dec 2013 01:02:24 +0000 (17:02 -0800)]
Calculating has_second_ref only once for single_ref context.
Change-Id: Ib1253e0606426850f53060a4c5303af86bf1c093
Yaowu Xu [Wed, 18 Dec 2013 00:57:01 +0000 (16:57 -0800)]
Merge changes I5d28c2f5,Ib00b036f
* changes:
Remove redundant function and calls
Add test for partial inverse transforms
Dmitry Kovalev [Wed, 18 Dec 2013 00:10:56 +0000 (16:10 -0800)]
Merge "Calling is_inter_block() only if mbmi is available."
Yaowu Xu [Tue, 17 Dec 2013 19:00:05 +0000 (11:00 -0800)]
Remove redundant function and calls
lf deltas are later setup in function vp9_setup_past_independence(),
so this commit removed the redundant copy. Also renamed a function
to better align the behavior of the funciton.
Change-Id: I5d28c2f5b12b3d31817e14296ed4605c1fd5c98c
Dmitry Kovalev [Tue, 17 Dec 2013 23:20:05 +0000 (15:20 -0800)]
Merge "Converting mode_lf_lut struct member into static lookup table."
Yaowu Xu [Fri, 13 Dec 2013 18:05:40 +0000 (10:05 -0800)]
Add test for partial inverse transforms
To make sure the results they produce to match their full versions
Change-Id: Ib00b036fecf43fe20af716acfc580af18ef87757
Dmitry Kovalev [Tue, 17 Dec 2013 04:12:47 +0000 (20:12 -0800)]
Reusing FRAME_COUNTS in the encoder.
Change-Id: I6ab9fe2326ebbadf0dd10cca9f66cf8277e3f43b
Replacing: comp_inter_count, single_ref_count, comp_ref_count.
James Zern [Mon, 16 Dec 2013 02:40:23 +0000 (18:40 -0800)]
{,vpx_scale}: normalize include guards
Change-Id: Ib8aafeee30d59521ee256dc1801e0db6b4b8a371
James Zern [Mon, 16 Dec 2013 02:36:00 +0000 (18:36 -0800)]
vpx_ports: normalize include guards
Change-Id: I4e931aadecfe1761c720b080bdd67a1875794979
James Zern [Mon, 16 Dec 2013 02:32:02 +0000 (18:32 -0800)]
vpx_mem: normalize include guards
Change-Id: Iac433b5823c572cfa79e5b6b839cd40b49c0389c
James Zern [Mon, 16 Dec 2013 02:26:15 +0000 (18:26 -0800)]
vpx: normalize include guards
Change-Id: Iee670353cffa1f9e97976ac507ad9519e5dda7f7
James Zern [Mon, 16 Dec 2013 02:25:05 +0000 (18:25 -0800)]
vp8/encoder: normalize include guards
Change-Id: I82834550503a43ff7ec8422342dc65136453b287
James Zern [Mon, 16 Dec 2013 02:21:07 +0000 (18:21 -0800)]
vp8/decoder: normalize include guards
Change-Id: Ifa7934927cc8461cd58ca0b05bf76533abd78cb6
James Zern [Mon, 16 Dec 2013 02:20:21 +0000 (18:20 -0800)]
vp8/common: normalize include guards
Change-Id: Ia8789a8f864e0edc0bf94f00f6430846f86911c3