diff options
| author | jhurst <jhurst@cinecert.com> | 2005-12-20 01:55:40 +0000 |
|---|---|---|
| committer | jhurst <> | 2005-12-20 01:55:40 +0000 |
| commit | 8095eaa320551b6795d0368c0ad0c227a3167caa (patch) | |
| tree | e522d5137671fffbc8fcc084831b5d8806ef44f2 /src/j2c-test.cpp | |
wheee!
Diffstat (limited to 'src/j2c-test.cpp')
| -rwxr-xr-x | src/j2c-test.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/j2c-test.cpp b/src/j2c-test.cpp new file mode 100755 index 0000000..98c7cf4 --- /dev/null +++ b/src/j2c-test.cpp @@ -0,0 +1,74 @@ + +#include <AS_DCP.h> +#include <FileIO.h> +#include <JP2K.h> +using namespace ASDCP; +using namespace ASDCP::JP2K; + +// +int +main(int argc, const char** argv) +{ + ASDCP::JP2K::FrameBuffer FB; + Marker MyMarker; + + if ( argc < 2 ) + return 1; + + FB.Capacity(1024*1024*2); + CodestreamParser Parser; + + Result_t result = Parser.OpenReadFrame(argv[1], FB); + + if ( result != RESULT_OK ) + { + fputs("Program stopped on error.\n", stderr); + + if ( result != RESULT_FAIL ) + { + fputs(GetResultString(result), stderr); + fputc('\n', stderr); + } + + return 1; + } + + const byte_t* p = FB.RoData(); + const byte_t* end_p = p + FB.Size(); + + hexdump(p, 256, stderr); + + while ( p < end_p && ASDCP_SUCCESS(GetNextMarker(&p, MyMarker)) ) + { + MyMarker.Dump(); + + switch ( MyMarker.m_Type ) + { + case MRK_SOD: + p = end_p; + break; + + case MRK_SIZ: + { + Accessor::SIZ SIZ_(MyMarker); + hexdump(MyMarker.m_Data - 2, MyMarker.m_DataSize + 2, stderr); + SIZ_.Dump(); + } + break; + + case MRK_COM: + { + Accessor::COM COM_(MyMarker); + COM_.Dump(); + } + break; + } + } + + return 0; +} + + +// +// end jp2k-test.cpp +// |
