Also move the declaration to internal.h, and add restrict qualifiers
to the declaration (as in the implementation), and include config.h
for restrict fallbacks for compilers needing that.

While this function is used from libavformat, no extra ABI
fallback is kept since the ABI hasn't been frozen after the last
major bump yet.
---
 libavcodec/cavsdec.c          |    2 +-
 libavcodec/h264_parser.c      |    3 ++-
 libavcodec/internal.h         |    5 +++++
 libavcodec/mpeg12.c           |    8 ++++----
 libavcodec/mpegvideo.h        |    1 -
 libavcodec/mpegvideo_parser.c |    3 ++-
 libavcodec/utils.c            |    7 +++----
 libavformat/mpegtsenc.c       |    4 ++--
 libavformat/rtpenc_mpv.c      |    4 ++--
 9 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c
index b19f090..c2c6772 100644
--- a/libavcodec/cavsdec.c
+++ b/libavcodec/cavsdec.c
@@ -1135,7 +1135,7 @@ static int cavs_decode_frame(AVCodecContext *avctx, void 
*data, int *got_frame,
     buf_ptr = buf;
     buf_end = buf + buf_size;
     for(;;) {
-        buf_ptr = avpriv_mpv_find_start_code(buf_ptr, buf_end, &stc);
+        buf_ptr = avpriv_find_start_code(buf_ptr, buf_end, &stc);
         if ((stc & 0xFFFFFE00) || buf_ptr == buf_end)
             return FFMAX(0, buf_ptr - buf);
         input_size = (buf_end - buf_ptr) * 8;
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index 8c84d43..3c98c84 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -28,6 +28,7 @@
 #include "parser.h"
 #include "h264data.h"
 #include "golomb.h"
+#include "internal.h"
 
 #include <assert.h>
 
@@ -130,7 +131,7 @@ static inline int parse_nal_units(AVCodecParserContext *s,
 
     for(;;) {
         int src_length, dst_length, consumed;
-        buf = avpriv_mpv_find_start_code(buf, buf_end, &state);
+        buf = avpriv_find_start_code(buf, buf_end, &state);
         if(buf >= buf_end)
             break;
         --buf;
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 65437ed..f57bedc 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -30,6 +30,7 @@
 #include "libavutil/mathematics.h"
 #include "libavutil/pixfmt.h"
 #include "avcodec.h"
+#include "config.h"
 
 #define FF_SANE_NB_CHANNELS 63U
 
@@ -161,4 +162,8 @@ int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, 
int flags);
  */
 int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame);
 
+const uint8_t *avpriv_find_start_code(const uint8_t *restrict p,
+                                      const uint8_t *end,
+                                      uint32_t *restrict state);
+
 #endif /* AVCODEC_INTERNAL_H */
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index bd018d3..6008f9c 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -1709,7 +1709,7 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y,
     if (avctx->hwaccel) {
         const uint8_t *buf_end, *buf_start = *buf - 4; /* include start_code */
         int start_code = -1;
-        buf_end = avpriv_mpv_find_start_code(buf_start + 2, *buf + buf_size, 
&start_code);
+        buf_end = avpriv_find_start_code(buf_start + 2, *buf + buf_size, 
&start_code);
         if (buf_end < *buf + buf_size)
             buf_end -= 4;
         s->mb_y = mb_y;
@@ -1901,7 +1901,7 @@ static int slice_decode_thread(AVCodecContext *c, void 
*arg)
             return 0;
 
         start_code = -1;
-        buf = avpriv_mpv_find_start_code(buf, s->gb.buffer_end, &start_code);
+        buf = avpriv_find_start_code(buf, s->gb.buffer_end, &start_code);
         mb_y= (start_code - SLICE_MIN_START_CODE) << field_pic;
         if (s->picture_structure == PICT_BOTTOM_FIELD)
             mb_y++;
@@ -2185,7 +2185,7 @@ int ff_mpeg1_find_frame_end(ParseContext *pc, const 
uint8_t *buf, int buf_size,
             }
             state++;
         } else {
-            i = avpriv_mpv_find_start_code(buf + i, buf + buf_size, &state) - 
buf - 1;
+            i = avpriv_find_start_code(buf + i, buf + buf_size, &state) - buf 
- 1;
             if (pc->frame_start_found == 0 && state >= SLICE_MIN_START_CODE && 
state <= SLICE_MAX_START_CODE) {
                 i++;
                 pc->frame_start_found = 4;
@@ -2229,7 +2229,7 @@ static int decode_chunks(AVCodecContext *avctx,
     for (;;) {
         /* find next start code */
         uint32_t start_code = -1;
-        buf_ptr = avpriv_mpv_find_start_code(buf_ptr, buf_end, &start_code);
+        buf_ptr = avpriv_find_start_code(buf_ptr, buf_end, &start_code);
         if (start_code > 0x1ff) {
             if (s2->pict_type != AV_PICTURE_TYPE_B || avctx->skip_frame <= 
AVDISCARD_DEFAULT) {
                 if (HAVE_THREADS && (avctx->active_thread_type & 
FF_THREAD_SLICE)) {
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index ea08c14..893b0ed 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -800,7 +800,6 @@ int ff_update_duplicate_context(MpegEncContext *dst, 
MpegEncContext *src);
 int ff_MPV_lowest_referenced_row(MpegEncContext *s, int dir);
 void ff_MPV_report_decode_progress(MpegEncContext *s);
 int ff_mpeg_update_thread_context(AVCodecContext *dst, const AVCodecContext 
*src);
-const uint8_t *avpriv_mpv_find_start_code(const uint8_t *p, const uint8_t 
*end, uint32_t *state);
 void ff_set_qscale(MpegEncContext * s, int qscale);
 
 void ff_mpeg_er_frame_start(MpegEncContext *s);
diff --git a/libavcodec/mpegvideo_parser.c b/libavcodec/mpegvideo_parser.c
index 051796e..d215a2f 100644
--- a/libavcodec/mpegvideo_parser.c
+++ b/libavcodec/mpegvideo_parser.c
@@ -22,6 +22,7 @@
 
 #include "parser.h"
 #include "mpegvideo.h"
+#include "internal.h"
 
 struct MpvParseContext {
     ParseContext pc;
@@ -48,7 +49,7 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s,
 
     while (buf < buf_end) {
         start_code= -1;
-        buf= avpriv_mpv_find_start_code(buf, buf_end, &start_code);
+        buf= avpriv_find_start_code(buf, buf_end, &start_code);
         bytes_left = buf_end - buf;
         switch(start_code) {
         case PICTURE_START_CODE:
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index d8ebda6..e64ca11 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -39,7 +39,6 @@
 #include "avcodec.h"
 #include "dsputil.h"
 #include "libavutil/opt.h"
-#include "mpegvideo.h"
 #include "thread.h"
 #include "internal.h"
 #include "bytestream.h"
@@ -2199,9 +2198,9 @@ int avcodec_is_open(AVCodecContext *s)
     return !!s->internal;
 }
 
-const uint8_t *avpriv_mpv_find_start_code(const uint8_t *restrict p,
-                                          const uint8_t *end,
-                                          uint32_t * restrict state)
+const uint8_t *avpriv_find_start_code(const uint8_t *restrict p,
+                                      const uint8_t *end,
+                                      uint32_t * restrict state)
 {
     int i;
 
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index 3ed5e62..8efd93e 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -25,7 +25,7 @@
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mathematics.h"
 #include "libavutil/opt.h"
-#include "libavcodec/mpegvideo.h"
+#include "libavcodec/internal.h"
 #include "avformat.h"
 #include "internal.h"
 #include "mpegts.h"
@@ -1020,7 +1020,7 @@ static int mpegts_write_packet_internal(AVFormatContext 
*s, AVPacket *pkt)
         }
 
         do {
-            p = avpriv_mpv_find_start_code(p, buf_end, &state);
+            p = avpriv_find_start_code(p, buf_end, &state);
             av_dlog(s, "nal %d\n", state & 0x1f);
         } while (p < buf_end && (state & 0x1f) != 9 &&
                  (state & 0x1f) != 5 && (state & 0x1f) != 1);
diff --git a/libavformat/rtpenc_mpv.c b/libavformat/rtpenc_mpv.c
index 37dedc3..70248c4 100644
--- a/libavformat/rtpenc_mpv.c
+++ b/libavformat/rtpenc_mpv.c
@@ -20,7 +20,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavcodec/mpegvideo.h"
+#include "libavcodec/internal.h"
 #include "avformat.h"
 #include "rtpenc.h"
 
@@ -56,7 +56,7 @@ void ff_rtp_send_mpegvideo(AVFormatContext *s1, const uint8_t 
*buf1, int size)
             r1 = buf1;
             while (1) {
                 start_code = -1;
-                r = avpriv_mpv_find_start_code(r1, end, &start_code);
+                r = avpriv_find_start_code(r1, end, &start_code);
                 if((start_code & 0xFFFFFF00) == 0x100) {
                     /* New start code found */
                     if (start_code == 0x100) {
-- 
1.7.9.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to