- 12 May, 2016 1 commit
-
-
hui su authored
Change-Id: Ic797c6be579c3434681a5e9dbb3900ae49c43958
-
- 10 May, 2016 1 commit
-
-
hui su authored
Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to control the output bitstream level and/or keep level related statistics. Usage: 255 do not care about level (default) 0 keep level related stats only 10 target for level 1 11 target for level 1.1 . . . 62 target for level 6.2 Usage for vpxenc: --target-level=0/255/10/11... Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a
-
- 23 Mar, 2016 1 commit
-
-
Yunqing Wang authored
Added a TODO in vp9_cx_iface.c. Change-Id: Ib987f20cab8417340a23ae676616de1df48e8a12
-
- 22 Mar, 2016 1 commit
-
-
Yunqing Wang authored
In multi-thread case, the encoder may crash if using encoder option tile-rows > 0. To prevent that, force tile-rows=0 in this situation. This is a workaround for WebM issue 1095: https://bugs.chromium.org/p/webm/issues/detail?id=1095 The further fix can be done by adding synchronizations after a tile row is encoded. But this will hurt multi-threaded encoder performance. So, it is recommended to use tile-rows=0 while encoding with threads > 1. Change-Id: I656cbcc200f8d0410d09530e7981ad8f32fe7bc9
-
- 13 Mar, 2016 1 commit
-
-
Johnny Klonaris authored
This is the identical change submitted for vp8 here: https://chromium-review.googlesource.com/#/c/274107/ Tested this change on Mac OSX (10.10) and Linux (Linux Mint 17 / Ubuntu 14.04) and in both cases: - downloaded and compiled latest source for libvpx and ffmpeg - confirmed ffmpeg would build sub-second frame rate webm files via the previous patch - confirmed ffmpeg would *not* build fps < 1 for vp9 - made this change, recompiled libvpn and ffmpeg - confirmed ffmpeg would now create the same webm with fps < 1 - confirmed the resulting file would play and was vp9 (e.g. would not play in Firefox (Linux version complained it was VP9 but mostly could play it) or older vlc, etc., but does play just fine in Google Chrome and a newer version of vlc. Sorry I didn't catch this last time - but this seems a solid change and it's handy to be able to create frame rates less than one second. -jk Change-Id: I38fa32148de8c4c359f228cf08b9a4b83b5a52fb
-
- 25 Feb, 2016 1 commit
-
-
James Zern authored
the same as vp8, with the same reasoning from: 2a0d7b1a Reduce the default kf_max_dist to 128. see also: https://trac.ffmpeg.org/ticket/4904 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815673 + restore vpxenc behavior of taking the library default rather than forcing 5s This change also exposes an issue with one-pass svc in cbr mode, keep the old default in datarate_test.cc for now. Change-Id: Id6d1244f42490b06fefc1a7b4e12a423a1f83e88
-
- 17 Feb, 2016 2 commits
-
-
James Zern authored
move to encoder_encode() as vp9_get_compressed_data() allocates data and would require some modification to make its error return meaningful. Change-Id: I8ddc390a1441afd0ff937842fa4ad1053c956133
-
James Zern authored
this is allocated in init(), a NULL pointer on encode() should be treated as a failure. Change-Id: I3f55ea4a98be616bb5ab74d95ce4a3d6262e734a
-
- 23 Nov, 2015 1 commit
-
-
Marco authored
Change-Id: Ic0ec32c1d7f7c08c9f956592dccbfd9060b1f624
-
- 17 Oct, 2015 1 commit
-
-
James Zern authored
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE and VP8E_USE_REFERENCE have been deprecated since the initial public release Change-Id: Ied16b441eec13434d85f1ab115d49ccaf5f2f7b0
-
- 16 Oct, 2015 1 commit
-
-
Yaowu Xu authored
to make meaning of color_range obvious. Change-Id: I303582e448b82b3203b497e27b22601cc718dfff
-
- 12 Oct, 2015 1 commit
-
-
Marco authored
The setting of svc->spatial_layer_to_encode was missing in VP9E_SET_SVC_LAYER_ID. Change-Id: I015b1a64adb9ef2644d6477a02d9d9364c8462b9
-
- 06 Oct, 2015 1 commit
-
-
Marco authored
Use the existing VP9_SET_SVC control to set the first spatial layer to encode. Since we loop over all spatial layers inside the encoder, the setting of spatial_layer_id via VP9_SET_SVC has no relevance. Use it instead to set the first_spatial_layer_to_encode, which allows an application to skip encoding lower layer(s). Change only affects the 1 pass CBR SVC. Change-Id: I5d63ab713c3e250fdf42c637f38d5ec8f60cd1fb
-
- 26 Sep, 2015 1 commit
-
-
Ronald S. Bultje authored
In the decoder, map this to the output variable vpx_image_t.r_w/h. This is intended as an improved version of VP9D_GET_DISPLAY_SIZE, which doesn't work with parallel frame decoding. In the encoder, map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE). Also add render_size to the encoder_param_get_to_decoder unit test. See issue 1030. Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
-
- 17 Sep, 2015 1 commit
-
-
Marco authored
Add SVC codec control to set the frame flags and buffer indices for each spatial layer of the current (super)frame to be encoded. This allows the application to set (and change on the fly) the reference frame configuration for spatial layers. Added an example layer pattern (spatial and temporal layers) in vp9_spatial_svc_encoder for the bypass_mode using new control. Change-Id: I05f941897cae13fb9275b939d11f93941cb73bee
-
- 16 Sep, 2015 1 commit
-
-
Ronald S. Bultje authored
In decoder, export (eventually) into vpx_image_t.range field. In encoder, use oxcf->color_range to set it (same way as for color_space). See issue 1059. Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
-
- 14 Jul, 2015 1 commit
-
-
Debargha Mukherjee authored
From Change Ibf0c30b72074b3f71918ab278ccccc02a95a70a0 There is still an issue relating to one animated test clip with repeat patterns where this change effectively increase the default maximum arf interval by +1. This can be examined seperately. Change-Id: Idd01d5480fc45202d8a059a0c3afc0997cc5bdd1
-
- 06 Jul, 2015 1 commit
-
-
Debargha Mukherjee authored
Adds two new vp9 parameters --min-gf-interval and --max-gf-interval to enable testing based on frequency of alt-ref frames. Also adds a unit-test to test enforcement of min-gf-interval. For both these parameters the default value is 0, which indicates they are picked by the encoder, based on resolution and framerate considerations. If they are greater than zero, the specified parameter is honored. (Additional note by paulwilkins) Note that there is a slight oddity in that key frames are also GFs and considered part of GF only group. However they are treated as not being part of an arf group because for arf groups the previous GF is assumed to be the terminal or overlay frame for the previous group. (end note) Change-Id: Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
-
- 04 Jun, 2015 1 commit
-
-
Marco authored
Remove the ABI check for the controls needed for SVC 1 pass CBR mode. Bump up the ABI version. Change-Id: I35b79ee010e14af83c6d1e801d574deaaa2fc7eb
-
- 02 Jun, 2015 1 commit
-
-
Marco authored
-Make Rate control work for SVC 1 pass CBR mode. -Added temporal layering mode. -Fixed bug in non-rd variance partition. -Modified/updated the sample encoders (vp9_spatial_svc_encoder, vpx_temporal_svc_encoder). -Added datarate unittest(s) for 1 pass CBR SVC. Change-Id: Ie94b1b68a56ea1267b5087c625e5df04def2ee48
-
- 24 Mar, 2015 1 commit
-
-
Alex Converse authored
This is useful when aq mode 3 (cyclic refresh) reactivates segments for refresh. Change-Id: I3ad1d9410b899ede393d82bb8db14e2da4d84eca
-
- 20 Mar, 2015 1 commit
-
-
James Zern authored
Change-Id: I49a7017e8adc18ff03d748cb328814a8a3e1bcf6
-
- 19 Mar, 2015 1 commit
-
-
James Zern authored
this removes the CONFIG_* checks from public headers, but means '--enable-experimental --enable-spatial-svc' builds will fail without a local change to the ABI in vpx_encoder.h. this should be all right for testing this experiment. Change-Id: Ief55e7b9d1e8332cfce990275e04c29b30af0c4a
-
- 16 Mar, 2015 1 commit
-
-
Alex Converse authored
These were uncovered by the chromoting perftest. Change-Id: Ia5a90fd1718ff757c1484decf3861295260e6722
-
- 13 Mar, 2015 2 commits
-
-
Yaowu Xu authored
The commit updates the comments in vp8cx.h to make it clear which codec support each of codec control functions. Change-Id: Ibf876e289d4325bbb61ce19311da60d384624c2f
-
Yaowu Xu authored
Also updated comments and doc to make it clear that the control is supported in VP9 only. Change-Id: I6f120b65135fc1185695e9e3dc29fbe0d430824b
-
- 05 Mar, 2015 1 commit
-
-
Deb Mukherjee authored
Reducing these values from 100 makes rate control tighter by default. Change-Id: I979409c93e6f19e128898f08ad581bf67eb0f824
-
- 04 Mar, 2015 1 commit
-
-
Frank Galligan authored
BUG=https://code.google.com/p/webm/issues/detail?id=964 Change-Id: I70679d0f139b8e0962f7e19eb56b34060953e9b0
-
- 03 Mar, 2015 1 commit
-
-
Frank Galligan authored
Most of the current decoders use tile-based multithreading. Also most of the current decoders need frame_parallel_decoding_mode turned on to enable multithreaded decoding. tile-columns is limited by resolution, so setting to max (6) is fine. BUG=https://code.google.com/p/webm/issues/detail?id=963 Change-Id: I6e7ac3485d96bf0c69e06706cbb326dd38be0020
-
- 26 Feb, 2015 1 commit
-
-
Yaowu Xu authored
Change-Id: Iefb928ad1174e274409facfb44f80265ff0f7683
-
- 23 Feb, 2015 1 commit
-
-
paulwilkins authored
When GF group adaptive maxQ is enabled this patch accounts somewhat for accumulated error in the rate control. This improves accuracy quite a bit on many clips especially when there is overshoot. Examples when the overshoot and undershoot command line parameters are set to 100: Hall @ 1200 overshoot is reduced from 67-24%. Akiyo @ 400 undershoot is reduced from 28%-15%. Setting a lower value for undershoot or overshoot still reduces the error further. Impact on metrics is mixed with some gains in average psnr but generally a little lower (e.g. 0.5%) on overall and ssim. The GF group adaptation is still off by default in this patch. Compared to with the head, enabling this mode now gives big average psnr gains on the YT sets (e.g. YT_HD >11.2%), a drop in overall PSNR (YT-HD 3.9%) and a smaller drop or neutral for SSIM. Change-Id: If4b32cd0740d3fb941317b374f9c2951954eee90
-
- 03 Feb, 2015 1 commit
-
-
Yaowu Xu authored
This resolves the encoder crashes on windows. Change-Id: I159d79014cf9279751e403936ce1f84482ae82da
-
- 31 Jan, 2015 1 commit
-
-
hkuang authored
In frame parallel decode, libvpx decoder decodes several frames on all cpus in parallel fashion. If not being flushed, it will only return frame when all the cpus are busy. If getting flushed, it will return all the frames in the decoder. Compare with current serial decode mode in which libvpx decoder is idle between decode calls, libvpx decoder is busy between decode calls. Current frame parallel decode will only speed up the decoding for frame parallel encoded videos. For non frame parallel encoded videos, frame parallel decode is slower than serial decode due to lack of loopfilter worker thread. There are still some known issues that need to be addressed. For example: decode frame parallel videos with segmentation enabled is not right sometimes. * frame-parallel: Add error handling for frame parallel decode and unit test for that. Fix a bug in frame parallel decode and add a unit test for that. Add two test vectors to test frame parallel decode. Add key frame seeking to webmdec and webm_video_source. Implement frame parallel decode for VP9. Increase the thread test range to cover 5, 6, 7, 8 threads. Fix a bug in adding frame parallel unit test. Add VP9 frame-parallel unit test. Manually pick "Make the api behavior conform to api spec." from master branch. Move vp9_dec_build_inter_predictors_* to decoder folder. Add segmentation map array for current and last frame segmentation. Include the right header for VP9 worker thread. Move vp9_thread.* to common. ctrl_get_reference does not need user_priv. Seperate the frame buffers from VP9 encoder/decoder structure. Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""" Conflicts: test/codec_factory.h test/decode_test_driver.cc test/decode_test_driver.h test/invalid_file_test.cc test/test-data.sha1 test/test.mk test/test_vectors.cc vp8/vp8_dx_iface.c vp9/common/vp9_alloccommon.c vp9/common/vp9_entropymode.c vp9/common/vp9_loopfilter_thread.c vp9/common/vp9_loopfilter_thread.h vp9/common/vp9_mvref_common.c vp9/common/vp9_onyxc_int.h vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/decoder/vp9_decodeframe.h vp9/decoder/vp9_decodemv.c vp9/decoder/vp9_decoder.c vp9/decoder/vp9_decoder.h vp9/encoder/vp9_encoder.c vp9/encoder/vp9_pickmode.c vp9/encoder/vp9_rdopt.c vp9/vp9_cx_iface.c vp9/vp9_dx_iface.c This reverts commit a18da976. Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02
-
- 29 Jan, 2015 1 commit
-
-
Alex Converse authored
Allow changing colorspace in the encoder and increasing frame size. Change-Id: I8e7c3b891af29ce420a15beb4f6f9c250245b2bb
-
- 23 Jan, 2015 1 commit
-
- 21 Jan, 2015 1 commit
-
-
Alex Converse authored
Change-Id: I3d324e2baa4de2d266c5f7ca7b635b62372e90a7
-
- 14 Jan, 2015 1 commit
-
-
Yaowu Xu authored
This commit adds encoder side control for vp9 to set color space info in the output compressed bitstream. It also amends the "vp9_encoder_params_get_to_decoder" test to verify the correct color space information is passed from the encoder end to decoder end. Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
-
- 09 Jan, 2015 2 commits
- 18 Dec, 2014 1 commit
-
-
Jim Bankoski authored
Change-Id: If2d0888d13ebe52bc7c3b16f16319408a86ab6de
-