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.rheinha...@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 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".