Yunqing Wang [Thu, 30 Oct 2014 01:38:18 +0000 (18:38 -0700)]
Modify the frame context memory deallocation
This patch was to fix the vpxdec fuzzing3 test failure. When an
error occurs, setjmp() is invoked, which calls the decoder
removing routine. In multiple thread situation, other threads
could try to access the frame context memory that is already
deallocated, thus causing a segfault.
An invalid unit test was added for this issue.
Change-Id: Ida7442154f3d89759483f0f4fe0324041fffb952
hkuang [Thu, 6 Nov 2014 01:48:47 +0000 (17:48 -0800)]
Merge "Totally remove prev_mi in VP9 decoder."
hkuang [Mon, 3 Nov 2014 19:23:22 +0000 (11:23 -0800)]
Totally remove prev_mi in VP9 decoder.
This will save the memory and improve the decode speed due to
removing unnecessary memset of big prev_mi array for
all the key frames.
Decoding a all key frames 1080p video shows speed improve around 2%.
Change-Id: I6284a445c1291056e3c15135c3c20d502f791c10
Yaowu Xu [Wed, 5 Nov 2014 23:34:13 +0000 (15:34 -0800)]
Merge "Fix visual studio 2013 compiler warnings"
Johann [Wed, 5 Nov 2014 22:05:26 +0000 (14:05 -0800)]
Merge "vp8 quantize is now in intrinsics, not asm"
Yaowu Xu [Wed, 5 Nov 2014 19:29:21 +0000 (11:29 -0800)]
Fix visual studio 2013 compiler warnings
For configured with --enable-vp9-highbitdepth
Change-Id: I2b181519d7192f8d7a241ad5760c3578255f24e6
Hui Su [Wed, 5 Nov 2014 21:33:09 +0000 (13:33 -0800)]
Merge "Simplify interface of write_selected_tx_size and read_tx_size"
Johann [Wed, 5 Nov 2014 18:58:26 +0000 (10:58 -0800)]
vp8 quantize is now in intrinsics, not asm
Change-Id: Ie106c5335c9ba5aac81e23150e7026fb6ea6196e
Jingning Han [Wed, 5 Nov 2014 20:04:10 +0000 (12:04 -0800)]
Merge "Skip ref frame mode search conditioned on predicted mv residuals"
James Zern [Wed, 5 Nov 2014 12:11:34 +0000 (13:11 +0100)]
quantize_test: delete QuantizePair related tests
functions were removed in:
2134eb2 Remove pair quantization
fixes ARM build
Change-Id: I634de50c2752408381d70afb0f5088b61052853c
Johann [Wed, 5 Nov 2014 00:29:19 +0000 (16:29 -0800)]
Merge "Remove pair quantization"
Johann [Wed, 5 Nov 2014 00:28:46 +0000 (16:28 -0800)]
Merge "vp8 quantization -> intrinsics"
Hui Su [Fri, 31 Oct 2014 00:56:36 +0000 (17:56 -0700)]
Simplify interface of write_selected_tx_size and read_tx_size
Change-Id: Ia2b2a895deefaaf7b34bf26df86add56dbab082c
Minghai Shang [Tue, 4 Nov 2014 23:57:16 +0000 (15:57 -0800)]
Merge "[spatial svc] Make spatial svc working for one pass rate control"
hkuang [Tue, 4 Nov 2014 22:43:47 +0000 (14:43 -0800)]
Merge "Fix the memory leak due to missing free frame_mvs."
Johann [Tue, 4 Nov 2014 22:28:45 +0000 (14:28 -0800)]
Merge "Avoid divide-by-zero in vp8 initialization"
hkuang [Mon, 3 Nov 2014 20:25:18 +0000 (12:25 -0800)]
Fix the memory leak due to missing free frame_mvs.
Change-Id: I2ceee7341d906259002c0ea31ea009ae32c04bfd
Johann [Tue, 4 Nov 2014 18:46:24 +0000 (10:46 -0800)]
Avoid divide-by-zero in vp8 initialization
Check that the numerator is not zero. If it is, guess 30fps.
Fixes a clang IOC error in the quantize test. It's very unlikely for
this to occur in the wild because the setup in the quantize test is very
nonstandard.
Change-Id: Icdab7b81d4e168d3423e14db20787f960052e0c3
Minghai Shang [Tue, 4 Nov 2014 19:46:48 +0000 (11:46 -0800)]
[spatial svc] Make spatial svc working for one pass rate control
Change-Id: Ibd9114485c3d747f9d148f64f706bf873ea473ac
Johann [Tue, 4 Nov 2014 18:32:51 +0000 (10:32 -0800)]
Align structures in quantize test
MACROBLOCKD structures require alignment.
This fixes an issue caught by clang IOC.
Change-Id: Ibb5bcc122f531b4302a87e1144e4feaf46c1de64
Johann [Tue, 4 Nov 2014 16:20:25 +0000 (08:20 -0800)]
Add some indirection to the quantize test
Visual Studio and XCode require the address of the functions be passed.
Change-Id: Id39cab8e50061fdc6ac6018371a3a158c713e14b
Jingning Han [Tue, 4 Nov 2014 17:11:15 +0000 (09:11 -0800)]
Merge "Refactor sub-pixel motion search unit"
Jingning Han [Mon, 3 Nov 2014 19:36:34 +0000 (11:36 -0800)]
Skip ref frame mode search conditioned on predicted mv residuals
This commit makes the RTC coding mode to conditionally skip the
reference frame mode search, when the predicted motion vector of
the current reference frame gives more than two times sum of
absolute difference compared to that of other reference frames.
It reduces the runtim by 1% - 4% for speed -5 and -6. The average
compression performance is improved by about 0.1% in both settings.
It is of particular benefit to light change scenarios. The
compression performance of test clip mmmovingvga.y4m is improved by
6.39% and 15.69% at high bit rates for speed -5 and -6, respectively.
Speed -5
vidyo1 16555 b/f, 40.818 dB, 12422 ms ->
16552 b/f, 40.804 dB, 12100 ms
nik 33211 b/f, 39.138 dB, 11341 ms ->
33228 b/f, 39.139 dB, 11023 ms
mmmoving 33263 b/f, 40.935 dB, 13508 ms ->
33256 b/f, 41.068 dB, 12861 ms
Speed -6
vidyo1 16541 b/f, 40.227 dB, 8437 ms ->
16540 b/f, 40.220 dB, 8216 ms
nik 33272 b/f, 38.399 dB, 7610 ms ->
33267 b/f, 38.414 dB, 7490 ms
mmmoving 33255 b/f, 40.555 dB, 7523 ms ->
33257 b/f, 40.975 dB, 7493 ms
Change-Id: Id2aef76ef74a3cba5e9a82a83b792144948c6a91
Yunqing Wang [Tue, 4 Nov 2014 00:56:38 +0000 (16:56 -0800)]
Merge "WORKAROUND FIX FOR GCC4.9.1"
Johann [Mon, 3 Nov 2014 23:45:21 +0000 (15:45 -0800)]
Merge "vp8 quantize test"
Marco [Mon, 3 Nov 2014 22:38:05 +0000 (14:38 -0800)]
Merge "Allow disable of refresh golden for more than 1 layer encoding."
Johann [Mon, 20 Oct 2014 17:04:45 +0000 (10:04 -0700)]
vp8 quantize test
Test for Regular, Fast and Pair quantization
Change-Id: I0a26c164afe632db869099402189826c0d43f9a2
Jingning Han [Sun, 2 Nov 2014 18:45:32 +0000 (10:45 -0800)]
Refactor sub-pixel motion search unit
This commit unfolds the legacy macro definitions used in the
sub-pixel motion search and refactors the operational flow for
later optimizations.
Change-Id: I3e3f770cad961d03d1a6eb0b2a0186cc77eaf2b8
Jingning Han [Mon, 3 Nov 2014 16:46:42 +0000 (08:46 -0800)]
Merge "Fix the THR_MODES array used in vp9_pick_inter_mode"
Yaowu Xu [Mon, 3 Nov 2014 16:02:58 +0000 (08:02 -0800)]
Merge "Fix speed 7 and speed 12 for rt"
Marco [Mon, 3 Nov 2014 06:10:56 +0000 (22:10 -0800)]
Allow disable of refresh golden for more than 1 layer encoding.
The current logic was allowing for disabling golden refresh only
for two pass svc encoding. This change disables it as long as
more than 1 layer encoding is used (for example temporal layers under 1pass CBR).
Change-Id: I4dc5204a7ad365c821ec7963e93b59da82e1826b
Jingning Han [Sun, 2 Nov 2014 20:18:53 +0000 (12:18 -0800)]
Fix the THR_MODES array used in vp9_pick_inter_mode
Fix the alignment of entries fo intra prediction modes.
Change-Id: Ie32ad87cf90694efd591a4b1cc29c916c4cd56f7
levytamar82 [Thu, 16 Oct 2014 23:56:37 +0000 (16:56 -0700)]
WORKAROUND FIX FOR GCC4.9.1
In the function mb_lpf_horizontal_edge_w_avx2_16 the usage of the intrinsic
_mm256_cvtepu8_epi16 cause a compiler bug in gcc 4.9.1.
until it will be fixed I created a workaround that create the up convert by
using broadcast128+shuffle.
The bug was reported here:
https://code.google.com/p/webm/issues/detail?id=867
Change-Id: I73452e6806f42e0fadcde96b804ea3afa7eeb351
Yaowu Xu [Sat, 1 Nov 2014 00:27:54 +0000 (17:27 -0700)]
Fix speed 7 and speed 12 for rt
A recent change has introduced big quality drops for speed 7 and 12
for --rt mode. The change reverted the big drop and improved quality
by 9.5% for speed 7 and 13.4% for speed 12.
Change-Id: I07b82e3bb6002a73af486a083458c88877bdad01
hkuang [Mon, 27 Oct 2014 23:19:04 +0000 (16:19 -0700)]
Bind motion vectors with frame buffer structure.
This will save a lot of memory for decoder due to removing of prev_mi,
but prev_mi is still needed in encoder. So this will increase a little bit
memory for encoder.
Change-Id: I24b2f1a423ebffa55a9bd2fcee1077dac995b2ed
Johann [Fri, 31 Oct 2014 20:42:55 +0000 (13:42 -0700)]
Remove pair quantization
The intrinsics version of the pair quant is slower than running it
individually.
Change-Id: I7b4ea8599d4aab04be0a5a0c59b8b29a7fc283f4
Johann [Mon, 20 Oct 2014 23:03:28 +0000 (16:03 -0700)]
vp8 quantization -> intrinsics
Use intrinsics for neon quantization. Slight loss (<5%) of performance
compared to the assembly. Roughly 10x faster on arm64 because that was
running C code before.
Change-Id: I7cf5242d8f29b7eab5bca6a1c20c89c9fc9ca66d
Jingning Han [Fri, 31 Oct 2014 15:55:40 +0000 (08:55 -0700)]
Merge "Fix mode index use case in vp9_pick_inter_mode"
Jingning Han [Fri, 31 Oct 2014 15:55:28 +0000 (08:55 -0700)]
Merge "Refactor vp9_update_rd_thresh_fact"
Jingning Han [Fri, 31 Oct 2014 15:55:24 +0000 (08:55 -0700)]
Merge "Rework pred pixel buffer system in non-RD coding mode"
Jingning Han [Thu, 30 Oct 2014 02:30:12 +0000 (19:30 -0700)]
Fix mode index use case in vp9_pick_inter_mode
This improves coding performance of speed -5 and -6 by 0.6%,
respectively.
Change-Id: Ic5a7746a88c73285f0b14333d35dc16b02152c25
Jingning Han [Thu, 30 Oct 2014 00:37:54 +0000 (17:37 -0700)]
Refactor vp9_update_rd_thresh_fact
Reduce the scope of function parameters.
Change-Id: Ifef2cfb559908a97498ffdbd6ea53da1cd45a73c
Jingning Han [Wed, 29 Oct 2014 23:37:16 +0000 (16:37 -0700)]
Rework pred pixel buffer system in non-RD coding mode
This commit makes the inter prediction buffer system to support
hybrid partition search. It reduces the runtime of speed -5 by
about 3%. No compression performance change.
vidyo1 720p 1000 kbps
11831 ms -> 11497 ms
nik 720p 1000 kbps
10919 ms -> 10645 ms
Change-Id: I5b2da747c6395c253cd074d3907f5402e1840c36
Hui Su [Thu, 30 Oct 2014 18:05:04 +0000 (11:05 -0700)]
Merge "Move the definition of switchable filter numbers into enum INTERP_FILTER; Modify the macro ADD_MV_REF_LIST and IF_DIFF_REF_FRAME_ADD_MV."
Hui Su [Thu, 30 Oct 2014 18:02:31 +0000 (11:02 -0700)]
Merge "Combine vp9_encode_block_intra and encode_block_intra"
Yunqing Wang [Thu, 30 Oct 2014 02:00:32 +0000 (19:00 -0700)]
Merge "Remove unused speed feature"
Marco [Thu, 30 Oct 2014 01:23:13 +0000 (18:23 -0700)]
Merge "Addd error resilience test for temporal layers."
Yunqing Wang [Thu, 30 Oct 2014 00:05:04 +0000 (17:05 -0700)]
Remove unused speed feature
Partition_check was unused and removed.
Change-Id: I15ec9162d86dc61f04c09229c498629878ed7155
Marco [Wed, 29 Oct 2014 22:34:18 +0000 (15:34 -0700)]
Addd error resilience test for temporal layers.
Test for successful decoding when dropping enhancement layer frames.
Change-Id: Id3ae6e5676894f352680973e52352dc5d98bbf55
Jingning Han [Wed, 29 Oct 2014 19:42:22 +0000 (12:42 -0700)]
Merge "Enable mode search threshold update in non-RD coding mode"
Jingning Han [Tue, 28 Oct 2014 21:50:10 +0000 (14:50 -0700)]
Enable mode search threshold update in non-RD coding mode
Adaptively adjust the mode thresholds after each mode search round
to skip checking less likely selected modes. Local tests indicate
5% - 10% speed-up in speed -5 and -6. Average coding performance
loss is -1.055%.
speed -5
vidyo1 720p 1000 kbps
16533 b/f, 40.851 dB, 12607 ms -> 16556 b/f, 40.796 dB, 11831 ms
nik 720p 1000 kbps
33229 b/f, 39.127 dB, 11468 ms -> 33235 b/f, 39.131 dB, 10919 ms
speed -6
vidyo1 720p 1000 kbps
16549 b/f, 40.268 dB, 10138 ms -> 16538 b/f, 40.212 dB, 8456 ms
nik 720p 1000 kbps
33271 b/f, 38.433 dB, 7886 ms -> 33279 b/f, 38.416 dB, 7843 ms
Change-Id: I2c2963f1ce4ed9c1cf233b5b2c880b682e1c1e8b
Adrian Grange [Wed, 29 Oct 2014 16:09:46 +0000 (09:09 -0700)]
Simplify vp9_set_rd_speed_thresholds_sub8x8
Change-Id: I4bf0f9a38697f5aea564a47afd7f02bb8b2888b6
Hui Su [Wed, 22 Oct 2014 20:01:40 +0000 (13:01 -0700)]
Combine vp9_encode_block_intra and encode_block_intra
Change-Id: I79091fb677b64892ecca2fb466fde14602d8cdfc
Jingning Han [Tue, 28 Oct 2014 19:00:13 +0000 (12:00 -0700)]
Merge "Use zero motion vector in choose_partitioning"
JackyChen [Tue, 28 Oct 2014 18:06:05 +0000 (11:06 -0700)]
Merge "vp9_denoiser_sse2: refactor the code."
Yaowu Xu [Tue, 28 Oct 2014 17:48:02 +0000 (10:48 -0700)]
Merge "Allow update of golden refernce buffer in CBR mode"
JackyChen [Sat, 25 Oct 2014 17:51:51 +0000 (10:51 -0700)]
vp9_denoiser_sse2: refactor the code.
Combined vp9_denoiser_8xM_sse2 and vp9_denoiser_4xM_sse2 into one
function vp9_denoiser_NxM_sse2_small and passed the bitexact testing.
Changed the name of the function vp9_denoiser_64_32_16xM_sse2 to
vp9_denoiser_NxM_sse2_big.
Change-Id: Ib22478df585994dd347ebae04202c0b701e7f451
Yaowu Xu [Tue, 28 Oct 2014 16:32:58 +0000 (09:32 -0700)]
Merge "Add a new control of golden frame boost in CBR mode"
Yaowu Xu [Fri, 17 Oct 2014 19:13:16 +0000 (12:13 -0700)]
Allow update of golden refernce buffer in CBR mode
This commit changes to allow the usage of golden reference frame in
VP9 CBR mode to improve quality. VP9 supports potentially up to 8
reference buffers, it has reference buffers available for this
purpose. This was not possible in VP8 as golden and alt-ref buffers
were used for temporal scalability purpose in CBR mode in WebRTC.
For frames that update golden frame, there can be a quality boost.
The amount of allowed bitrate boost can be controlled via parameter
rc_max_inter_bitrate_pct. The inital value of the boost ratior is
currently based on over_shoot_pct. Further experiments will work
out the adaption of this boost value.
Change-Id: I0c5f010c8fd8b7b598f69779c1b30e5b2ac30a4d
Paul Wilkins [Tue, 28 Oct 2014 13:03:06 +0000 (13:03 +0000)]
Relax maximum Q for extreme overshoot.
Added code to relax the active maximum Q in response
to extreme local overshoot to reduce bandwidth peaks.
The impact is small in metrics terms, but it this helps reduce
bandwidth spikes and overall overshoot in a number of
clips in our tests sets (especially the YT test set).
In particular this should help prevent very big spikes where a clip
is mainly easy but has a short hard section. In such a case a choice
of maximum Q for the clip as a whole may allow us to hit the overall
target rate but give some extreme spikes. The chunked encoding in YT
mitigates this problem but it can show up where a longer clip is
coded as a single chunk.
Change-Id: I213d09950ccb8489d10adf00fda1e53235b39203
Jingning Han [Mon, 27 Oct 2014 19:03:47 +0000 (12:03 -0700)]
Use zero motion vector in choose_partitioning
The zero motion vector was effectively used in the subsampled pixel
based variance calculation. This commit makes it directly use zero
mv to generate prediction.
Change-Id: Ica83dc843e9f8da2f89c3ef451e50f16214c0def
Jingning Han [Mon, 27 Oct 2014 18:11:50 +0000 (11:11 -0700)]
Refactor encoder tile data structure
Make the common tile info as one element in the encoder tile data
struct.
Change-Id: I8c474b4ba67ee3e2c86ab164f353ff71ea9992be
Yaowu Xu [Mon, 27 Oct 2014 20:13:14 +0000 (13:13 -0700)]
Add a new control of golden frame boost in CBR mode
0 means that golden boost is off, and uses average frame target rate,
a non-zero number means the percentage of boost over average frame
bitrate is given initially to golden frames in CBR mode.
Change-Id: If4334fe2cc424b65ae0cce27f71b5561bf1e577d
Jingning Han [Mon, 27 Oct 2014 16:52:14 +0000 (09:52 -0700)]
Refactor rtc coding mode to support tile encoding
Use per tile threshold in the prediction mode search process.
Change-Id: I6c74ee5a3b069bb4281002dfe51310911a0756c0
Yaowu Xu [Mon, 27 Oct 2014 15:11:54 +0000 (08:11 -0700)]
Merge "Add a new control of max bitrate for inter frame"
Jingning Han [Sat, 25 Oct 2014 01:44:52 +0000 (18:44 -0700)]
Merge "Tile based adaptive mode search in RD loop"
James Zern [Fri, 24 Oct 2014 18:43:51 +0000 (11:43 -0700)]
Merge changes I8a9c9019,Ic7b2faa3,I44d42a50,I3f3a3924,I10747b32,I31b49c9e
* changes:
add vp9_loop_filter_data_reset
move LFWorkerData allocation to VP9LfSync
vp9_loop_filter_frame_mt: remove pbi dependency
vp9_loop_filter_frame_mt: pass planes directly
vp9_loop_filter_frame_mt: pass VP9LfSync directly
vp9: store TileWorkerData allocations separately
Yaowu Xu [Fri, 24 Oct 2014 16:31:16 +0000 (09:31 -0700)]
Add a new control of max bitrate for inter frame
Change-Id: I205de3611622cff7f751ea8baf9f82784581730a
Jingning Han [Thu, 23 Oct 2014 23:54:45 +0000 (16:54 -0700)]
Tile based adaptive mode search in RD loop
Make the spatially adaptive mode search in rate-distortion
optimization loop inter tile independent. Experiments suggest that
this does not significantly change the coding staticstics.
Single tile, speed 3:
pedestrian_area 1080p 1500 kbps
59192 b/f, 40.611 dB, 101689 ms
blue_sky 1080p 1500 kbps
58505 b/f, 36.347 dB, 62458 ms
mobile_cal 720p 1000 kbps
13335 b/f, 35.646 dB, 45655 ms
as compared to 4 column tiles, speed 3:
pedestrian_area 1080p 1500 kbps
59329 b/f, 40.597 dB, 101917 ms
blue_sky 1080p 1500 kbps
58712 b/f, 36.320 dB, 62693 ms
mobile_cal 720p 1000 kbps
13191 b/f, 35.485 dB, 45319 ms
Change-Id: I35c6e1e0a859fece8f4145dec28623cbc6a12325
Marco [Fri, 24 Oct 2014 16:31:38 +0000 (09:31 -0700)]
vp8: Updates to noise level estimate.
-Use full bandwidth (when temporal layers is on) for checking switching.
-Normalize metric wrt num_blocks.
-Rounding fix to update of average noise level metric.
-Make default internal denoiser mode == kDenoiserOnYUV (in denoiser set_parameters()).
-Adjust some thresholds.
Change-Id: Ib827512b25a7bf1f66c76d3045f3a68ce56b1cd2
Paul Wilkins [Fri, 24 Oct 2014 12:51:25 +0000 (05:51 -0700)]
Merge "Enable dual arf with constant q."
Paul Wilkins [Fri, 24 Oct 2014 12:50:39 +0000 (05:50 -0700)]
Merge "Move frame re-sizing into the recode loop"
Adrian Grange [Fri, 17 Oct 2014 22:12:43 +0000 (15:12 -0700)]
Move frame re-sizing into the recode loop
The point at which frames are scaled to their
coded dimensions is moved into the re-code loop.
This is in preparation for a further patch that
will add logic into the re-code loop to reduce
the coded frame size if the encoder is struggling
to hit the target data rate at the native frame
size.
Change-Id: Ie4131f5ec6fb93148879f6ce96123296442bf2d1
Tom Finegan [Thu, 23 Oct 2014 21:20:06 +0000 (14:20 -0700)]
Merge "build/make/iosbuild.sh: Remove armv6 support."
Yaowu Xu [Thu, 23 Oct 2014 18:20:22 +0000 (11:20 -0700)]
Merge "Move filter_ref initialization"
James Zern [Thu, 26 Dec 2013 18:15:56 +0000 (13:15 -0500)]
add vp9_loop_filter_data_reset
Change-Id: I8a9c9019242ec10fa499a78db322221bf96a0275
Yaowu Xu [Thu, 23 Oct 2014 15:27:25 +0000 (08:27 -0700)]
Move filter_ref initialization
To outside the loop to avoid repeating the operations.
Change-Id: I66c1986e98ce0d7594caad3d3b45de655b299bff
Paul Wilkins [Wed, 22 Oct 2014 12:46:40 +0000 (13:46 +0100)]
Enable dual arf with constant q.
Add second level arf Q adjustment when using dual arfs
in constant Q mode.
Previously in constant Q mode enabling dual arf hurt by ~5%
but with this change the average benefit is ~1-1.5% with some
mid range data points up ~10%.
Note however that it still hurts on some clips including
some very low motion show content.
Change-Id: I5b7789a2f42a6127d9e801cc010c20a7113bdd9b
Paul Wilkins [Thu, 23 Oct 2014 09:02:48 +0000 (02:02 -0700)]
Merge "Initialization bug for multi arf."
Jingning Han [Thu, 23 Oct 2014 01:46:20 +0000 (18:46 -0700)]
Merge "Allow checking zeromv mode in vp9_pick_inter_mode"
Yunqing Wang [Thu, 23 Oct 2014 00:10:39 +0000 (17:10 -0700)]
Merge "vp9_ethread: allocate frame contexts outside VP9_COMMON struct"
Tom Finegan [Wed, 22 Oct 2014 23:26:14 +0000 (16:26 -0700)]
build/make/iosbuild.sh: Remove armv6 support.
Apple no longer supports armv6 targets in Xcode or iOS.
Change-Id: Ia7aa496afe62162c43c004530324406486c9a052
Frank Galligan [Wed, 22 Oct 2014 22:50:36 +0000 (15:50 -0700)]
Merge "Fix Neon convolve profiling"
Yunqing Wang [Wed, 22 Oct 2014 21:37:38 +0000 (14:37 -0700)]
vp9_ethread: allocate frame contexts outside VP9_COMMON struct
This patch allocated frame contexts outside VP9_COMMON. This allows
multiple threads to share the same copy of frame contexts, and
reduces the overhead. It also guarantees the correct update of
these contexts during bitstream packing. This patch doesn't change
encoding result.
Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
Yaowu Xu [Wed, 22 Oct 2014 21:53:06 +0000 (14:53 -0700)]
Merge "Fix a subtle issue in re-use inter_pred"
Jingning Han [Wed, 22 Oct 2014 21:47:15 +0000 (14:47 -0700)]
Allow checking zeromv mode in vp9_pick_inter_mode
This improves the compression performance of speed -5 by 0.6%. The
speed impact is less than 1%.
Change-Id: Ie77daa561976dfc8b479061e1221bdf428eb0c3b
JackyChen [Wed, 22 Oct 2014 20:52:03 +0000 (13:52 -0700)]
Merge "vp9_denoiser_sse2.c: improve code style."
Yaowu Xu [Wed, 22 Oct 2014 18:57:09 +0000 (11:57 -0700)]
Fix a subtle issue in re-use inter_pred
The initialization of this_mode_pred does not work when the ref_frame
loop ever goes beyond LAST_FRAME. This commit fixes the subtle issue
and allows potentially expanding the loop to test GOLDEN_FRAME.
Change-Id: Ibbd427a22160d1d9eacb8ed0c87f88d6cef9c0f3
JackyChen [Fri, 17 Oct 2014 19:16:13 +0000 (12:16 -0700)]
vp9_denoiser_sse2.c: improve code style.
denoiser_sse2.c: fix typos in comment.
Change-Id: Ic0fb102331b0e533c058da3cab1fbc30de9a0070
Frank Galligan [Wed, 22 Oct 2014 17:14:38 +0000 (10:14 -0700)]
Fix Neon convolve profiling
When profiling, gprof can't distinguish between matching labels in
different files.
Change-Id: I56770df212ed314a0d8568071fa8157624ef1e8f
Paul Wilkins [Wed, 22 Oct 2014 17:51:07 +0000 (18:51 +0100)]
Initialization bug for multi arf.
Moved erroneous reset of cpi->multi_arf_last_grp_enabled.
Change-Id: Ibb0b96f6ed1d5eeb575a3b1c798e0fe2ee651d06
Marco [Wed, 22 Oct 2014 17:36:03 +0000 (10:36 -0700)]
vp8: Update to computation of noise level.
Avoid unneeded computation of mse in process_denoise.
Change-Id: I3a538178f2d138750d0c38ea4dd05dbbc2b7df41
Jingning Han [Wed, 22 Oct 2014 15:41:36 +0000 (08:41 -0700)]
Merge "Refactor rate distortion cost structure in non-RD coding mode"
Yaowu Xu [Wed, 22 Oct 2014 15:40:15 +0000 (08:40 -0700)]
Merge "Change speed features for good quality(cpu-used=5)"
Jingning Han [Tue, 21 Oct 2014 23:31:37 +0000 (16:31 -0700)]
Refactor rate distortion cost structure in non-RD coding mode
This commit refactors the rate distortion structure used in the
non-RD coding mode and saves a few RDCOST calculations.
Change-Id: I62c3416c300d2c5372f21b96d93a6b633a34ab3a
Hui Su [Tue, 21 Oct 2014 18:04:52 +0000 (11:04 -0700)]
Move the definition of switchable filter numbers into enum
INTERP_FILTER; Modify the macro ADD_MV_REF_LIST and
IF_DIFF_REF_FRAME_ADD_MV.
Change-Id: Ic36c9eb6ccb8ec324d991f7241e42b40b60b1dcb
Yaowu Xu [Mon, 20 Oct 2014 21:41:20 +0000 (14:41 -0700)]
Change speed features for good quality(cpu-used=5)
The existing speed features produce horrible encoding results, almost
30% worse than cpu-used=4, this commit adjust the speed features to
produce relatively resonable results to be within 3%-5% of cpu-used=4.
Change-Id: I0ca6ebafb33024d4a0cbcf04c78a4a00b8dd1ecf
Jingning Han [Tue, 21 Oct 2014 16:47:58 +0000 (09:47 -0700)]
Remove unused copy_partitioning
Change-Id: I75a2a3772ed17e73180eb4f263cc838cae4927b0
Deb Mukherjee [Tue, 21 Oct 2014 16:44:46 +0000 (09:44 -0700)]
Merge "Adding test vectors for profile 2 and 3"
Jingning Han [Tue, 21 Oct 2014 16:44:11 +0000 (09:44 -0700)]
Merge "Remove deprecated constrain_copy_partitioning function"