[FFmpeg-cvslog] h264_mp4toannexb: Consistently use pointer comparisons

Andreas Rheinhardt git at videolan.org
Fri Mar 6 02:00:19 EET 2020


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Sat Dec 14 23:19:22 2019 +0100| [84c87e41a68dc4164a2a130504cd9c5b4413b744] | committer: Michael Niedermayer

h264_mp4toannexb: Consistently use pointer comparisons

h264_mp4toannexb_filter currently uses both indices/offsets as well as
direct pointers comparisons for the checks whether one has reached or
even surpassed the end. This commit removes the offsets.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=84c87e41a68dc4164a2a130504cd9c5b4413b744
---

 libavcodec/h264_mp4toannexb_bsf.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c
index c28e02ae55..1505ee1c3d 100644
--- a/libavcodec/h264_mp4toannexb_bsf.c
+++ b/libavcodec/h264_mp4toannexb_bsf.c
@@ -176,10 +176,8 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out)
     AVPacket *in;
     uint8_t unit_type;
     int32_t nal_size;
-    uint32_t cumul_size    = 0;
     const uint8_t *buf;
     const uint8_t *buf_end;
-    int            buf_size;
     int ret = 0, i;
 
     ret = ff_bsf_get_packet(ctx, &in);
@@ -194,7 +192,6 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out)
     }
 
     buf      = in->data;
-    buf_size = in->size;
     buf_end  = in->data + in->size;
 
     do {
@@ -262,8 +259,7 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out)
             }
 
         buf        += nal_size;
-        cumul_size += nal_size + s->length_size;
-    } while (cumul_size < buf_size);
+    } while (buf < buf_end);
 
     ret = av_packet_copy_props(out, in);
     if (ret < 0)



More information about the ffmpeg-cvslog mailing list