Skip to content

Commit d8f4e59

Browse files
author
Grok Compression
committed
grok.h: update
1 parent 21b15d3 commit d8f4e59

28 files changed

+319
-154
lines changed

bindings/rust/examples/initialize_grok.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,8 @@ fn cleanup(grk_cparameters: *mut _grk_cparameters) {
4646

4747
fn initialize_grk() -> Result<(), GrokError> {
4848
let num_threads = 0; // Pass 0 for number of worker threads
49-
let verbose = true; // Example: set verbose to true
50-
5149
unsafe {
52-
grk_initialize(ptr::null(), num_threads, verbose);
50+
grk_initialize(ptr::null(), num_threads);
5351
}
5452

5553
Ok(())

examples/core/core_compress.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
8080
bool useCallbacks = true;
8181

8282
// initialize library
83-
grk_initialize(nullptr, 0, true);
83+
grk_initialize(nullptr, 0);
8484

8585
grk_stream_params streamParams = {};
8686
WriteStreamInfo sinfo(&streamParams);

examples/core/core_decompress.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
155155
grk_object* codec = nullptr;
156156

157157
// initialize library
158-
grk_initialize(nullptr, 0, true);
158+
grk_initialize(nullptr, 0);
159159

160160
// create j2k file stream
161161
inputFileStr = inputFilePath.c_str();

src/lib/codec/common/common.cpp

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#define strcasecmp _stricmp
2828
#endif
2929

30-
#include "spdlog/spdlog.h"
3130
#include "common.h"
3231

3332
namespace grk
@@ -387,5 +386,70 @@ void infoCallback(const char* msg, [[maybe_unused]] void* client_data)
387386
{
388387
spdlog::default_logger()->info(msg);
389388
}
389+
void debugCallback(const char* msg, [[maybe_unused]] void* client_data)
390+
{
391+
spdlog::default_logger()->debug(msg);
392+
}
393+
394+
void traceCallback(const char* msg, [[maybe_unused]] void* client_data)
395+
{
396+
spdlog::default_logger()->trace(msg);
397+
}
398+
399+
400+
// Configuration function
401+
void configureLogging(const std::string& logfile) {
402+
// Step 1: Set up the logger
403+
std::shared_ptr<spdlog::logger> logger;
404+
if (!logfile.empty()) {
405+
logger = spdlog::basic_logger_mt("grk", logfile); // File logger
406+
} else {
407+
// Console logger with color
408+
auto sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
409+
logger = std::make_shared<spdlog::logger>("grk", sink);
410+
}
411+
spdlog::set_default_logger(logger);
412+
413+
// Step 2: Determine log level
414+
spdlog::level::level_enum log_level = spdlog::level::err; // Default to errors only
415+
416+
const char* debug_env = std::getenv("GRK_DEBUG");
417+
if (debug_env) {
418+
int level = std::atoi(debug_env);
419+
switch (level) {
420+
case 0: log_level = spdlog::level::off; break;
421+
case 1: log_level = spdlog::level::err; break;
422+
case 2: log_level = spdlog::level::warn; break;
423+
case 3: log_level = spdlog::level::info; break;
424+
case 4: log_level = spdlog::level::debug; break;
425+
case 5: log_level = spdlog::level::trace; break;
426+
default:
427+
if (level > 5) log_level = spdlog::level::trace; // Cap at trace
428+
break;
429+
}
430+
} else {
431+
log_level = spdlog::level::off;
432+
}
433+
spdlog::set_level(log_level);
434+
spdlog::set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%^%l%$] %v");
435+
436+
// Step 3: Set up grk_msg_handlers
437+
grk_msg_handlers handlers = {
438+
infoCallback,
439+
nullptr,
440+
debugCallback,
441+
nullptr,
442+
traceCallback,
443+
nullptr,
444+
warningCallback,
445+
nullptr,
446+
errorCallback, // Always active
447+
nullptr
448+
};
449+
450+
grk_set_msg_handlers(handlers);
451+
452+
}
453+
390454

391455
} // namespace grk

src/lib/codec/common/common.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@
3232
#endif /* _WIN32 */
3333
#include <chrono>
3434

35+
36+
#pragma GCC diagnostic push
37+
#pragma GCC diagnostic ignored "-Wsign-conversion"
38+
#include "spdlog/spdlog.h"
39+
#include <spdlog/sinks/basic_file_sink.h> // Required for basic_logger_mt
40+
#include <spdlog/sinks/stdout_color_sinks.h>
41+
#pragma GCC diagnostic pop
42+
43+
3544
#include "grok.h"
3645
#include "Serializer.h"
3746

src/lib/codec/image_format/BMPFormat.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include <cstdio>
2222
#include <cstdlib>
2323
#include "grk_apps_config.h"
24-
#include "spdlog/spdlog.h"
2524
#include "grok.h"
2625
#include "BMPFormat.h"
2726
#include "convert.h"

src/lib/codec/image_format/FileStreamIO.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
*/
1818

1919
#include <FileStreamIO.h>
20-
#include "spdlog/spdlog.h"
2120
#include "common.h"
2221

2322
FileStreamIO::FileStreamIO() : fileHandle_(nullptr) {}

src/lib/codec/image_format/ImageFormat.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
#include "ImageFormat.h"
1818
#include "convert.h"
19-
#include <algorithm>
20-
#include "spdlog/spdlog.h"
2119
#include "common.h"
2220
#include "FileStreamIO.h"
2321

src/lib/codec/image_format/JPEGFormat.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <cstdlib>
1919
#include "grk_apps_config.h"
2020
#include "grok.h"
21-
#include "spdlog/spdlog.h"
2221
#include "JPEGFormat.h"
2322
#include "convert.h"
2423
#include <cstring>

src/lib/codec/image_format/PGXFormat.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include <cstdlib>
3131
#include "grk_apps_config.h"
3232
#include "grok.h"
33-
#include "spdlog/spdlog.h"
3433
#include "PGXFormat.h"
3534
#include "convert.h"
3635
#include <cstring>

0 commit comments

Comments
 (0)