/*
-Copyright (c) 2004-2008, John Hurst
+Copyright (c) 2004-2013, John Hurst
All rights reserved.
Redistribution and use in source and binary forms, with or without
~h__CodestreamParser() {}
- Result_t OpenReadFrame(const char* filename, FrameBuffer& FB)
+ Result_t OpenReadFrame(const std::string& filename, FrameBuffer& FB)
{
- ASDCP_TEST_NULL_STR(filename);
m_File.Close();
Result_t result = m_File.OpenRead(filename);
case MRK_QCD:
memset(&PDesc.QuantizationDefault, 0, sizeof(QuantizationDefault_t));
- if ( NextMarker.m_DataSize < 16 )
+ if ( NextMarker.m_DataSize < 3 ) // ( Sqcd = 8 bits, SPqcd = 8 bits ) == 2 bytes, error if not greater
{
- DefaultLogSink().Error("No quantization signaled\n");
+ DefaultLogSink().Error("No quantization signaled. QCD size=%s.\n", NextMarker.m_DataSize);
return RESULT_RAW_FORMAT;
}
// Opens the stream for reading, parses enough data to provide a complete
// set of stream metadata for the MXFWriter below.
ASDCP::Result_t
-ASDCP::JP2K::CodestreamParser::OpenReadFrame(const char* filename, FrameBuffer& FB) const
+ASDCP::JP2K::CodestreamParser::OpenReadFrame(const std::string& filename, FrameBuffer& FB) const
{
const_cast<ASDCP::JP2K::CodestreamParser*>(this)->m_Parser = new h__CodestreamParser;
return m_Parser->OpenReadFrame(filename, FB);