summaryrefslogtreecommitdiff
path: root/src/JXS_Sequence_Parser.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2021-05-31 10:21:33 -0700
committerjhurst <jhurst@cinecert.com>2021-05-31 10:21:33 -0700
commit8380aef198b34a020e0bc76dcf4b5e97c27da553 (patch)
tree276cf0ce265e742030abb4bdfc2ea18cb60c3a04 /src/JXS_Sequence_Parser.cpp
parentf9d7fbc33aa571c547d916b145712469efd9f4b8 (diff)
JXS support without the legacy PictureDescriptor pattern
Diffstat (limited to 'src/JXS_Sequence_Parser.cpp')
-rw-r--r--src/JXS_Sequence_Parser.cpp29
1 files changed, 10 insertions, 19 deletions
diff --git a/src/JXS_Sequence_Parser.cpp b/src/JXS_Sequence_Parser.cpp
index 38b8de4..331f0e3 100644
--- a/src/JXS_Sequence_Parser.cpp
+++ b/src/JXS_Sequence_Parser.cpp
@@ -31,16 +31,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\brief AS-DCP library, JPEG XS sequence codestream essence reader implementation
*/
-#include <AS_DCP.h>
-#include <AS_DCP_JXS.h>
-#include <KM_fileio.h>
-#include <KM_log.h>
-#include <list>
-#include <string>
-#include <algorithm>
-#include <string.h>
-#include <assert.h>
-
+#include <JXS.h>
using namespace ASDCP;
//------------------------------------------------------------------------------------------
@@ -107,13 +98,10 @@ class ASDCP::JXS::SequenceParser::h__SequenceParser
ASDCP_NO_COPY_CONSTRUCT(h__SequenceParser);
public:
- PictureDescriptor m_PDesc;
+ ASDCP::MXF::GenericPictureEssenceDescriptor m_PDesc;
+ ASDCP::MXF::JPEGXSPictureSubDescriptor m_JxsSubdesc;
- h__SequenceParser() : m_FramesRead(0)
- {
- memset(&m_PDesc, 0, sizeof(m_PDesc));
- m_PDesc.EditRate = Rational(24, 1);
- }
+ h__SequenceParser() : m_FramesRead(0), m_PDesc(&DefaultSMPTEDict()), m_JxsSubdesc(&DefaultSMPTEDict()) {}
~h__SequenceParser()
{
@@ -157,7 +145,7 @@ ASDCP::JXS::SequenceParser::h__SequenceParser::OpenRead()
result = Parser.OpenReadFrame((*m_CurrentFile).c_str(), TmpBuffer);
if (ASDCP_SUCCESS(result))
- result = Parser.FillPictureDescriptor(m_PDesc);
+ result = Parser.FillPictureDescriptor(m_PDesc, m_JxsSubdesc);
// how big is it?
if (ASDCP_SUCCESS(result))
@@ -268,12 +256,15 @@ ASDCP::JXS::SequenceParser::ReadFrame(FrameBuffer& FB) const
//
ASDCP::Result_t
-ASDCP::JXS::SequenceParser::FillPictureDescriptor(PictureDescriptor& PDesc) const
+ASDCP::JXS::SequenceParser::FillPictureDescriptor(
+ ASDCP::MXF::GenericPictureEssenceDescriptor& picture_descriptor,
+ ASDCP::MXF::JPEGXSPictureSubDescriptor& jxs_subdescriptor) const
{
if (m_Parser.empty())
return RESULT_INIT;
- PDesc = m_Parser->m_PDesc;
+ picture_descriptor = m_Parser->m_PDesc;
+ jxs_subdescriptor = m_Parser->m_JxsSubdesc;
return RESULT_OK;
}