- 08 Aug, 2014 4 commits
-
-
Dmitry Kovalev authored
Change-Id: I3e67230690b81ef54ef48ae26107fe7bc880ab8e
-
Dmitry Kovalev authored
We had a very complicated way to initialize cpi->pass from cfg->g_pass: switch (cfg->g_pass) { case VPX_RC_ONE_PASS: oxcf->mode = ONE_PASS_GOOD; break; case VPX_RC_FIRST_PASS: oxcf->mode = TWO_PASS_FIRST; break; case VPX_RC_LAST_PASS: oxcf->mode = TWO_PASS_SECOND_BEST; break; } cpi->pass = get_pass(oxcf->mode). Now pass is moved to VP9EncoderConfig and initialization is simple: switch (cfg->g_pass) { case VPX_RC_ONE_PASS: oxcf->pass = 0; break; case VPX_RC_FIRST_PASS: oxcf->pass = 1; break; case VPX_RC_LAST_PASS: oxcf->pass = 2; break; } Change-Id: I8f582203a4575f5e39b071598484a8ad2b72e0d9
-
Adrian Grange authored
Replaced encoder and decoder functions to get a pointer to a reference frame with a common function, vp9_get_ref_frame, and simplified it. Change-Id: Icb206fcce8caace3bfd1db3dbfa318dde79043ee
-
Adrian Grange authored
This was shadowing the use of error_resilient_mode, but with the opposite sense. Change-Id: Ie4d30263a304fe4b3e94f0c7741db6888cc6afd8
-
- 07 Aug, 2014 1 commit
-
-
Deb Mukherjee authored
Specifies the bit-depth, color sampling and colorspace for intra only frames for profiles > 0 Also adds checks to ensure that profile 1 and 3 are exclusively used for non 420 streams. Change-Id: Icfb15fa1acccbce8f757c78fa8a2f60591360745
-
- 06 Aug, 2014 1 commit
-
-
Minghai Shang authored
Change-Id: Ice5376100d8e27cbdaddfd3cd06898cedd2720fe
-
- 05 Aug, 2014 1 commit
-
-
Adrian Grange authored
This code was being called from two places and difficult to parse. I rationalized it in to a function to improve readability. Change-Id: I154b8fe0b84e6c01e69601e78e67bd47c954d8b6
-
- 04 Aug, 2014 1 commit
-
-
Minghai Shang authored
[spatial svc]Enabl golden frame for base layer and fix wrong ref_frame_flag for upper layers in first frame Change-Id: I1fec9c084b499b2f445b79726066d01b136b59fa
-
- 24 Jul, 2014 1 commit
-
-
Tim Kopp authored
This should prevent confusion with the VP8 CONFIG_TEMPORAL_DENOISING and other flags. Change-Id: I1fe4e2977895b7966841d861ab74317ad875b6c8
-
- 23 Jul, 2014 1 commit
-
-
Minghai Shang authored
1. Remove last reference flag for first frame upper layers in one pass mode. 2. Disable refresh golden frame flag for key frames. Change-Id: I44ac1bd2c795169e4fbfdd078ea79a1d33a204d6
-
- 22 Jul, 2014 2 commits
-
-
Tim Kopp authored
When OUTPUT_YUV_DENOISED is enabled the encoder outputs the uncompressed, denoised video to a separate file. Moved the point at which the file is written to in order to avoid an extra blank frame at the beginning of the video. Change-Id: I805f6a912b18b3d9cae59b13c5b8108279439ce3
-
Minghai Shang authored
Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082
-
- 21 Jul, 2014 2 commits
-
-
Alex Converse authored
Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
-
Yaowu Xu authored
The commit moved a call to vp9_clear_system_state() to a correct location, i.e. prior function calls using floating point numbers. This was to fix a mismatch mmx code and sse2 version, where a floating point number used in adjust_frame_rate(cpi) gets NAN due to mmx registers being in wrong state. Change-Id: I40e0a6de98812000ccee6a729badb630604fd7e6
-
- 17 Jul, 2014 2 commits
-
-
Pengchong Jin authored
The bug sets the wrong pointer to the first pass mb stats if the encoder does the re-coding in the second pass. Change-Id: I8a11f45dd7dceb38de814adec24cecccae370d00
-
Adrian Grange authored
This patch is the first step toward simplifying the frame buffer handling. The final goal is to have a common frame buffer handling framework for both encoder and decoder that incorporates the existing ability to use externally allocated memory. Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
-
- 16 Jul, 2014 2 commits
-
-
Yaowu Xu authored
This commit changed the hard-coded DEFAULT_INTERP_FILTER to a speed feature with the same default value: SWITCHABLE. Change-Id: I7f54f40f1bd3f5277841d04b85db7a84e47313f1
-
Paul Wilkins authored
2 pass only change to calculation of rd mult based on Q. Make a small adjustment based on frame type and also replace adjustment based on iifactor with an one based on the ambient GF/ARF boost level. Also fix multi arf bug / issue. Overall these change give an slight improvement in ssim but hurt psnr a little. Change-Id: I5e1751e3ff5390a26f543d7855059e6fbcce105e
-
- 15 Jul, 2014 1 commit
-
-
Pengchong Jin authored
Change-Id: I28679f88e2911b06eef5cbc83ecb62b8c69e4c53
-
- 14 Jul, 2014 1 commit
-
-
Minghai Shang authored
All changes are for spatial svc only. 1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer 2. Use golden reference idx for spatial reference 3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers 4. Add "auto-alt-refs" in svc options Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
-
- 11 Jul, 2014 2 commits
-
-
Yaowu Xu authored
Change-Id: I3d9130e726a1299fd258f6dfe93315e2d12f76da
-
Paul Wilkins authored
Use a weaker filter for second level arf frames. Average gain across all sets and metrics ~0.3% Remove code for arnr_type which is no longer supported in VP9 which always uses a centered blur. Re-factor and some cleanup. Change-Id: Ieb4b8940e99e4e02b3fcc9fca6f2d4109e6ed639
-
- 08 Jul, 2014 1 commit
-
-
Tim Kopp authored
In the previous version, only certain buffers in the macroblockd were saved and the restored. In this version, all of the buffers are saved and restored. The code was then rolled into a loop for readability. Also contains a tiny fix for when the -DOUTPUT_YUV_DENOISED flag is used. Change-Id: Id925ef8b3fa122ae88acfa1d9a1e4df45df83518
-
- 02 Jul, 2014 3 commits
-
-
Alex Converse authored
vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all other rd related routines. Anything used outside of making an rd optimal decision belongs in rd. Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b
-
Tim Kopp authored
As in VP8. Currently, this parameter is set with the VP8E_SET_NOISE_SENSITIVITY flag. The flag was not renamed so that we don't break the interface for webrtc. This should probably be changed at some point in the future. Change-Id: Ic73fcb0dde9d1d019e9d042050b617333ac65472
-
Paul Wilkins authored
Add test code to turn multi-arf on and off depending on group length and zero motion. Changes to active max group length for mult-arf. Fund second arf only from normal frame bits. Change-Id: I920287fac1c886428c15a39f731a25d07c2b796c
-
- 01 Jul, 2014 1 commit
-
-
Pengchong Jin authored
Add a conditional compile flag for this feature. Also add a switch to enable the encoder to use these statistics in the second pass. Currently, the switch is turned off. Change-Id: Ia1c858c35ec90e36f19f5cffe156b97ddaa04922
-
- 30 Jun, 2014 1 commit
-
-
Yunqing Wang authored
Before encoding a frame, calculate and store each 16x16 block's variance of source difference between last and current frame. Find partitioning threshold T for the frame from its variance histogram, and then use T to make partition decisions. Comparing with fixed 16x16 partitioning, rtc set test showed an overall psnr gain of 3.242%, and ssim gain of 3.751%. The best psnr gain is 8.653%. The overall encoding speed didn't change much. It got faster for some clips(for example, 12% speedup for vidyo1), and a little slower for others. Also, a minor modification was made in datarate unit test. Change-Id: Ie290743aa3814e83607b93831b667a2a49d0932c
-
- 27 Jun, 2014 2 commits
-
-
Tim Kopp authored
Change-Id: Iee21eb0ecc5a1fe2c56fb3df0cee0ead6d139ed1
-
Tim Kopp authored
Bug introduced in I930dced169c9d53f8044d2754a04332138347409. If svc.number_temporal_layers == 1 and svc.number_spatial_layers == 1, the system attempt to do spatial SVC. It no longer does that. Change-Id: Ie6b130a72b1eea40c547c9a64447e40695f811c5
-
- 26 Jun, 2014 2 commits
-
-
Pengchong Jin authored
This patch allows the encoder to skip the partition search for the frame if it is an inter frame and only zero motion vectors have been detected in the first pass. The partition size is directly assigned according to the difference variance. Borg tests show overall little performance changes in term of PSNR (derf -0.027%, yt 0.152%, hd 0.078%, stdhd 0%). The worst case of PSNR loss is -0.514% from yt. The best PSNR gain is 4.293% from yt. The second pass encoding speedup for slideshow clips is 15%-40%. Change-Id: I881f347d286553ee5594a9ea09ba1a61ac684045
-
Paul Wilkins authored
Bug introduced during multiple iterations on: I3831* gf_group->arf_update_idx[] cannot currently be used to select the arf buffer index if buffer flipping on overlays is enabled (still currently the case when multi arf OFF). Change-Id: I4ce9ea08f1dd03ac3ad8b3e27375a91ee1d964dc
-
- 25 Jun, 2014 1 commit
-
-
Paul Wilkins authored
Cosmetic patch only in response to comments on previous patches suggesting a couple of name changes for consistency and clarity. Change-Id: Ida3a359b0d5755345660d304a7697a3a3686b2a3
-
- 24 Jun, 2014 7 commits
-
-
Minghai Shang authored
Change-Id: I930dced169c9d53f8044d2754a04332138347409
-
Johann authored
Change-Id: Ie16f12b4763a45465e130fb39cbb727c08529ac8
-
Adrian Grange authored
There is a normative scaling range of (x1/2, x16) for VP9. This patch fixes the maximum downscaling tests that are applied in the convolve function. The code used a maximum downscaling limit of x1/5 for historic reasons related to the scalable coding work. Since the downsampling in this application is non-normative it will revert to using a separate non-normative scaler. Change-Id: Ide80ed712cee82fe5cb3c55076ac428295a6019f
-
Paul Wilkins authored
Add indirection to the section of buffer indices. This is to help simplify things in the future if we have other codec features that switch indices. Limit the max GF interval for static sections to fit the gf_group structures. Change-Id: I38310daaf23fd906004c0e8ee3e99e15570f84cb
-
Paul Wilkins authored
Add multi_arf_allowed flag. Re-initialize buffer indices every kf. Add some const indicators. Change-Id: If86c39153517c427182691d2d4d4b7e90594be71
-
Paul Wilkins authored
Fix some bugs relating to the use of buffers in the overlay frames. Fix bug where a mid sequence overlay was propagating large partition and transform sizes into the subsequent frame because of :- sf->last_partitioning_redo_frequency > 1 and sf->tx_size_search_method == USE_LARGESTALL Change-Id: Ibf9ef39a5a5150f8cbdd2c9275abb0316c67873a
-
Paul Wilkins authored
Remove the old experimental multi arf code that was under the flag CONFIG_MULTIPLE_ARF. Change-Id: Ib24865abc11691d6ac8cb0434ada1da674368a61
-