| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -691,20 +691,22 @@ static int asf_read_properties(AVFormatContext *s, const GUIDParseTable *g) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			static int parse_video_info(AVIOContext *pb, AVStream *st) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    uint16_t size; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    uint16_t size_asf; // ASF-specific Format Data size | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    uint32_t size_bmp; // BMP_HEADER-specific Format Data size | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    unsigned int tag; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    st->codecpar->width  = avio_rl32(pb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    st->codecpar->height = avio_rl32(pb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    avio_skip(pb, 1); // skip reserved flags | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    size = avio_rl16(pb); // size of the Format Data | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    tag  = ff_get_bmp_header(pb, st); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    size_asf = avio_rl16(pb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    tag = ff_get_bmp_header(pb, st, &size_bmp); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    st->codecpar->codec_tag = tag; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    st->codecpar->codec_id  = ff_codec_get_id(ff_codec_bmp_tags, tag); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    size_bmp = FFMAX(size_asf, size_bmp); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (size > BMP_HEADER_SIZE) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (size_bmp > BMP_HEADER_SIZE) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int ret; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        st->codecpar->extradata_size  = size - BMP_HEADER_SIZE; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        st->codecpar->extradata_size  = size_bmp - BMP_HEADER_SIZE; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (!(st->codecpar->extradata = av_malloc(st->codecpar->extradata_size + | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                               AV_INPUT_BUFFER_PADDING_SIZE))) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            st->codecpar->extradata_size = 0; | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |