summaryrefslogtreecommitdiff
path: root/test/encode_test_driver.h
AgeCommit message (Collapse)Author
2013-05-03encode_test_driver: make ~Encoder virtualJames Zern
+ some quick lint fixes Change-Id: I95b6c32454c17d7fc717f1daa2376eb4d5418ee3
2013-03-05Add 'superframe' indexJohn Koleszar
A 'superframe' is a group of frames that share the same PTS, but have a defined decoding order. This commit adds the ability to append an index to such a group of frames, allowing for random access to the constituent frames. This could be useful for frame-level parallelism or partial decoding in a multilayer scenario. Decoding the stream serially without such an index should work as a fallback, and VP9/TestSuperframeIndexIsOptional verifies that. Change-Id: Idff83b7560e1a7077d8fb067bfbc45b567e78b1c
2013-02-08Adds a test for the VP8E_SET_SCALEMODE controlJohn Koleszar
Tests that the external interface to set the internal codec scaling works as expected. Also updates the test to pull the height from the decoded frame size rather than parsing the keyframe header, in anticipation of allowing resolution changes on non-keyframes. Change-Id: I3ed92117d8e5288fbbd1e7b618f2f233d0fe2c17
2013-01-23Adds an error-resilient mode with testDeb Mukherjee
Adds an error-resilient mode where frames can be continued to be decoded even when there are errors (due to network losses) on a prior frame. Specifically, backward updates are turned off and probabilities of various symbols are reset to defaults at the beginning of each frame. Further, the last frame's mvs are not used for the mv reference list, and the sorting of the initial list based on search on previous frames is turned off as well. Also adds a test where an arbitrary set of frames are skipped from decoding to simulate errors. The test verifies (1) that if the error frames are droppable - i.e. frame buffer updates have been turned off - there are no mismatch errors for the remaining frames after the error frames; and (2) if the error-frames are non droppable, there are not only no decoding errors but the mismatch PSNR between the decoder's version of the post-error frames and the encoder's version is at least 20 dB. Change-Id: Ie6e2bcd436b1e8643270356d3a930e8989ff52a5
2013-01-23Support multiple codecs in test infrastructureJohn Koleszar
This commit starts to convert the tests to a system where the codec to be used is provided by a factory object. Currently no tests are instantiated for VP9 since they all fail for various reasons, but it was verified that they're called and the correct codec is instantiated. Change-Id: Ia7506df2ca3a7651218ba3ca560634f08c9fbdeb
2012-10-03Added handler for PSNR packets to EncoderTest classAdrian Grange
Added a virtual function to handle PSNR packets. Change-Id: Id2a6372c691a14f19bbeed217a93a9df03e81e75
2012-10-03Add initialization and per frame flag membersAdrian Grange
Modified EncoderTest class to have separate member variables for initialization time and per-frame. Change-Id: I08a1901f8f3ec16e45f96297e08e7f6df0f4aa0b
2012-10-03Added Reset method to TwopassStatsStoreAdrian Grange
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
2012-08-31added encode/decode matching validation to testsYaowu Xu
This commit adds the ability of validating matched encoder and decoder to unit tests. Change-Id: Ie00d69a42477b6a69b324a6bd134939684f7300b
2012-08-08EncoderTest: check that timestamps are monotonicJames Zern
Change-Id: I813fa94c83df6282f382b24bbaccb1fe2fa94276
2012-08-08Merge "keyframe_test: use a fixed speed step for realtime"John Koleszar
2012-07-20Remove unused macrosJohann
Also available in util.h Change-Id: I4745d72f57c11c55772d3bf0ef15c09bd86eb5bf
2012-07-10keyframe_test: use a fixed speed step for realtimeJohn Koleszar
The lower complexity modes may not generate a keyframe automatically. This behavior was found when running under Valgrind, as the slow performance caused the speed selection to pick lower complexities than when running natively. Instead, use a fixed complexity for the realtime auto keyframe test. Affected tests: AllModes/KeyframeTest.TestAutoKeyframe/0 Change-Id: I44e3f44e125ad587c293ab5ece29511d7023be9b
2012-05-24Add external resize testsJohn Koleszar
Adds a test that ensures the application is able to trigger frame size changes via vpx_codec_enc_config_set() Change-Id: I231c062e533d75c8d63c5f8a5544650117429a63
2012-05-22Add initial keyframe testsJohn Koleszar
Implements a couple simple tests of the encoder API using the gtest framework: TestDisableKeyframes TestForceKeyframe TestKeyframeMaxDistance Change-Id: I38e93fe242fbeb30bb11b23ac12de8ddc291a28d