#define MAX_DPCM (127*127)
-typedef struct
-{
+typedef struct ROQDPCMContext {
short lastSample[2];
int input_frames;
int buffered_samples;
context->input_frames++;
return 0;
}
- in = context->frame_buffer;
}
+ if (context->input_frames < 8)
+ in = context->frame_buffer;
if (stereo) {
context->lastSample[0] &= 0xFF00;
context->lastSample[1] &= 0xFF00;
}
- if (context->input_frames == 7 || !in)
+ if (context->input_frames == 7)
data_size = avctx->channels * context->buffered_samples;
else
data_size = avctx->channels * avctx->frame_size;
AVCodec ff_roq_dpcm_encoder = {
.name = "roq_dpcm",
+ .long_name = NULL_IF_CONFIG_SMALL("id RoQ DPCM"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_ROQ_DPCM,
.priv_data_size = sizeof(ROQDPCMContext),
.init = roq_dpcm_encode_init,
.encode2 = roq_dpcm_encode_frame,
.close = roq_dpcm_encode_close,
- .capabilities = CODEC_CAP_DELAY,
+ .capabilities = AV_CODEC_CAP_DELAY,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE },
- .long_name = NULL_IF_CONFIG_SMALL("id RoQ DPCM"),
};