]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/vp56.h
avcodec/alsdec: Discard frames for which no channel could be decoded
[ffmpeg] / libavcodec / vp56.h
index 84b2f6c94bbfab3d32534996b8c92edc2f86d1c6..65cf46870a1b32008de58711690a1eec30b720b5 100644 (file)
@@ -89,6 +89,7 @@ typedef struct VP56RangeCoder {
     const uint8_t *buffer;
     const uint8_t *end;
     unsigned int code_word;
+    int end_reached;
 } VP56RangeCoder;
 
 typedef struct VP56RefDc {
@@ -235,7 +236,9 @@ int ff_vp56_init_range_decoder(VP56RangeCoder *c, const uint8_t *buf, int buf_si
  */
 static av_always_inline int vpX_rac_is_end(VP56RangeCoder *c)
 {
-    return c->end <= c->buffer && c->bits >= 0;
+    if (c->end <= c->buffer && c->bits >= 0)
+        c->end_reached ++;
+    return c->end_reached > 10;
 }
 
 static av_always_inline unsigned int vp56_rac_renorm(VP56RangeCoder *c)