diff h263dec.c @ 526:cd170daf9e4c libavcodec

return the number of consumed bytes instead of 0 or buf_size
author michaelni
date Wed, 10 Jul 2002 10:25:11 +0000
parents 0b4450c15067
children d2147d9704ce
line wrap: on
line diff
--- a/h263dec.c	Tue Jul 09 19:22:50 2002 +0000
+++ b/h263dec.c	Wed Jul 10 10:25:11 2002 +0000
@@ -172,20 +172,20 @@
             return -1;
     }
 
-    if(ret==FRAME_SKIPED) return 0;
+    if(ret==FRAME_SKIPED) return (get_bits_count(&s->gb)+7)>>3;
     /* skip if the header was thrashed */
     if (ret < 0){
         fprintf(stderr, "header damaged\n");
         return -1;
     }
     /* skip b frames if we dont have reference frames */
-    if(s->num_available_buffers<2 && s->pict_type==B_TYPE) return 0;
+    if(s->num_available_buffers<2 && s->pict_type==B_TYPE) return buf_size;
     /* skip b frames if we are in a hurry */
-    if(s->hurry_up && s->pict_type==B_TYPE) return 0;
+    if(s->hurry_up && s->pict_type==B_TYPE) return buf_size;
     
     if(s->next_p_frame_damaged){
         if(s->pict_type==B_TYPE)
-            return 0;
+            return buf_size;
         else
             s->next_p_frame_damaged=0;
     }
@@ -447,7 +447,7 @@
 #ifdef PRINT_FRAME_TIME
 printf("%Ld\n", rdtsc()-time);
 #endif
-    return buf_size;
+    return (get_bits_count(&s->gb)+7)>>3;
 }
 
 AVCodec mpeg4_decoder = {