- 12 Feb, 2016 1 commit
-
-
Jingning Han authored
Remove the implicit assumption on offsetting the index by 1. Change-Id: I6f1d391e067d57b7e45b9287e866014dbc16da71
-
- 09 Feb, 2016 1 commit
-
-
Jingning Han authored
This commit enables entropy coding for dynamic reference motion vector modes. The probability model is contexted on the ranking categories of the reference motion vector candidates. Change-Id: I09b58d98a409d63ec1a407331e29f8945b7ef17d
-
- 05 Feb, 2016 1 commit
-
-
Yaowu Xu authored
And enabled the warning flag in configure for vp10. Change-Id: If556d6fac65755af3d6ed7fe71b8eca0ef1b1965
-
- 22 Jan, 2016 1 commit
-
-
Yue Chen authored
Combinations of different mv modes for two reference frames are allowed in compound inter modes. 9 options are enabled, including NEAREST_NEARESTMV, NEAREST_NEARMV, NEAR_NEARESTMV, NEAREST_NEWMV, NEW_NEARESTMV, NEAR_NEWMV, NEW_NEARMV, ZERO_ZEROMV, and NEW_NEWMV. This experiment is mostly deported from the nextgen branch. It is made compatible with other experiments Coding gain of EXT_INTER(derflr/hevcmr/hevchd): 0.533%/0.728%/0.639% Change-Id: Id47e97284e6481b186870afbad33204b7a33dbb0
-
- 15 Jan, 2016 1 commit
-
-
Yue Chen authored
NEW2MV is enabled, representing a new motion vector predicted from NEARMV. It is mostly ported from nextgen, where it was named NEW_INTER. A few fixes are done for sub8x8 RDO to correct some misused mv references in the original patch. A 'bug-fix' for encoding complexity is done, reducing the additional encoding time from 50% to 20%. In sub8x8 case, the old patch did motion search for every interpolation filter (vp9 only searches once). This fix also slightly improves the coding gain. This experiment has been made compatible with REF_MV and EXT_REFS. Coding gain (derflr/hevcmr/hevchd): 0.267%/0.542%/0.257% Change-Id: I9a94c5f292e7454492a877f65072e8aedba087d4
-
- 12 Jan, 2016 1 commit
-
-
Jingning Han authored
This commit allows the codec to add motion vector pairs into the candidate list. It further improves the compression performance by 0.1% across derf, hevcmr, stdhd, and hevchr sets without adding encode/decode time. Change-Id: I88d36da25a2a89bb506d411844af667081eba98b
-
- 11 Jan, 2016 1 commit
-
-
Jingning Han authored
This commit re-works the reference motion vector stack process and make it support extended context set. It unifies reference motion vector checking process for row and column scan, as well as for single block scan. Change-Id: I68c05cde93cf8b0ca2ef4d1523399f405bd0a337
-
- 08 Jan, 2016 1 commit
-
-
Jingning Han authored
It allows the codec to account for certain corner cases when processing inter prediction mode entropy coding. Change-Id: Ied451f4fff26ba579f6556554b8381ff2ccd0003
-
- 10 Dec, 2015 1 commit
-
-
Jingning Han authored
This commit allows the codec to analyze the reference motion vector candidate list and adaptively reduce the size of inter prediction mode set. Change-Id: Ied6a403843b860d66f26ed485c1825c05c71bdfc
-
- 25 Nov, 2015 2 commits
-
-
Jingning Han authored
Take out an unnecessary use of the mode context array. Change-Id: I4032ed18464e5ec49a2160bea964bad9b716ee54
-
Jingning Han authored
This commit ports the motion vector stack from motion field analyzer to the encoding and decoding pipeline. Change-Id: Ie283c1e1a15b4c17a1c7c175ce322bf053bb7840
-
- 24 Nov, 2015 1 commit
-
-
Jingning Han authored
This commit allows the codec to analyze the motion field in the avaiable above and left neighboring area to produce a set of reference motion vectors for each reference frame. These reference motion vectors are ranked according to the likelihood that it will be picked. Change-Id: I82e6cd990a7716848bb7b6f5f2b1829966ff2483
-
- 17 Nov, 2015 1 commit
-
-
hui su authored
Remove MISC_FIXES flags except for the changes on MV precision, which has a 0.1% performance drop. On derflr, the impact is -0.012%. Change-Id: I0a74e5a212dd0cb827192a318c92a714c9681e45
-
- 09 Nov, 2015 1 commit
-
-
Johann authored
Javan Whistling Duck release. Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
-
- 20 Oct, 2015 1 commit
-
-
Ronald S. Bultje authored
This causes the output of find_ref_mvs() to always be unique or zero. A nice side-effect of this is that it also causes the output of find_ref_mvs_sub8x8() to be unique-or-zero, and it will not ignore available candidate MVs under certain conditions. See issue 1012. Change-Id: If4792789cb7885dbc9db420001d95f9b91b63bfa
-
- 16 Oct, 2015 1 commit
-
-
Ronald S. Bultje authored
In VP9, the ref MV had to point to a block that itself fully resided within the visible image, i.e. all borders of the image had to be within the visible borders of the coded frame. This is somewhat illogical, and had obscure side effects, e.g. clamping of fairly reasonable motion vectors such as 0,0 were clipped to negative values if the block was overhanging on frame edges (such as the last rows on 1080p content), which makes no sense whatsoever. Instead, relax clamping constraints such that the ref MVs are allowed to point to blocks exactly outside the visible edges in both Y as well as UV planes, including the 8tap filter edges (that's why the offset is 8 pixels + block size). See issue 1037. Change-Id: I2683eb2a18b24955e4dcce36c2940aa2ba3a1061
-
- 12 Oct, 2015 1 commit
-
-
Ronald S. Bultje authored
This actually has no effect whatsoever, since the input MVs themselves are clamped by clamp_mv_ref() already, which is significantly more restrictive in its bounds. Change-Id: I4a3a7b2b121ee422c56428c2a12d930c3813c06e
-
- 16 Sep, 2015 1 commit
-
-
Ronald S. Bultje authored
This has virtually no effect on coding efficiency, but it is more logical from a theoretical perspective (since it makes no sense to me that you would exclude a MV from a list just because it's sign- inversed value is identical to a value already in a list), and it also makes the code simpler (it removes a duplicate value check in cases where signbias is equal between the two MVs being compared). See issue 662. Change-Id: I23e607c6de150b9f11d1372fb2868b813c322d37
-
- 13 Aug, 2015 2 commits
- 12 Aug, 2015 2 commits
-
-
Jingning Han authored
Remove the vp9_ prefix from vp10 file names. Change-Id: I513a211b286a57d6126fc1b0fbfd6405120014f1
-
Jingning Han authored
This commit folks the VP9 and VP10 codebase and makes libvpx support VP8, VP9, and VP10. Change-Id: I81782e0b809acb3c9844bee8c8ec8f4d5e8fa356
-
- 22 Jun, 2015 1 commit
-
-
Scott LaVarnway authored
and added to MACROBLOCKD. Change-Id: I0e60aaa9f84bcc9f2376d71bd934f251baee38db
-
- 04 Jun, 2015 1 commit
-
-
Scott LaVarnway authored
Reduced size from 124 bytes to 104 bytes. For decode only builds, it is reduced to 68 bytes. Change-Id: If9e6b92285459425fa086ab5a743d0a598a69de3
-
- 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
-
- 30 Jan, 2015 1 commit
-
-
James Zern authored
+ nearest for consistency near is a reserved word in windows builds so using it as a parameter name may cause build failures with some configurations Change-Id: Iddf1d4ecdb39843f14e95dbfd9dca55f07f81403
-
- 23 Jan, 2015 1 commit
-
- 22 Oct, 2014 1 commit
-
-
Hangyu Kuang authored
Using 4 threads, frame parallel decode is ~3x faster than single thread decode and around 30% faster than tile parallel decode for frame parallel encoded video on both Android and desktop with 4 threads. Decode speed is scalable to threads too which means decode could be even faster with more threads. Change-Id: Ia0a549aaa3e83b5a17b31d8299aa496ea4f21e3e
-
- 21 Oct, 2014 1 commit
-
-
Hui Su authored
INTERP_FILTER; Modify the macro ADD_MV_REF_LIST and IF_DIFF_REF_FRAME_ADD_MV. Change-Id: Ic36c9eb6ccb8ec324d991f7241e42b40b60b1dcb
-
- 12 Aug, 2014 1 commit
-
-
Jim Bankoski authored
Change-Id: I4dc2cb255f4fe30998b6ee61184895dee9f5da8e
-
- 26 Jun, 2014 1 commit
-
-
Jingning Han authored
This commit enables a fast reference motion vector search scheme. It checks the nearest top and left neighboring blocks to decide the most probable predicted motion vector. If it finds the two have the same motion vectors, it then skip finding exterior range for the second most probable motion vector, and correspondingly skips the check for NEARMV. The runtime of speed -5 goes down pedestrian at 1080p 29377 ms -> 27783 ms vidyo at 720p 11830 ms -> 10990 ms i.e., 6%-8% speed-up. For rtc set, the compression performance goes down by about -1.3% for both speed -5 and -6. Change-Id: I2a7794fa99734f739f8b30519ad4dfd511ab91a5
-
- 10 Mar, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ied12b39c55667b26fd3bf90eb331e601c53a10f6
-
- 19 Feb, 2014 1 commit
-
-
Dmitry Kovalev authored
Hiding vp9_find_mv_refs_idx() inside vp9_mvref_common.c, moving definition of vp9_find_mv_refs() to vp9_mvref_common.c. Change-Id: I0c9f34b03648785a7d18edf6d4fddd34e55dfcc5
-
- 10 Feb, 2014 1 commit
-
-
Jim Bankoski authored
Change-Id: If1ec3b64be327e8c48ec7efbacde208d2129fdb0
-
- 24 Jan, 2014 1 commit
-
-
James Zern authored
Change-Id: Ic334da9aee968e33762c2b25d9fbad24c844b411
-
- 21 Jan, 2014 1 commit
-
-
hkuang authored
Encoder's boarder is still 160, while decoder's boarder will be 32. With on demand and separate boarder buffer for boarder extension. The decoder's boarder does not need to to 160 anymore. Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
-
- 20 Dec, 2013 1 commit
-
-
Dmitry Kovalev authored
Moving all code from that files to vp9_mvref_common.{h, c}. Change-Id: Ibc4afcb8cea6847166ff411130e93611ebe63b20
-
- 28 Oct, 2013 1 commit
-
-
James Zern authored
replaces use of cur_tile_mi_(row|col)_(start|end) by VP9_COMMON, making it less stateful and more reusable for parallel tile decoding Change-Id: I1df09382b4567a0e5f4434825d47c79afe2399be
-
- 23 Aug, 2013 1 commit
-
-
Dmitry Kovalev authored
Making code more compact, adding consts, removing redundant arguments, adding do/while(0) for macros. Change-Id: Ic9ec0bc58cee0910a5450b7fb8cfbf35fa9d0d16
-
- 04 Aug, 2013 1 commit
-
-
Jim Bankoski authored
This is an attempt at rewriting vp9_find_mv_refs_idx. I believe that it gains about 1-2% decode speed Change-Id: Ia5359c94ce9bb43b32652890e605e9a385485c1b
-