- 09 Oct, 2012 1 commit
-
-
John Koleszar authored
Rather than overloading the parent_ref_frame value to shut off the search in some cases, add a new validity flag. This cleans up some of the duplicated mr_encoder_id && mr_low_res_mv_avail checks as well, for readability. Change-Id: Iddad93a27066c3d85ff2f25a361ac113b288ab7b
-
- 08 Oct, 2012 1 commit
-
-
John Koleszar authored
In some situations, believed to be an interaction between temporal scalability and dropped frames, the references available to an encoder may not be the same references available to its parent. Previously, the code tried to force the reference frame chosen by the parent to be used on this frame, even if it was disabled. This was preventing the pick mode loop from running even once, which led to a crash. Attempts to reproduce this bug locally were unsuccessful, so it is still undetermined what the underlying cause of this issue is. In the specific case that was failing, the application did not set any flags which influenced the reference selection on that frame. ref_frame_flags indicated that the golden frame was disabled, believed to be because the last frame updated the last and golden frames, so golden was shut off by default. It's not clear why this wouldn't have also been true in the lower res encoder, ie, why the lower res encoder decided to use and/or was allowed to use the golden frame. We weren't able to debug into the non-crashing lower res encoder as the crash couldn't be reproduced locally. Change-Id: Ifb265253d26963ac2afde0e20cf6792788be6af7
-
- 03 Oct, 2012 6 commits
-
-
John Koleszar authored
If a parent mb is available but is intra coded, then parent_ref_mv is invalid. Check that the parent is inter coded before trying to access the parent_ref_mv. Previously the parent_ref_mv was being read from an uninitialized stack allocation, causing potential OOB reads and other undefined behavior. Change-Id: I0c93cd412a19c3a184bcf6decaa145b3a036a6c0
-
Adrian Grange authored
-
John Koleszar authored
-
Adrian Grange authored
The stats buffer needs to be reset between runs of the encoder. I added a Reset() function to TwopassStatsStore and called it at the beginning of each encode. This enables us to run multiple encodes which was previously not possible since there was no way to reset the stats between runs. Change-Id: Iebb18dab83ba9331f009f764cc858609738a27f9
-
John Koleszar authored
Protect the call to {Initialize,Delete}CriticalSection() with an Interlocked{Inc,Dec}rement() pair, rather than the previous static initialization. This should play better with AppVerifier, and fix issue http://code.google.com/p/webm/issues/detail?id=467 Change-Id: I06eadbfac1b3b4414adb8eac862ef9bd14bbe4ad
-
John Koleszar authored
-
- 01 Oct, 2012 1 commit
-
-
Jim Bankoski authored
The codec as it stood placed a keyframe one frame after a real cut scene - and ignored datarate and other considerations. TODO: Its possible that we should detect a keyframe and recode the frame ( in certain circumstances) to improve quality. Change-Id: Ia1fd6d90103f4da4d21ca5ab62897d22e0b888a8
-
- 27 Sep, 2012 1 commit
-
-
Marco Paniconi authored
Reset the cyclie refresh mode index in alloc_compressor_data(). This is needed to handle both cases of internal and external spatial resizing. Change-Id: I2697e12d45135eae2e8f0d45161811f24722312a
-
- 26 Sep, 2012 2 commits
-
-
Marco Paniconi authored
On an internal spatial resize, this mode index was not reset to 0, and therefore could exceed dimensions of seg_map or cyclic_refresh_map. Change-Id: I6fe85dbd2765eb0207a9d9f71fda8d8b8c34f075
-
Scott LaVarnway authored
Patch Set 1: gain familiarity with unit tests... added simple 4x4 subtract test Patch Set 2: fixed mistakes, parameterized as suggested Patch Set 3: randomized the source/predictor data Change-Id: I33432bdf7c9f2a9b8c2533a37106382c2a8209ee Signed-off-by:
Scott LaVarnway <slavarnway@google.com>
-
- 25 Sep, 2012 5 commits
-
-
John Koleszar authored
-
John Koleszar authored
-
Mike Frysinger authored
Change-Id: I67bf154e35fa02b407a9b2c312a536d6bb2aaaf2
-
Jim Bankoski authored
-
Mike Frysinger authored
Add configure detection of the new x32 ABI as well as support in asm. Change-Id: Ic66a069599adeb81062090e3f11b71ee1fb97cb8
-
- 24 Sep, 2012 6 commits
-
-
Scott LaVarnway authored
-
Scott LaVarnway authored
-
Scott LaVarnway authored
in order to make it easier to implement the frame-base multithreading. Change-Id: Iea2fd05be34fa704848fdc7669bf167f2ed229c5
-
John Koleszar authored
Fixes some build issues for people building for win32 who have a pthreads emulation layer installed. Change-Id: I0e0003fa01f65020f6ced35d961dcb1130db37a8
-
Jim Bankoski authored
This should avoid problems with blocks gettings high quality improvement despite having recently moved: Change-Id: Ic0af0de2d6577807fa3c553f47b55d547ef36359
-
Marco Paniconi authored
Set the seg map to 0 for key frame. In previous commit on cyclic refresh, the seg map for key frame was not reset, and instead used the seg map from last frame. Change-Id: I848eb2face420dfcd2f7daca6f070b9127ca938b
-
- 22 Sep, 2012 1 commit
-
-
Marco Paniconi authored
-Increase the amount of mbs to be refreshed. -Replace the delta qp with a fixed and reduced delta. -Change to the mb update loop to try to always update same amount of mbs. Change-Id: I93ac88002fd8dc677d2337f77998ff93f64e4ff9
-
- 21 Sep, 2012 1 commit
-
-
Scott LaVarnway authored
Used mbc instead. Change-Id: If22136b4fee89b68ca2246265f3c27853701136c
-
- 19 Sep, 2012 1 commit
-
-
Scott LaVarnway authored
This change is necessary for the frame-based multithreading implementation. Since the postproc occurs in this call, vpxdec was modified to time around vpx_codec_get_frame() Change-Id: I389acf78b6003cd35e41becc16c893f7d3028523
-
- 17 Sep, 2012 5 commits
-
-
Scott LaVarnway authored
-
Adrian Grange authored
-
Scott LaVarnway authored
-
Scott LaVarnway authored
-
Marco Paniconi authored
Change-Id: I11aa90be41dd585c9784301f47a9d580fac09260
-
- 14 Sep, 2012 2 commits
-
-
Marco Paniconi authored
Change-Id: I43ea65bf0a35ddb33a096a392e10b1869ea73f9a
-
Adrian Grange authored
-
- 13 Sep, 2012 3 commits
-
-
Scott LaVarnway authored
from vp8_decode_frame() to mb_mode_mv_init() Change-Id: I267fd764a4c826d62e6799dceb1b8fb5f97fde6d
-
Scott LaVarnway authored
Not used. Change-Id: Ifbd97c9ad537d5184f7e305fa8acf6f027978b6b
-
Scott LaVarnway authored
Initialize the top line at the beginning of each frame and the left column at the beginning of each row. Change-Id: I5412f7ea49ffc490215cf65a62715a6c5e3a5a29
-
- 12 Sep, 2012 1 commit
-
-
Jim Bankoski authored
-
- 11 Sep, 2012 3 commits
-
-
Jim Bankoski authored
Multiple decoders were getting allocated per frame. If the decoder crashed we exitted with out freeing them and the next time in we'd allocate over. This fix removes the allocation and just has 8 boolcoders in the pbi structure Change-Id: I638b5bda23b622b43b7992aec21dd7cf6f6278da
-
Marco Paniconi authored
Updated/added a few cases of temporal patterns, and some changes to the encoder settings. Change-Id: Idaa75cfc4a26e5b6321f273ef9450b5c85368a4d
-
Scott LaVarnway authored
Bug introduced in I02d034c70cd97b65025d59dd67c695e1db529f0b Change-Id: Ifb74ab659f3b3cf5f5b95046bacffb202d5b4d64
-