IO Module ========= The ``spdl.io`` module is a stand-alone module that implements efficient loading of data into array formats. It is mainly designed for AI training/inference running in the cloud. It supports converting various data formats in byte strings (downloaded from remote storage) into array format, and transferring it to GPU without interrupting the model computation on GPU. The module can decode images and videos into various color formats (RGB, YUV420p, NV12, etc.) to support different use cases and optimize memory usage for specific applications. See :doc:`color_space` for the supported pixel formats and how to select them. The following diagram illustrates this workflow: .. mermaid:: flowchart subgraph C[Compute Node] direction LR b(Binary String (video, audio, image, NumPy etc...)) c(CPU array) subgraph G[GPU] g(GPU array) end b e1@<==> |Decoding| c c e2@<==> |Transfer| g e1@{ animation: slow } e2@{ animation: slow } end The IO module contains efficient implementations for commonly used formats. This section provides detailed documentation on how to use these implementations. .. toctree:: :maxdepth: 2 basic decoding_overview packets_frames_concepts filtering color_space advanced_filtering streaming_decoding gpu_decoding numpy_arrays encoding ffmpeg_cheatsheet