OpenJPH
Open-source implementation of JPEG2000 Part-15
test_executables.cpp File Reference
#include <array>
#include <string>
#include "ojph_arch.h"
#include "gtest/gtest.h"

Go to the source code of this file.

Macros

#define SRC_FILE_DIR   "./jp2k_test_codestreams/openjph/"
 
#define OUT_FILE_DIR   "./"
 
#define REF_FILE_DIR   "./jp2k_test_codestreams/openjph/references/"
 
#define MSE_PAE_PATH   "./mse_pae"
 
#define COMPARE_FILES_PATH   "./compare_files"
 
#define EXPAND_EXECUTABLE   "../../bin/ojph_expand"
 
#define COMPRESS_EXECUTABLE   "../../bin/ojph_compress"
 
#define TOL_DOUBLE   0.01
 
#define TOL_INTEGER   1
 

Functions

static FILE * ojph_popen (const char *command, const char *modes)
 
static int ojph_pclose (FILE *stream)
 
static int execute (const std::string &cmd, std::string &result)
 
void run_ojph_compress (const std::string &ref_filename, const std::string &base_filename, const std::string &extended_base_fname, const std::string &out_ext, const std::string &extra_options)
 
void run_ojph_expand (const std::string &base_filename, const std::string &src_ext, const std::string &out_ext)
 
void run_ojph_compress_expand (const std::string &base_filename, const std::string &out_ext, const std::string &decode_ext)
 
void run_mse_pae (const std::string &base_filename, const std::string &out_ext, const std::string &ref_filename, const std::string &yuv_specs, int num_components, double *mse, int *pae)
 
void compare_files (const std::string &base_filename, const std::string &extended_base_fname, const std::string &ext)
 
 TEST (TestExecutables, OpenJPHCompressNoArguments)
 
 TEST (TestExecutables, OpenJPHExpandNoArguments)
 
 TEST (TestExecutables, SimpleDecIrv9764x64)
 
 TEST (TestExecutables, SimpleDecIrv9732x32)
 
 TEST (TestExecutables, SimpleDecIrv9716x16)
 
 TEST (TestExecutables, SimpleDecIrv974x4)
 
 TEST (TestExecutables, SimpleDecIrv971024x4)
 
 TEST (TestExecutables, SimpleDecIrv974x1024)
 
 TEST (TestExecutables, SimpleDecIrv97512x8)
 
 TEST (TestExecutables, SimpleDecIrv978x512)
 
 TEST (TestExecutables, SimpleDecIrv97256x16)
 
 TEST (TestExecutables, SimpleDecIrv9716x256)
 
 TEST (TestExecutables, SimpleDecIrv97128x32)
 
 TEST (TestExecutables, SimpleDecIrv9732x128)
 
 TEST (TestExecutables, SimpleDecRev5364x64)
 
 TEST (TestExecutables, SimpleDecRev5332x32)
 
 TEST (TestExecutables, SimpleDecRev534x4)
 
 TEST (TestExecutables, SimpleDecRev531024x4)
 
 TEST (TestExecutables, SimpleDecRev534x1024)
 
 TEST (TestExecutables, SimpleDecIrv9764x64Yuv)
 
 TEST (TestExecutables, SimpleDecRev5364x64Yuv)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesYuv)
 
 TEST (TestExecutables, SimpleDecRev5364x64TilesYuv)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesLRCP)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesRLCP)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesRPCL)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesPCRL)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesCPRL)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesLRCP33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesRLCP33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesRPCL33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesPCRL33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesCPRL33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesLRCP33x33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesRLCP33x33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesRPCL33x33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesPCRL33x33)
 
 TEST (TestExecutables, SimpleDecIrv9764x64TilesCPRL33x33)
 
 TEST (TestExecutables, SimpleDecRev5364x64GrayTiles)
 
 TEST (TestExecutables, SimpleDecIrv9764x64GrayTiles)
 
 TEST (TestExecutables, SimpleDecIrv9764x6416bit)
 
 TEST (TestExecutables, SimpleDecIrv9764x6416bitGray)
 
 TEST (TestExecutables, SimpleDecRev5364x6416bit)
 
 TEST (TestExecutables, SimpleDecRev5364x6416bitGray)
 
 TEST (TestExecutables, SimpleEncIrv9764x64)
 
 TEST (TestExecutables, SimpleEncIrv9732x32)
 
 TEST (TestExecutables, SimpleEncIrv9716x16)
 
 TEST (TestExecutables, SimpleEncIrv974x4)
 
 TEST (TestExecutables, SimpleEncIrv971024x4)
 
 TEST (TestExecutables, SimpleEncIrv974x1024)
 
 TEST (TestExecutables, SimpleEncIrv97512x8)
 
 TEST (TestExecutables, SimpleEncIrv978x512)
 
 TEST (TestExecutables, SimpleEncIrv97256x16)
 
 TEST (TestExecutables, SimpleEncIrv9716x256)
 
 TEST (TestExecutables, SimpleEncIrv97128x32)
 
 TEST (TestExecutables, SimpleEncIrv9732x128)
 
 TEST (TestExecutables, SimpleEncIrv9764x6416bit)
 
 TEST (TestExecutables, SimpleEncIrv9764x6416bitGray)
 
 TEST (TestExecutables, SimpleEncRev5364x6416bit)
 
 TEST (TestExecutables, SimpleEncRev5364x6416bitGray)
 
 TEST (TestExecutables, SimpleEncRev5364x64)
 
 TEST (TestExecutables, SimpleEncRev5332x32)
 
 TEST (TestExecutables, SimpleEncRev534x4)
 
 TEST (TestExecutables, SimpleEncRev531024x4)
 
 TEST (TestExecutables, SimpleEncRev534x1024)
 
 TEST (TestExecutables, SimpleEncIrv9764x64Yuv)
 
 TEST (TestExecutables, SimpleEncRev5364x64Yuv)
 
 TEST (TestExecutables, SimpleEncIrv97TallNarrow)
 
 TEST (TestExecutables, SimpleEncIrv97TallNarrow1)
 
 TEST (TestExecutables, SimpleEncRev53TallNarrow)
 
 TEST (TestExecutables, SimpleEncRev53TallNarrow1)
 
 TEST (TestExecutables, DpxEnc1280x72010bitLeNuke11)
 
 TEST (TestExecutables, DpxEnc1280x72010bitBeNuke11)
 
 TEST (TestExecutables, DpxEnc1280x72016bitLeNuke11)
 
 TEST (TestExecutables, DpxEnc1280x72016bitBeNuke11)
 
 TEST (TestExecutables, DpxEnc1280x72010bitResolve18)
 
 TEST (TestExecutables, DpxEnc1280x72016bitResolve18)
 
int main (int argc, char **argv)
 

Macro Definition Documentation

◆ COMPARE_FILES_PATH

#define COMPARE_FILES_PATH   "./compare_files"

Definition at line 109 of file test_executables.cpp.

◆ COMPRESS_EXECUTABLE

#define COMPRESS_EXECUTABLE   "../../bin/ojph_compress"

Definition at line 111 of file test_executables.cpp.

◆ EXPAND_EXECUTABLE

#define EXPAND_EXECUTABLE   "../../bin/ojph_expand"

Definition at line 110 of file test_executables.cpp.

◆ MSE_PAE_PATH

#define MSE_PAE_PATH   "./mse_pae"

Definition at line 108 of file test_executables.cpp.

◆ OUT_FILE_DIR

#define OUT_FILE_DIR   "./"

Definition at line 106 of file test_executables.cpp.

◆ REF_FILE_DIR

#define REF_FILE_DIR   "./jp2k_test_codestreams/openjph/references/"

Definition at line 107 of file test_executables.cpp.

◆ SRC_FILE_DIR

#define SRC_FILE_DIR   "./jp2k_test_codestreams/openjph/"

Definition at line 105 of file test_executables.cpp.

◆ TOL_DOUBLE

#define TOL_DOUBLE   0.01

Definition at line 113 of file test_executables.cpp.

◆ TOL_INTEGER

#define TOL_INTEGER   1

Definition at line 114 of file test_executables.cpp.

Function Documentation

◆ compare_files()

void compare_files ( const std::string &  base_filename,
const std::string &  extended_base_fname,
const std::string &  ext 
)

◆ execute()

static int execute ( const std::string &  cmd,
std::string &  result 
)
static

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 1364 of file test_executables.cpp.

◆ ojph_pclose()

static int ojph_pclose ( FILE *  stream)
inlinestatic

Definition at line 60 of file test_executables.cpp.

Referenced by execute().

◆ ojph_popen()

static FILE * ojph_popen ( const char *  command,
const char *  modes 
)
inlinestatic

Definition at line 47 of file test_executables.cpp.

Referenced by execute().

◆ run_mse_pae()

void run_mse_pae ( const std::string &  base_filename,
const std::string &  out_ext,
const std::string &  ref_filename,
const std::string &  yuv_specs,
int  num_components,
double *  mse,
int *  pae 
)

Definition at line 180 of file test_executables.cpp.

References ojph::error, execute(), MSE_PAE_PATH, OUT_FILE_DIR, REF_FILE_DIR, TOL_DOUBLE, and TOL_INTEGER.

Referenced by TEST().

◆ run_ojph_compress()

void run_ojph_compress ( const std::string &  ref_filename,
const std::string &  base_filename,
const std::string &  extended_base_fname,
const std::string &  out_ext,
const std::string &  extra_options 
)

Definition at line 119 of file test_executables.cpp.

References COMPRESS_EXECUTABLE, ojph::error, execute(), OUT_FILE_DIR, and REF_FILE_DIR.

Referenced by TEST().

◆ run_ojph_compress_expand()

void run_ojph_compress_expand ( const std::string &  base_filename,
const std::string &  out_ext,
const std::string &  decode_ext 
)

Definition at line 161 of file test_executables.cpp.

References ojph::error, execute(), EXPAND_EXECUTABLE, and OUT_FILE_DIR.

Referenced by TEST().

◆ run_ojph_expand()

void run_ojph_expand ( const std::string &  base_filename,
const std::string &  src_ext,
const std::string &  out_ext 
)

Definition at line 142 of file test_executables.cpp.

References ojph::error, execute(), EXPAND_EXECUTABLE, OUT_FILE_DIR, and SRC_FILE_DIR.

Referenced by TEST().

◆ TEST() [1/77]

TEST ( TestExecutables  ,
DpxEnc1280x72010bitBeNuke11   
)

◆ TEST() [2/77]

TEST ( TestExecutables  ,
DpxEnc1280x72010bitLeNuke11   
)

◆ TEST() [3/77]

TEST ( TestExecutables  ,
DpxEnc1280x72010bitResolve18   
)

◆ TEST() [4/77]

TEST ( TestExecutables  ,
DpxEnc1280x72016bitBeNuke11   
)

◆ TEST() [5/77]

TEST ( TestExecutables  ,
DpxEnc1280x72016bitLeNuke11   
)

◆ TEST() [6/77]

TEST ( TestExecutables  ,
DpxEnc1280x72016bitResolve18   
)

◆ TEST() [7/77]

TEST ( TestExecutables  ,
OpenJPHCompressNoArguments   
)

Definition at line 247 of file test_executables.cpp.

References COMPRESS_EXECUTABLE, ojph::error, and execute().

◆ TEST() [8/77]

TEST ( TestExecutables  ,
OpenJPHExpandNoArguments   
)

Definition at line 259 of file test_executables.cpp.

References ojph::error, execute(), and EXPAND_EXECUTABLE.

◆ TEST() [9/77]

TEST ( TestExecutables  ,
SimpleDecIrv971024x4   
)

Definition at line 325 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [10/77]

TEST ( TestExecutables  ,
SimpleDecIrv97128x32   
)

Definition at line 397 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [11/77]

TEST ( TestExecutables  ,
SimpleDecIrv9716x16   
)

Definition at line 301 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [12/77]

TEST ( TestExecutables  ,
SimpleDecIrv9716x256   
)

Definition at line 385 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [13/77]

TEST ( TestExecutables  ,
SimpleDecIrv97256x16   
)

Definition at line 373 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [14/77]

TEST ( TestExecutables  ,
SimpleDecIrv9732x128   
)

Definition at line 409 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [15/77]

TEST ( TestExecutables  ,
SimpleDecIrv9732x32   
)

Definition at line 289 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [16/77]

TEST ( TestExecutables  ,
SimpleDecIrv974x1024   
)

Definition at line 337 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [17/77]

TEST ( TestExecutables  ,
SimpleDecIrv974x4   
)

Definition at line 313 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [18/77]

TEST ( TestExecutables  ,
SimpleDecIrv97512x8   
)

Definition at line 349 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [19/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64   
)

Definition at line 277 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [20/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x6416bit   
)

Definition at line 781 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [21/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x6416bitGray   
)

Definition at line 793 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [22/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64GrayTiles   
)

Definition at line 769 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [23/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesCPRL   
)

Definition at line 603 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [24/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesCPRL33   
)

Definition at line 673 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [25/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesCPRL33x33   
)

Definition at line 743 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [26/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesLRCP   
)

Definition at line 547 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [27/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesLRCP33   
)

Definition at line 617 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [28/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesLRCP33x33   
)

Definition at line 687 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [29/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesPCRL   
)

Definition at line 589 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [30/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesPCRL33   
)

Definition at line 659 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [31/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesPCRL33x33   
)

Definition at line 729 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [32/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesRLCP   
)

Definition at line 561 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [33/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesRLCP33   
)

Definition at line 631 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [34/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesRLCP33x33   
)

Definition at line 701 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [35/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesRPCL   
)

Definition at line 575 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [36/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesRPCL33   
)

Definition at line 645 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [37/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesRPCL33x33   
)

Definition at line 715 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [38/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64TilesYuv   
)

Definition at line 518 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [39/77]

TEST ( TestExecutables  ,
SimpleDecIrv9764x64Yuv   
)

Definition at line 488 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [40/77]

TEST ( TestExecutables  ,
SimpleDecIrv978x512   
)

Definition at line 361 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [41/77]

TEST ( TestExecutables  ,
SimpleDecRev531024x4   
)

Definition at line 460 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [42/77]

TEST ( TestExecutables  ,
SimpleDecRev5332x32   
)

Definition at line 434 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [43/77]

TEST ( TestExecutables  ,
SimpleDecRev534x1024   
)

Definition at line 473 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [44/77]

TEST ( TestExecutables  ,
SimpleDecRev534x4   
)

Definition at line 447 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [45/77]

TEST ( TestExecutables  ,
SimpleDecRev5364x64   
)

Definition at line 421 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [46/77]

TEST ( TestExecutables  ,
SimpleDecRev5364x6416bit   
)

Definition at line 805 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [47/77]

TEST ( TestExecutables  ,
SimpleDecRev5364x6416bitGray   
)

Definition at line 818 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [48/77]

TEST ( TestExecutables  ,
SimpleDecRev5364x64GrayTiles   
)

Definition at line 756 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [49/77]

TEST ( TestExecutables  ,
SimpleDecRev5364x64TilesYuv   
)

Definition at line 533 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [50/77]

TEST ( TestExecutables  ,
SimpleDecRev5364x64Yuv   
)

Definition at line 503 of file test_executables.cpp.

References run_mse_pae(), and run_ojph_expand().

◆ TEST() [51/77]

TEST ( TestExecutables  ,
SimpleEncIrv971024x4   
)

◆ TEST() [52/77]

TEST ( TestExecutables  ,
SimpleEncIrv97128x32   
)

◆ TEST() [53/77]

TEST ( TestExecutables  ,
SimpleEncIrv9716x16   
)

◆ TEST() [54/77]

TEST ( TestExecutables  ,
SimpleEncIrv9716x256   
)

◆ TEST() [55/77]

TEST ( TestExecutables  ,
SimpleEncIrv97256x16   
)

◆ TEST() [56/77]

TEST ( TestExecutables  ,
SimpleEncIrv9732x128   
)

◆ TEST() [57/77]

TEST ( TestExecutables  ,
SimpleEncIrv9732x32   
)

◆ TEST() [58/77]

TEST ( TestExecutables  ,
SimpleEncIrv974x1024   
)

◆ TEST() [59/77]

TEST ( TestExecutables  ,
SimpleEncIrv974x4   
)

◆ TEST() [60/77]

TEST ( TestExecutables  ,
SimpleEncIrv97512x8   
)

◆ TEST() [61/77]

TEST ( TestExecutables  ,
SimpleEncIrv9764x64   
)

◆ TEST() [62/77]

TEST ( TestExecutables  ,
SimpleEncIrv9764x6416bit   
)

◆ TEST() [63/77]

TEST ( TestExecutables  ,
SimpleEncIrv9764x6416bitGray   
)

◆ TEST() [64/77]

TEST ( TestExecutables  ,
SimpleEncIrv9764x64Yuv   
)

◆ TEST() [65/77]

TEST ( TestExecutables  ,
SimpleEncIrv978x512   
)

◆ TEST() [66/77]

TEST ( TestExecutables  ,
SimpleEncIrv97TallNarrow   
)

◆ TEST() [67/77]

TEST ( TestExecutables  ,
SimpleEncIrv97TallNarrow1   
)

◆ TEST() [68/77]

TEST ( TestExecutables  ,
SimpleEncRev531024x4   
)

◆ TEST() [69/77]

TEST ( TestExecutables  ,
SimpleEncRev5332x32   
)

◆ TEST() [70/77]

TEST ( TestExecutables  ,
SimpleEncRev534x1024   
)

◆ TEST() [71/77]

TEST ( TestExecutables  ,
SimpleEncRev534x4   
)

◆ TEST() [72/77]

TEST ( TestExecutables  ,
SimpleEncRev5364x64   
)

◆ TEST() [73/77]

TEST ( TestExecutables  ,
SimpleEncRev5364x6416bit   
)

◆ TEST() [74/77]

TEST ( TestExecutables  ,
SimpleEncRev5364x6416bitGray   
)

◆ TEST() [75/77]

TEST ( TestExecutables  ,
SimpleEncRev5364x64Yuv   
)

◆ TEST() [76/77]

TEST ( TestExecutables  ,
SimpleEncRev53TallNarrow   
)

◆ TEST() [77/77]

TEST ( TestExecutables  ,
SimpleEncRev53TallNarrow1   
)