[FFmpeg-devel] [PATCH v2 10/14] h264_mp4toannexb: Consistently use pointer comparisons

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Sun Dec 15 00:19:22 EET 2019


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>
---
 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)
-- 
2.20.1



More information about the ffmpeg-devel mailing list