vl/rbsp: fix another three byte not detected

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 <leo.liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
Leo Liu
2016-08-22 12:05:53 -04:00
parent 2c13abb491
commit 5277f25480

View File

@@ -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)) {