summaryrefslogtreecommitdiff
path: root/test/encode_test_driver.h
AgeCommit message (Collapse)Author
2015-09-25vp9/10: improve support for render_width/height.Ronald S. Bultje
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
2015-08-11Fork VP9 and VP10 codebaseJingning Han
This commit folks the VP9 and VP10 codebase and makes libvpx support VP8, VP9, and VP10. Change-Id: I81782e0b809acb3c9844bee8c8ec8f4d5e8fa356
2015-07-29Cosmetics - Fix header file order in unit testsJingning Han
Change-Id: I9582a8d74990125b71e8fe620f7f3f2585a30798
2015-06-02Vidyo patch: Rate control for SVC, 1 pass CBR mode.Marco
-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
2015-04-16Fix multithread encode testFrank Galligan
The multithread encode test was never actually setting more than one thread. Change-Id: Ie7a3b7b138e88344c943bffd544cf2b4aab866a9
2015-01-29Allow larger encoder configurations.Alex Converse
Allow changing colorspace in the encoder and increasing frame size. Change-Id: I8e7c3b891af29ce420a15beb4f6f9c250245b2bb
2014-12-17Improve the libvpx encoder test driverYunqing Wang
The encoder initialization is called in EncodeFrame(). Therefore, in the unit tests, the set control is done when video->frame() is 1. This didn't cause problem since current tests mainly test lag_frame > 0 case, or no encoding option that needs to allocate memory before 1st frame is used. If use lag_frame = 0 and encoding multiple tiles, the unit tests crash. The issue is fixed by doing the initialization before encoding frames. Change-Id: I43102048f88448bcf27e9c60e0ec06c176b02e5c
2014-12-12Fix a bug that break the vp8 fragment decoder.hkuang
(issue #882). Change-Id: I2ca7f96d390c4eaec0473c50cb01b903d0bd3ee6
2014-12-07Make the decoder Cfg available to encoder tests..Jim Bankoski
Adds decoder config as a changeable parameter to unit tests, and changes end to end test to use commonly used parameters to enable base test of tiles encoding and frame parallel decoding. Change-Id: I5d23a6857303b4d68b92b15c3f2f04a1bcb4c2bb
2014-08-22encode_test_driver.h: remove unused param warningsJames Zern
in EncoderTest default implementations Change-Id: I3e29d8d2a834fece87aab35813b5e275a30c32fd
2014-07-17allow config options to limit max size of decodeJim Bankoski
This is a practical concern to allow us to fail in a decoder instance if the size of a file is bigger than we can reasonably handle. Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
2014-03-12Add an active map test.Alex Converse
Change-Id: I641a75dd75cd3c53a20eb4dbceb7a9b70a5a0e4d
2014-02-06Layer based rate control for CBR mode.Marco Paniconi
This patch adds a buffer-based rate control for temporal layers, under CBR mode. Added vpx_temporal_scalable_patters.c encoder for testing temporal layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns). Updated datarate unittest with tests for temporal layer rate-targeting. Change-Id: I8900a854288b9354d9c697cfeb0243a9fd6790b1
2014-02-03Revert "Layer based rate control for CBR mode."Marco Paniconi
This reverts commit 6be2b750b8968a0b19180a6474864c0b6a41db13 Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b
2014-02-02Layer based rate control for CBR mode.Marco Paniconi
This patch adds a buffer-based rate control for temporal layers, under CBR mode. Added vpx_temporal_scalable_patters.c encoder for testing temporal layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns). Updated datarate unittest with tests for temporal layer rate-targeting. Change-Id: I9cb6cce2494390ae6096ee17774af7fb9308bde7
2014-01-31remove duplicate const from vpx_codec_iface_t useJames Zern
the public typedef already includes a const, quiets 'same type qualifier used more than once' warnings Change-Id: Ib118b3b116fba59d4c6ead84d85b26e5d3ed363d
2013-06-25encode_test_driver: check for fatal failuresJames Zern
Make the base test be: !(fatal || abort_) removing some redundancy in the encode tests Change-Id: I8ffaf33fcf9a3030b38ea3e8eb94704cdc2fc920
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