*data_size = 0;
- if (buf_size>0)
+ if (buf_size>0) {
/* set data to decode into buffer */
dirac_buffer (p_dirac_params->p_decoder, buf, buf+buf_size);
-
+ if ((buf[4] &0x08) == 0x08 && (buf[4] & 0x03))
+ avccontext->has_b_frames = 1;
+ }
while (1) {
/* parse data and process result */
DecoderState state = dirac_parse (p_dirac_params->p_decoder);
libdirac_decode_close,
libdirac_decode_frame,
CODEC_CAP_DELAY,
- .flush = libdirac_flush
+ .flush = libdirac_flush,
+ .long_name = NULL_IF_CONFIG_SMALL("libdirac Dirac 2.2"),
} ;