[FFmpeg-devel] [PATCH 2/7] avcodec/cbs_jpeg: Remove redundant counter

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Feb 4 17:16:43 EET 2022


Use -1 as the position in ff_cbs_insert_unit_data()
which implicitly reuses frag->nb_units as the counter.

Also switch to a do-while-loop, as it is more natural
than a for-loop now that the counter is gone.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/cbs_jpeg.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/libavcodec/cbs_jpeg.c b/libavcodec/cbs_jpeg.c
index 7d3e10fcc8..ae263ba038 100644
--- a/libavcodec/cbs_jpeg.c
+++ b/libavcodec/cbs_jpeg.c
@@ -110,7 +110,7 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx,
     AVBufferRef *data_ref;
     uint8_t *data;
     size_t data_size;
-    int unit, start, end, marker, next_start, next_marker;
+    int start, end, marker, next_start, next_marker;
     int err, i, j, length;
 
     if (frag->data_size < 4) {
@@ -144,7 +144,7 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx,
     marker = frag->data[i];
     start  = i + 1;
 
-    for (unit = 0;; unit++) {
+    do {
         if (marker == JPEG_MARKER_EOI) {
             break;
         } else if (marker == JPEG_MARKER_SOS) {
@@ -226,16 +226,14 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx,
             data_ref  = frag->data_ref;
         }
 
-        err = ff_cbs_insert_unit_data(frag, unit, marker,
+        err = ff_cbs_insert_unit_data(frag, -1, marker,
                                       data, data_size, data_ref);
         if (err < 0)
             return err;
 
-        if (next_marker == -1)
-            break;
         marker = next_marker;
         start  = next_start;
-    }
+    } while (next_marker != -1);
 
     return 0;
 }
-- 
2.32.0



More information about the ffmpeg-devel mailing list