Skip to content

Commit

Permalink
Add avifROStreamSkipBits() (#2438)
Browse files Browse the repository at this point in the history
Rename avifROStreamReadBitsX() to avifROStreamReadBitsUX().
Add avifROStreamReadBitsU16().
Refactor avifParseContentLightLevelInformation() to support unaligned
fields.
  • Loading branch information
y-guyon authored Sep 24, 2024
1 parent fa4eaf9 commit 70862dc
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 102 deletions.
6 changes: 4 additions & 2 deletions include/avif/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -693,8 +693,10 @@ AVIF_NODISCARD avifBool avifROStreamReadBoxHeaderPartial(avifROStream * stream,
AVIF_NODISCARD avifBool avifROStreamReadVersionAndFlags(avifROStream * stream, uint8_t * version, uint32_t * flags); // version and flags ptrs are both optional
AVIF_NODISCARD avifBool avifROStreamReadAndEnforceVersion(avifROStream * stream, uint8_t enforcedVersion); // currently discards flags
// The following functions can read non-aligned bits.
AVIF_NODISCARD avifBool avifROStreamReadBits8(avifROStream * stream, uint8_t * v, size_t bitCount);
AVIF_NODISCARD avifBool avifROStreamReadBits(avifROStream * stream, uint32_t * v, size_t bitCount);
AVIF_NODISCARD avifBool avifROStreamSkipBits(avifROStream * stream, size_t bitCount);
AVIF_NODISCARD avifBool avifROStreamReadBitsU8(avifROStream * stream, uint8_t * v, size_t bitCount);
AVIF_NODISCARD avifBool avifROStreamReadBitsU16(avifROStream * stream, uint16_t * v, size_t bitCount);
AVIF_NODISCARD avifBool avifROStreamReadBitsU32(avifROStream * stream, uint32_t * v, size_t bitCount);

typedef struct avifRWStream
{
Expand Down
Loading

0 comments on commit 70862dc

Please sign in to comment.