|
fplayer
C99 Falcon Sequence (fseq) file player for Light-O-Rama hardware (like xLights)
|
FSEQ sequence file encoding function implementations. More...
#include "writer.h"#include <assert.h>#include <stdbool.h>#include <stddef.h>#include <stdlib.h>#include <string.h>#include "tinyfseq.h"#include "fseq/enc.h"#include "std2/errcode.h"#include "std2/fc.h"
Macros | |
| #define | HEADER_SIZE 32 |
| Size of the FSEQ file format header in bytes. | |
| #define | VAR_HEADER_SIZE 4 |
| Size of a FSEQ file format variable header in bytes. | |
Functions | |
| int | fseqWriteHeader (struct FC *fc, const struct tf_header_t *header) |
| Encodes the given header and writes it at the beginning of the file. | |
| int | fseqWriteCompressionBlocks (struct FC *fc, const struct tf_header_t *header, const struct tf_compression_block_t *blocks) |
| Encodes the given compression blocks writes them to the file at the at the end of the format header. | |
| static int | fseqGetVarSectionSize (const struct fseq_var_s *vars, const int count, const bool align, uint16_t *size) |
| Calculates the size in bytes of the variable section according to the given variables. The size is stored in the given pointer. | |
| int | fseqWriteVars (struct FC *fc, const struct tf_header_t *header, const struct fseq_var_s *vars, const int count) |
| Encodes the given variables and writes them to the file after the compression block and channel range tables. | |
| int | fseqRealignHeaderOffsets (struct tf_header_t *header, const struct fseq_var_s *vars, const int count) |
| Re-aligns the offsets in the given header to account for the length of the variable data that will be written to the file. | |
FSEQ sequence file encoding function implementations.
| #define HEADER_SIZE 32 |
Size of the FSEQ file format header in bytes.
| #define VAR_HEADER_SIZE 4 |
Size of a FSEQ file format variable header in bytes.
|
static |
Calculates the size in bytes of the variable section according to the given variables. The size is stored in the given pointer.
| vars | variables to calculate the size of |
| count | number of variables in the array |
| align | whether to align the size to the nearest multiple of 4 |
| size | pointer to store the calculated size |

| int fseqRealignHeaderOffsets | ( | struct tf_header_t * | header, |
| const struct fseq_var_s * | vars, | ||
| int | count ) |
Re-aligns the offsets in the given header to account for the length of the variable data that will be written to the file.
| header | header to update |
| vars | variables to account for |
| count | number of variables in the array |

| int fseqWriteCompressionBlocks | ( | struct FC * | fc, |
| const struct tf_header_t * | header, | ||
| const struct tf_compression_block_t * | blocks ) |
Encodes the given compression blocks writes them to the file at the at the end of the format header.
| fc | target file controller |
| header | header to account for |
| blocks | compression blocks to encode and write |

| int fseqWriteHeader | ( | struct FC * | fc, |
| const struct tf_header_t * | header ) |
Encodes the given header and writes it at the beginning of the file.
| fc | target file controller |
| header | header to encode and write |

| int fseqWriteVars | ( | struct FC * | fc, |
| const struct tf_header_t * | header, | ||
| const struct fseq_var_s * | vars, | ||
| int | count ) |
Encodes the given variables and writes them to the file after the compression block and channel range tables.
| fc | target file controller |
| header | header to account for |
| vars | variables to encode and write |
| count | number of variables in the array |
