Change MagickImageProxy to FFmpegImageProxy and make it use FFmpeg
[dcpomatic.git] / src / lib / j2k_image_proxy.cc
index 9100414e442760ce1c532026afbd5b945e367e5c..52b6f34f0c351de8acd5c42a70fff7b02ace8023 100644 (file)
@@ -31,7 +31,6 @@
 #include <dcp/j2k.h>
 #include <libcxml/cxml.h>
 #include <libxml++/libxml++.h>
-#include <Magick++.h>
 #include <iostream>
 
 #include "i18n.h"
@@ -53,7 +52,8 @@ J2KImageProxy::J2KImageProxy (boost::filesystem::path path, dcp::Size size, AVPi
        , _size (size)
        , _pixel_format (pixel_format)
 {
-
+       /* ::image assumes 16bpp */
+       DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE);
 }
 
 J2KImageProxy::J2KImageProxy (
@@ -67,6 +67,8 @@ J2KImageProxy::J2KImageProxy (
        , _pixel_format (pixel_format)
        , _forced_reduction (forced_reduction)
 {
+       /* ::image assumes 16bpp */
+       DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE);
        memcpy (_data.data().get(), frame->j2k_data(), _data.size ());
 }
 
@@ -82,6 +84,8 @@ J2KImageProxy::J2KImageProxy (
        , _pixel_format (pixel_format)
        , _forced_reduction (forced_reduction)
 {
+       /* ::image assumes 16bpp */
+       DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE);
        switch (eye) {
        case dcp::EYE_LEFT:
                _data = Data (frame->left_j2k_size ());
@@ -217,7 +221,8 @@ J2KImageProxy::J2KImageProxy (Data data, dcp::Size size, AVPixelFormat pixel_for
        , _size (size)
        , _pixel_format (pixel_format)
 {
-
+       /* ::image assumes 16bpp */
+       DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE);
 }
 
 size_t