| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -121,20 +121,23 @@ static int h264_find_frame_end(H264ParseContext *p, const uint8_t *buf, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            state = 7; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            unsigned int mb, last_mb = p->parse_last_mb; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            GetBitContext gb; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            p->parse_history[p->parse_history_count++] = buf[i]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (p->parse_history_count > 5) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                unsigned int mb, last_mb = p->parse_last_mb; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                GetBitContext gb; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                init_get_bits(&gb, p->parse_history, 8*p->parse_history_count); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                p->parse_history_count = 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                mb= get_ue_golomb_long(&gb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            init_get_bits(&gb, p->parse_history, 8*p->parse_history_count); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mb= get_ue_golomb_long(&gb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (get_bits_left(&gb) > 0 || p->parse_history_count > 5) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                p->parse_last_mb = mb; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                if (pc->frame_start_found) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    if (mb <= last_mb) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    if (mb <= last_mb) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        i -= p->parse_history_count - 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        p->parse_history_count = 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        goto found; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                } else | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    pc->frame_start_found = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                p->parse_history_count = 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                state = 7; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -149,7 +152,7 @@ found: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    pc->frame_start_found = 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (p->is_avc) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return next_avc; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return i - (state & 5) - 5 * (state > 7); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return i - (state & 5); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			static int scan_mmco_reset(AVCodecParserContext *s, GetBitContext *gb, | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |