Sunshine latest
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
11typedef struct _reed_solomon reed_solomon;
12
13typedef reed_solomon *(*reed_solomon_new_t)(int data_shards, int parity_shards);
14typedef void (*reed_solomon_release_t)(reed_solomon *rs);
15typedef int (*reed_solomon_encode_t)(reed_solomon *rs, uint8_t **shards, int nr_shards, int bs);
16typedef int (*reed_solomon_decode_t)(reed_solomon *rs, uint8_t **shards, uint8_t *marks, int nr_shards, int bs);
17
18extern reed_solomon_new_t reed_solomon_new_fn;
19extern reed_solomon_release_t reed_solomon_release_fn;
20extern reed_solomon_encode_t reed_solomon_encode_fn;
21extern reed_solomon_decode_t reed_solomon_decode_fn;
22
23#define reed_solomon_new reed_solomon_new_fn
24#define reed_solomon_release reed_solomon_release_fn
25#define reed_solomon_encode reed_solomon_encode_fn
26#define reed_solomon_decode reed_solomon_decode_fn
27
void reed_solomon_init(void)
This initializes the RS function pointers to the best vectorized version available.