-/** Read an 8, 16, or 32 bit entity from a VLC table. */
-#define GET_DATA(v, table, i, size) \
-{\
- const uint8_t *ptr = (const uint8_t *)table + i * size; \
- switch (size) { \
- case 1: \
- v = *(const uint8_t *)ptr; \
- break; \
- case 2: \
- v = *(const uint16_t *)ptr; \
- break; \
- default: \
- v = *(const uint32_t *)ptr; \
- break; \
- } \
+static inline uint32_t get_data(const void *table, int i, int size)
+{
+ const uint8_t *ptr = (const uint8_t *)table + i * size;
+ uint32_t v;
+
+ switch (size) {
+ case 1:
+ v = *(const uint8_t *)ptr;
+ break;
+ case 2:
+ v = *(const uint16_t *)ptr;
+ break;
+ default:
+ v = *(const uint32_t *)ptr;
+ break;
+ }
+ return v;