| Index: trunk/src/remoting/codec/video_decoder_vpx_unittest.cc
|
| ===================================================================
|
| --- trunk/src/remoting/codec/video_decoder_vpx_unittest.cc (revision 255312)
|
| +++ trunk/src/remoting/codec/video_decoder_vpx_unittest.cc (working copy)
|
| @@ -12,8 +12,6 @@
|
|
|
| namespace remoting {
|
|
|
| -namespace {
|
| -
|
| class VideoDecoderVpxTest : public testing::Test {
|
| protected:
|
| scoped_ptr<VideoEncoderVpx> encoder_;
|
| @@ -34,122 +32,50 @@
|
| }
|
| };
|
|
|
| -class VideoDecoderVp8Test : public VideoDecoderVpxTest {
|
| - protected:
|
| - VideoDecoderVp8Test() {
|
| - encoder_ = VideoEncoderVpx::CreateForVP8();
|
| - decoder_ = VideoDecoderVpx::CreateForVP8();
|
| - }
|
| -};
|
| -
|
| -class VideoDecoderVp9Test : public VideoDecoderVpxTest {
|
| - protected:
|
| - VideoDecoderVp9Test() {
|
| - encoder_ = VideoEncoderVpx::CreateForVP9();
|
| - decoder_ = VideoDecoderVpx::CreateForVP9();
|
| - }
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -//
|
| -// Test the VP8 codec.
|
| -//
|
| -
|
| -TEST_F(VideoDecoderVp8Test, VideoEncodeAndDecode) {
|
| +TEST_F(VideoDecoderVpxTest, VideoEncodeAndDecode) {
|
| TestVideoEncoderDecoder(encoder_.get(), decoder_.get(), false);
|
| }
|
|
|
| // Check that encoding and decoding a particular frame doesn't change the
|
| // frame too much. The frame used is a gradient, which does not contain sharp
|
| // transitions, so encoding lossiness should not be too high.
|
| -TEST_F(VideoDecoderVp8Test, Gradient) {
|
| +TEST_F(VideoDecoderVpxTest, Gradient) {
|
| TestGradient(320, 240, 320, 240, 0.04, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleUpEvenToEven) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleUpEvenToEven) {
|
| TestGradient(320, 240, 640, 480, 0.04, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleUpEvenToOdd) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleUpEvenToOdd) {
|
| TestGradient(320, 240, 641, 481, 0.04, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleUpOddToEven) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleUpOddToEven) {
|
| TestGradient(321, 241, 640, 480, 0.04, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleUpOddToOdd) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleUpOddToOdd) {
|
| TestGradient(321, 241, 641, 481, 0.04, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleDownEvenToEven) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleDownEvenToEven) {
|
| TestGradient(320, 240, 160, 120, 0.04, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleDownEvenToOdd) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleDownEvenToOdd) {
|
| // The maximum error is non-deterministic. The mean error is not too high,
|
| // which suggests that the problem is restricted to a small area of the output
|
| // image. See crbug.com/139437 and crbug.com/139633.
|
| TestGradient(320, 240, 161, 121, 1.0, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleDownOddToEven) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleDownOddToEven) {
|
| TestGradient(321, 241, 160, 120, 0.04, 0.02);
|
| }
|
|
|
| -TEST_F(VideoDecoderVp8Test, GradientScaleDownOddToOdd) {
|
| +TEST_F(VideoDecoderVpxTest, GradientScaleDownOddToOdd) {
|
| TestGradient(321, 241, 161, 121, 0.04, 0.02);
|
| }
|
|
|
| -//
|
| -// Test the VP9 codec.
|
| -//
|
| -
|
| -TEST_F(VideoDecoderVp9Test, VideoEncodeAndDecode) {
|
| - TestVideoEncoderDecoder(encoder_.get(), decoder_.get(), false);
|
| -}
|
| -
|
| -// Check that encoding and decoding a particular frame doesn't change the
|
| -// frame too much. The frame used is a gradient, which does not contain sharp
|
| -// transitions, so encoding lossiness should not be too high.
|
| -TEST_F(VideoDecoderVp9Test, Gradient) {
|
| - TestGradient(320, 240, 320, 240, 0.04, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleUpEvenToEven) {
|
| - TestGradient(320, 240, 640, 480, 0.04, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleUpEvenToOdd) {
|
| - TestGradient(320, 240, 641, 481, 0.04, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleUpOddToEven) {
|
| - TestGradient(321, 241, 640, 480, 0.04, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleUpOddToOdd) {
|
| - TestGradient(321, 241, 641, 481, 0.04, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleDownEvenToEven) {
|
| - TestGradient(320, 240, 160, 120, 0.04, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleDownEvenToOdd) {
|
| - // The maximum error is non-deterministic. The mean error is not too high,
|
| - // which suggests that the problem is restricted to a small area of the output
|
| - // image. See crbug.com/139437 and crbug.com/139633.
|
| - TestGradient(320, 240, 161, 121, 1.0, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleDownOddToEven) {
|
| - TestGradient(321, 241, 160, 120, 0.04, 0.02);
|
| -}
|
| -
|
| -TEST_F(VideoDecoderVp9Test, GradientScaleDownOddToOdd) {
|
| - TestGradient(321, 241, 161, 121, 0.04, 0.02);
|
| -}
|
| -
|
| } // namespace remoting
|
|
|