| 26 | class SequenceParser : public Parser<TensorSequence> { |
| 27 | public: |
| 28 | explicit SequenceParser(const OpSpec& spec) |
| 29 | : Parser<TensorSequence>(spec), image_type_(spec.GetArgument<DALIImageType>("image_type")) { |
| 30 | EnforceMinimumNvimgcodecVersion(); |
| 31 | |
| 32 | nvimgcodecInstanceCreateInfo_t instance_create_info{ |
| 33 | NVIMGCODEC_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, sizeof(nvimgcodecInstanceCreateInfo_t), |
| 34 | nullptr}; |
| 35 | |
| 36 | const char* log_lvl_env = std::getenv("DALI_NVIMGCODEC_LOG_LEVEL"); |
| 37 | int log_lvl = log_lvl_env ? clamp(atoi(log_lvl_env), 1, 5) : 2; |
| 38 | |
| 39 | instance_create_info.load_extension_modules = 1; // loads codecs extensions |
| 40 | instance_create_info.load_builtin_modules = 1; // loads parsers |
| 41 | instance_create_info.extension_modules_path = nullptr; |
| 42 | instance_create_info.create_debug_messenger = 1; |
| 43 | instance_create_info.debug_messenger_desc = nullptr; |
| 44 | instance_create_info.message_severity = imgcodec::verbosity_to_severity(log_lvl); |
| 45 | instance_create_info.message_category = NVIMGCODEC_DEBUG_MESSAGE_CATEGORY_ALL; |
| 46 | instance_ = imgcodec::NvImageCodecInstance::Create(&instance_create_info); |
| 47 | |
| 48 | exec_params_.device_id = NVIMGCODEC_DEVICE_CPU_ONLY; |
| 49 | exec_params_.backends = &backend_; |
| 50 | exec_params_.num_backends = 1; |
| 51 | exec_params_.device_allocator = nullptr; |
| 52 | exec_params_.pinned_allocator = nullptr; |
| 53 | exec_params_.executor = nullptr; |
| 54 | exec_params_.max_num_cpu_threads = 1; |
| 55 | exec_params_.pre_init = 1; |
| 56 | } |
| 57 | |
| 58 | void Parse(const TensorSequence& data, SampleWorkspace* ws) override; |
| 59 |
nothing calls this directly
no test coverage detected