From 5277f25480a290b02c7bfe548c56288fce8404b5 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Mon, 22 Aug 2016 12:05:53 -0400 Subject: [PATCH] vl/rbsp: fix another three byte not detected MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This happens when three byte "00 00 03" is partly loaded to vlc->buffer, thus at the bottom of buffer with valid bits is "00" or "00 00" and left like "00 03" or "03" in the data, so that it will not be detected by three byte emulation check. The reason for that is the escaped bit was set to 0 from the rbsp init. Signed-off-by: Leo Liu Acked-by: Christian König --- src/gallium/auxiliary/vl/vl_rbsp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/vl/vl_rbsp.h b/src/gallium/auxiliary/vl/vl_rbsp.h index c8bebff..160b2f8 100644 --- a/src/gallium/auxiliary/vl/vl_rbsp.h +++ b/src/gallium/auxiliary/vl/vl_rbsp.h @@ -56,7 +56,7 @@ static inline void vl_rbsp_init(struct vl_rbsp *rbsp, struct vl_vlc *nal, unsign /* copy the position */ rbsp->nal = *nal; - rbsp->escaped = 0; + rbsp->escaped = 16; /* search for the end of the NAL unit */ while (vl_vlc_search_byte(nal, num_bits, 0x00)) { -- 2.7.4