[FFmpeg-cvslog] Move get_avc_nalsize() and find_start_code() to h264.h
Michael Niedermayer
git at videolan.org
Sat Nov 1 17:12:54 CET 2014
ffmpeg | branch: release/2.3 | Michael Niedermayer <michaelni at gmx.at> | Mon Oct 27 04:22:42 2014 +0100| [ab43652c67a47d3c26b7a19510fd910eb42fbe61] | committer: Carl Eugen Hoyos
Move get_avc_nalsize() and find_start_code() to h264.h
This allows sharing them with the h264 parser
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 4898440f6bd19152373969159fff057b532c6374)
Conflicts:
libavcodec/h264.c
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ab43652c67a47d3c26b7a19510fd910eb42fbe61
---
libavcodec/h264.c | 37 -------------------------------------
libavcodec/h264.h | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 99a5577..297d498 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1330,43 +1330,6 @@ int ff_set_ref_count(H264Context *h)
static const uint8_t start_code[] = { 0x00, 0x00, 0x01 };
-static int find_start_code(const uint8_t *buf, int buf_size,
- int buf_index, int next_avc)
-{
- // start code prefix search
- for (; buf_index + 3 < next_avc; buf_index++)
- // This should always succeed in the first iteration.
- if (buf[buf_index] == 0 &&
- buf[buf_index + 1] == 0 &&
- buf[buf_index + 2] == 1)
- break;
-
- buf_index += 3;
-
- if (buf_index >= buf_size)
- return buf_size;
-
- return buf_index;
-}
-
-static int get_avc_nalsize(H264Context *h, const uint8_t *buf,
- int buf_size, int *buf_index)
-{
- int i, nalsize = 0;
-
- if (*buf_index >= buf_size - h->nal_length_size)
- return -1;
-
- for (i = 0; i < h->nal_length_size; i++)
- nalsize = (nalsize << 8) | buf[(*buf_index)++];
- if (nalsize <= 0 || nalsize > buf_size - *buf_index) {
- av_log(h->avctx, AV_LOG_ERROR,
- "AVC: nal size %d\n", nalsize);
- return -1;
- }
- return nalsize;
-}
-
static int get_bit_length(H264Context *h, const uint8_t *buf,
const uint8_t *ptr, int dst_length,
int i, int next_avc)
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 7a6a652..9083026 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -1092,6 +1092,43 @@ static av_always_inline int get_dct8x8_allowed(H264Context *h)
0x0001000100010001ULL));
}
+static inline int find_start_code(const uint8_t *buf, int buf_size,
+ int buf_index, int next_avc)
+{
+ // start code prefix search
+ for (; buf_index + 3 < next_avc; buf_index++)
+ // This should always succeed in the first iteration.
+ if (buf[buf_index] == 0 &&
+ buf[buf_index + 1] == 0 &&
+ buf[buf_index + 2] == 1)
+ break;
+
+ buf_index += 3;
+
+ if (buf_index >= buf_size)
+ return buf_size;
+
+ return buf_index;
+}
+
+static inline int get_avc_nalsize(H264Context *h, const uint8_t *buf,
+ int buf_size, int *buf_index)
+{
+ int i, nalsize = 0;
+
+ if (*buf_index >= buf_size - h->nal_length_size)
+ return -1;
+
+ for (i = 0; i < h->nal_length_size; i++)
+ nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++];
+ if (nalsize <= 0 || nalsize > buf_size - *buf_index) {
+ av_log(h->avctx, AV_LOG_ERROR,
+ "AVC: nal size %d\n", nalsize);
+ return -1;
+ }
+ return nalsize;
+}
+
int ff_h264_field_end(H264Context *h, int in_setup);
int ff_h264_ref_picture(H264Context *h, H264Picture *dst, H264Picture *src);
More information about the ffmpeg-cvslog
mailing list