X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fmake_black_test.cc;h=ec5aa6999950e7dae157ada78ce404a2c0e13dea;hb=d316893518de15a8e02135784e7c6c5e76a98e93;hp=88c1bd0f46d7f60c293b7a20d911e46ea1b8aa3f;hpb=854f2e5bbb7ffb9758b823af87034033033f3cb8;p=dcpomatic.git diff --git a/test/make_black_test.cc b/test/make_black_test.cc index 88c1bd0f4..ec5aa6999 100644 --- a/test/make_black_test.cc +++ b/test/make_black_test.cc @@ -17,31 +17,34 @@ */ +/** @file test/make_black_test.cc + * @brief Check that Image::make_black works, and doesn't use values which crash + * sws_scale(). + * + * @see test/image_test.cc + */ + #include #include extern "C" { #include } #include "lib/image.h" -#include "lib/scaler.h" using std::list; -/* Check that Image::make_black works, and doesn't use values which crash - sws_scale(). -*/ BOOST_AUTO_TEST_CASE (make_black_test) { dcp::Size in_size (512, 512); dcp::Size out_size (1024, 1024); list pix_fmts; - pix_fmts.push_back (AV_PIX_FMT_RGB24); + pix_fmts.push_back (AV_PIX_FMT_RGB24); // 2 pix_fmts.push_back (AV_PIX_FMT_ARGB); pix_fmts.push_back (AV_PIX_FMT_RGBA); pix_fmts.push_back (AV_PIX_FMT_ABGR); pix_fmts.push_back (AV_PIX_FMT_BGRA); - pix_fmts.push_back (AV_PIX_FMT_YUV420P); + pix_fmts.push_back (AV_PIX_FMT_YUV420P); // 0 pix_fmts.push_back (AV_PIX_FMT_YUV411P); pix_fmts.push_back (AV_PIX_FMT_YUV422P10LE); pix_fmts.push_back (AV_PIX_FMT_YUV422P16LE); @@ -71,13 +74,14 @@ BOOST_AUTO_TEST_CASE (make_black_test) pix_fmts.push_back (AV_PIX_FMT_YUVA420P16LE); pix_fmts.push_back (AV_PIX_FMT_YUVA422P16LE); pix_fmts.push_back (AV_PIX_FMT_YUVA444P16LE); + pix_fmts.push_back (AV_PIX_FMT_RGB555LE); // 46 int N = 0; for (list::const_iterator i = pix_fmts.begin(); i != pix_fmts.end(); ++i) { boost::shared_ptr foo (new Image (*i, in_size, true)); foo->make_black (); - boost::shared_ptr bar = foo->scale (out_size, Scaler::from_id ("bicubic"), PIX_FMT_RGB24, true); - + boost::shared_ptr bar = foo->scale (out_size, dcp::YUV_TO_RGB_REC601, PIX_FMT_RGB24, true); + uint8_t* p = bar->data()[0]; for (int y = 0; y < bar->size().height; ++y) { uint8_t* q = p;