Sunshine v2026.319.132152
Self-hosted game stream host for Moonlight.
rswrapper.h
Go to the documentation of this file.
1
6#pragma once
7
8// standard includes
9#include <stdint.h>
10
11#define DATA_SHARDS_MAX 255
12
13typedef struct _reed_solomon reed_solomon;
14
15typedef reed_solomon *(*reed_solomon_new_t)(int data_shards, int parity_shards);
16typedef void (*reed_solomon_release_t)(reed_solomon *rs);
17typedef int (*reed_solomon_encode_t)(reed_solomon *rs, uint8_t **shards, int nr_shards, int bs);
18typedef int (*reed_solomon_decode_t)(reed_solomon *rs, uint8_t **shards, uint8_t *marks, int nr_shards, int bs);
19
20extern reed_solomon_new_t reed_solomon_new_fn;
21extern reed_solomon_release_t reed_solomon_release_fn;
22extern reed_solomon_encode_t reed_solomon_encode_fn;
23extern reed_solomon_decode_t reed_solomon_decode_fn;
24
25#define reed_solomon_new reed_solomon_new_fn
26#define reed_solomon_release reed_solomon_release_fn
27#define reed_solomon_encode reed_solomon_encode_fn
28#define reed_solomon_decode reed_solomon_decode_fn
29
void reed_solomon_init(void)
This initializes the RS function pointers to the best vectorized version available.