|
|
|
@ -300,23 +300,23 @@ static av_cold int pcm_decode_close(AVCodecContext *avctx) |
|
|
|
|
* @param shift Bitshift (bits) |
|
|
|
|
* @param offset Sample value offset |
|
|
|
|
*/ |
|
|
|
|
#define DECODE(size, endian, src, dst, n, shift, offset) \ |
|
|
|
|
for (; n > 0; n--) { \
|
|
|
|
|
uint ## size ## _t v = bytestream_get_ ## endian(&src); \
|
|
|
|
|
AV_WN ## size ## A(dst, (uint ## size ## _t)(v - offset) << shift); \
|
|
|
|
|
dst += size / 8; \
|
|
|
|
|
#define DECODE(size, endian, src, dst, n, shift, offset) \ |
|
|
|
|
for (; n > 0; n--) { \
|
|
|
|
|
uint ## size ## _t v = bytestream_get_ ## endian(&src); \
|
|
|
|
|
AV_WN ## size ## A(dst, (uint ## size ## _t)(v - offset) << shift); \
|
|
|
|
|
dst += size / 8; \
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define DECODE_PLANAR(size, endian, src, dst, n, shift, offset) \ |
|
|
|
|
n /= avctx->channels; \
|
|
|
|
|
for (c = 0; c < avctx->channels; c++) { \
|
|
|
|
|
int i; \
|
|
|
|
|
dst = frame->extended_data[c]; \
|
|
|
|
|
for (i = n; i > 0; i--) { \
|
|
|
|
|
uint ## size ## _t v = bytestream_get_ ## endian(&src); \
|
|
|
|
|
#define DECODE_PLANAR(size, endian, src, dst, n, shift, offset) \ |
|
|
|
|
n /= avctx->channels; \
|
|
|
|
|
for (c = 0; c < avctx->channels; c++) { \
|
|
|
|
|
int i; \
|
|
|
|
|
dst = frame->extended_data[c]; \
|
|
|
|
|
for (i = n; i > 0; i--) { \
|
|
|
|
|
uint ## size ## _t v = bytestream_get_ ## endian(&src); \
|
|
|
|
|
AV_WN ## size ## A(dst, (uint ## size ##_t)(v - offset) << shift); \
|
|
|
|
|
dst += size / 8; \
|
|
|
|
|
} \
|
|
|
|
|
dst += size / 8; \
|
|
|
|
|
} \
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int pcm_decode_frame(AVCodecContext *avctx, void *data, |
|
|
|
|