diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index ae4ef3d956ab6f0f9e7b5d4f07e5b7fde4dcdf8f..807dbc60c6c221c63d96f25d0fca42dab8c120b9 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -5732,9 +5732,9 @@ no_cplx_est:
 
             if(   h_sampling_factor_n==0 || h_sampling_factor_m==0
                || v_sampling_factor_n==0 || v_sampling_factor_m==0){
-
+                /* illegal scalability header (VERY broken encoder),
+                 * trying to workaround */
                 s->scalability=0;
-
                 *gb= bak;
             }else
                 av_log(s->avctx, AV_LOG_ERROR, "scalability not supported\n");
@@ -5847,6 +5847,8 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
         s->time= s->time_base*s->avctx->time_base.den + time_increment;
         if(s->workaround_bugs&FF_BUG_UMP4){
             if(s->time < s->last_non_b_time){
+                /* header is not mpeg-4-compatible, broken encoder,
+                 * trying to workaround */
                 s->time_base++;
                 s->time+= s->avctx->time_base.den;
             }
@@ -5857,6 +5859,7 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
         s->time= (s->last_time_base + time_incr)*s->avctx->time_base.den + time_increment;
         s->pb_time= s->pp_time - (s->last_non_b_time - s->time);
         if(s->pp_time <=s->pb_time || s->pp_time <= s->pp_time - s->pb_time || s->pp_time<=0){
+            /* messed up order, maybe after seeking? skipping current b-frame */
             return FRAME_SKIPPED;
         }
         ff_mpeg4_init_direct_mv(s);