[FFmpeg-cvslog] r21030 - trunk/libavcodec/h263.c

diego subversion
Tue Jan 5 11:18:02 CET 2010


Author: diego
Date: Tue Jan  5 11:18:01 2010
New Revision: 21030

Log:
Add a few explanatory comments to cornercase workarounds.

Modified:
   trunk/libavcodec/h263.c

Modified: trunk/libavcodec/h263.c
==============================================================================
--- trunk/libavcodec/h263.c	Tue Jan  5 02:16:02 2010	(r21029)
+++ trunk/libavcodec/h263.c	Tue Jan  5 11:18:01 2010	(r21030)
@@ -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(MpegEncCont
         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(MpegEncCont
         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);



More information about the ffmpeg-cvslog mailing list