Expose selected decoder plugin and backend per decoded sample
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- backend-api-design
Línea de trabajo
Start by reading the generic decoder API around nvimgcodecDecoderDecode, nvimgcodecFutureGetProcessingStatus, and nvimgcodecExecutionParams_t, then compare the Python get_decoder_ids() API and the cuCIM workaround described in the issue. Define how per-sample plugin and backend provenance, fallback information, and results after completion should fit the C and Python APIs. Done means callers can query those details for successful and failed samples while preserving generic per-sample dispatch.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Request
Please expose the decoder plugin identifier and backend kind that actually handled each sample submitted through the generic decoder API.
Motivation
Applications that audit heterogeneous decode pipelines need to distinguish GPU-only, hybrid CPU/GPU, and CPU fallback execution without inferring it from the codec, output buffer, or installed extensions. The generic decoder can fall through registered implementations in priority order, and a batch can contain per-sample choices.
Current API boundary
With nvImageCodec 0.9, nvimgcodecDecoderDecode plus nvimgcodecFutureGetProcessingStatus reports only processing status. nvimgcodecExecutionParams_t::backends can constrain backend kinds, but the selected nvimgcodecDecoderDesc_t::id and backend_kind are not returned.
Current documentation also provides plugin enumeration/selection (get_decoder_ids() in Python and plugin selections/framework queries in the newer C API), which is useful for configuration but still does not identify the implementation selected after generic fallback.
Suggested shape
A future/result query returning, for each submitted sample:
- selected decoder plugin ID;
- selected backend kind;
- whether fallback occurred (and optionally rejected candidates/statuses).
The query should remain valid after the decode completes and should work for both success and failure. An equivalent Python result/property would be useful.
Workaround and limitation
cuCIM can create separate generic decoders restricted to one backend kind and probe/decode in an explicit order. That provides truthful backend provenance but changes selection to a caller policy, cannot identify the plugin within that backend, and cannot preserve arbitrary per-sample mixed-backend dispatch in a single batch.
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 164
- Forks
- 26
- Merge medio
- 27 min
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/nvImageCodec
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
NVIDIA/nvImageCodec#65 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
NVIDIA/nvImageCodec#66 · 1 comentario ·
-
nvjpeg2k error 3 (Bad jpeg) on valid JPEG 2000 aerial photos that OpenJPEG and ffmpeg decode identicallyPosiblemente ocupada @mkepa-nv la tomó hace 5 días. Abiertobug
NVIDIA/nvImageCodec#63 · 2 comentarios · 1 asignado ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
NVIDIA/nvImageCodec#60 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NVIDIA/nvImageCodec#59 ·
Todos los issues de NVIDIA/nvImageCodec
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
jupyterlite/jupyterlite#2111 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
databricks/databricks-sql-python#1034 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 3 días
-
Markdown and Astro language servers do not start when the project path contains a non-ASCII character or a spacePosiblemente ocupada @RoiSoleil la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
eclipse-wildwebdeveloper/wildwebdeveloper#2277 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
tauri-apps/plugins-workspace#3780 ·
Los mantenedores suelen responder en 3 días