|
|
|
@@ -38,7 +38,7 @@ int ff_h2645_extract_rbsp(const uint8_t *src, int length, |
|
|
|
nal->skipped_bytes = 0; |
|
|
|
#define STARTCODE_TEST \ |
|
|
|
if (i + 2 < length && src[i + 1] == 0 && src[i + 2] <= 3) { \ |
|
|
|
if (src[i + 2] != 3) { \ |
|
|
|
if (src[i + 2] != 3 && src[i + 2] != 0) { \ |
|
|
|
/* startcode, so we must be past the end */ \ |
|
|
|
length = i; \ |
|
|
|
} \ |
|
|
|
@@ -103,7 +103,7 @@ int ff_h2645_extract_rbsp(const uint8_t *src, int length, |
|
|
|
if (src[si + 2] > 3) { |
|
|
|
dst[di++] = src[si++]; |
|
|
|
dst[di++] = src[si++]; |
|
|
|
} else if (src[si] == 0 && src[si + 1] == 0) { |
|
|
|
} else if (src[si] == 0 && src[si + 1] == 0 && src[si + 2] != 0) { |
|
|
|
if (src[si + 2] == 3) { // escape |
|
|
|
dst[di++] = 0; |
|
|
|
dst[di++] = 0; |
|
|
|
|