Program: gdcm
Module: $RCSfile: gdcmPixelReadConvert.cxx,v $
Language: C++
- Date: $Date: 2005/03/31 09:46:51 $
- Version: $Revision: 1.54 $
+ Date: $Date: 2005/05/22 18:38:52 $
+ Version: $Revision: 1.57 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
+
+bool ReadMPEGFile (std::ifstream *fp, void *image_buffer);
+bool gdcm_read_JPEG2000_file (std::ifstream* fp, void* raw, size_t inputlength);
//-----------------------------------------------------------------------------
#define str2num(str, typeNum) *((typeNum *)(str))
|| Global::GetTS()->GetSpecialTransferSyntax(ts) == TS::ExplicitVRBigEndian
|| Global::GetTS()->GetSpecialTransferSyntax(ts) == TS::DeflatedExplicitVRLittleEndian;
+ IsMPEG = Global::GetTS()->IsMPEG(ts);
IsJPEG2000 = Global::GetTS()->IsJPEG2000(ts);
IsJPEGLS = Global::GetTS()->IsJPEGLS(ts);
IsJPEGLossy = Global::GetTS()->IsJPEGLossy(ts);
return false;
}
}
+ else if ( IsMPEG )
+ {
+ //gdcmWarningMacro( "Sorry, MPEG not yet taken into account" );
+ //return false;
+ ReadMPEGFile(fp, Raw); // fp has already been seek to start of mpeg
+ return true;
+ }
else
{
// Default case concerns JPEG family
{
if ( IsJPEG2000 )
{
- gdcmWarningMacro( "Sorry, JPEG2000 not yet taken into account" );
+// gdcmWarningMacro( "Sorry, JPEG2000 not yet taken into account" );
fp->seekg( JPEGInfo->GetFirstFragment()->GetOffset(), std::ios::beg);
-// if ( ! gdcm_read_JPEG2000_file( fp,Raw ) )
+ if ( ! gdcm_read_JPEG2000_file( fp,Raw, JPEGInfo->GetFirstFragment()->GetLength() ) )
return false;
}