]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/filter_units_bsf.c
avcodec/dsd: use uint8_t instead of unsigned char
[ffmpeg] / libavcodec / filter_units_bsf.c
index f3691a57551777e9d902e3394f94b0f854632402..380f23e5a7566985c286436a41ee54e7a5972132 100644 (file)
@@ -117,16 +117,14 @@ static int filter_units_filter(AVBSFContext *bsf, AVPacket *pkt)
         goto fail;
     }
 
-    for (i = 0; i < frag->nb_units; i++) {
+    for (i = frag->nb_units - 1; i >= 0; i--) {
         for (j = 0; j < ctx->nb_types; j++) {
             if (frag->units[i].type == ctx->type_list[j])
                 break;
         }
         if (ctx->mode == REMOVE ? j <  ctx->nb_types
-                                : j >= ctx->nb_types) {
+                                : j >= ctx->nb_types)
             ff_cbs_delete_unit(ctx->cbc, frag, i);
-            --i;
-        }
     }
 
     if (frag->nb_units == 0) {