[FFmpeg-cvslog] get_bits: Support max_depth > 2 in GET_RL_VLC_INTERNAL

Kieran Kunhya git at videolan.org
Sun Dec 13 23:57:25 CET 2015


ffmpeg | branch: master | Kieran Kunhya <kierank at ob-encoder.com> | Sun Dec 13 18:01:50 2015 +0000| [906c0b77164e19e3263292eb3f22e20519fda402] | committer: Kieran Kunhya

get_bits: Support max_depth > 2 in GET_RL_VLC_INTERNAL

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=906c0b77164e19e3263292eb3f22e20519fda402
---

 libavcodec/get_bits.h |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/libavcodec/get_bits.h b/libavcodec/get_bits.h
index 0d3db1f..0a61c80 100644
--- a/libavcodec/get_bits.h
+++ b/libavcodec/get_bits.h
@@ -539,6 +539,17 @@ void ff_free_vlc(VLC *vlc);
             index = SHOW_UBITS(name, gb, nb_bits) + level;      \
             level = table[index].level;                         \
             n     = table[index].len;                           \
+            if (max_depth > 2 && n < 0) {                       \
+                LAST_SKIP_BITS(name, gb, nb_bits);              \
+                if (need_update) {                              \
+                    UPDATE_CACHE(name, gb);                     \
+                }                                               \
+                nb_bits = -n;                                   \
+                                                                \
+                index = SHOW_UBITS(name, gb, nb_bits) + level;  \
+                level = table[index].level;                     \
+                n     = table[index].len;                       \
+            }                                                   \
         }                                                       \
         run = table[index].run;                                 \
         SKIP_BITS(name, gb, n);                                 \



More information about the ffmpeg-cvslog mailing list