]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/libdiracdec.c
ARM: NEON optimised vector_fmul_window
[ffmpeg] / libavcodec / libdiracdec.c
index 5054a1cf1a7608c48da7b016058ab0b16f74f2ce..6c6e46708cc6f461ef4ebb84a38b18b520fc7709 100644 (file)
@@ -88,10 +88,12 @@ static int libdirac_decode_frame(AVCodecContext *avccontext,
 
     *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);
@@ -204,5 +206,6 @@ AVCodec libdirac_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"),
 } ;