+ #define copy_data_segment(skip) do { \
+ ptrdiff_t length = (ptr - src) - (skip); \
+ if (length > 0) { \
+ memcpy(dst, src, length); \
+ dst += length; \
+ src = ptr; \
+ } \
+ } while (0)
+
+ if (s->avctx->codec_id == AV_CODEC_ID_THP) {
+ ptr = buf_end;
+ copy_data_segment(0);
+ } else {
+ while (ptr < buf_end) {
+ uint8_t x = *(ptr++);