| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -1098,13 +1098,16 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int dref_id = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        MOVAtom a = { AV_RL32("stsd") }; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int64_t start_pos = avio_tell(pb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int size = avio_rb32(pb); /* size */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        uint32_t size = avio_rb32(pb); /* size */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        uint32_t format = avio_rl32(pb); /* data format */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (size >= 16) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            avio_rb32(pb); /* reserved */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            avio_rb16(pb); /* reserved */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            dref_id = avio_rb16(pb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            av_log(c->fc, AV_LOG_ERROR, "invalid size %d in stsd\n", size); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return AVERROR_INVALIDDATA; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (st->codec->codec_tag && | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |