2 * Copyright (c) 2007, Digital Signal Processing Laboratory, Universita degli studi di Perugia (UPG), Italy
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 * POSSIBILITY OF SUCH DAMAGE.
26 /////////////////////////////////////////////////////////////////////////////
28 // Purpose: wxImage MXF (Material eXchange Format) JPEG 2000 file format handler
29 // Author: G. Baruffa - based on imagjpeg.h, Vaclav Slavik
30 // RCS-ID: $Id: imagmj2.h,v 0.0 2007/11/19 17:00:00 VZ Exp $
31 // Copyright: (c) Giuseppe Baruffa
32 // Licence: wxWindows licence
33 /////////////////////////////////////////////////////////////////////////////
35 #ifndef _WX_IMAGMXF_H_
36 #define _WX_IMAGMXF_H_
41 #include "wx/filename.h"
43 //-----------------------------------------------------------------------------
45 //-----------------------------------------------------------------------------
50 #include "libopenjpeg/openjpeg.h"
52 #define wxBITMAP_TYPE_MXF 51
54 class WXDLLEXPORT wxMXFHandler: public wxImageHandler
59 m_name = wxT("MXF JPEG 2000 file format");
60 m_extension = wxT("mxf");
61 m_type = wxBITMAP_TYPE_MXF;
62 m_mime = wxT("image/mxf");
70 m_expcomps = JPWL_EXPECTED_COMPONENTS;
71 m_maxtiles = JPWL_MAXIMUM_TILES;
75 // decoding engine parameters
76 int m_reducefactor, m_qualitylayers, m_components, m_framenum;
77 wxFileName m_filename;
80 int m_expcomps, m_maxtiles;
84 virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
85 virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
87 virtual bool DoCanRead( wxInputStream& stream );
91 DECLARE_DYNAMIC_CLASS(wxMXFHandler)
94 #endif // wxUSE_LIBOPENJPEG
98 #endif // _WX_IMAGMXF_H_