iff: process DEEP DLOC chunk to obtain image dimensions
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
				
					committed by
					
						
						Michael Niedermayer
					
				
			
			
				
	
			
			
			
						parent
						
							d26eeb0dc1
						
					
				
				
					commit
					05001dd7ca
				
			@@ -63,6 +63,7 @@
 | 
				
			|||||||
#define ID_BODY       MKTAG('B','O','D','Y')
 | 
					#define ID_BODY       MKTAG('B','O','D','Y')
 | 
				
			||||||
#define ID_DBOD       MKTAG('D','B','O','D')
 | 
					#define ID_DBOD       MKTAG('D','B','O','D')
 | 
				
			||||||
#define ID_DPEL       MKTAG('D','P','E','L')
 | 
					#define ID_DPEL       MKTAG('D','P','E','L')
 | 
				
			||||||
 | 
					#define ID_DLOC       MKTAG('D','L','O','C')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define LEFT    2
 | 
					#define LEFT    2
 | 
				
			||||||
#define RIGHT   4
 | 
					#define RIGHT   4
 | 
				
			||||||
@@ -281,6 +282,13 @@ static int iff_read_header(AVFormatContext *s)
 | 
				
			|||||||
            st->codec->bits_per_coded_sample = 24;
 | 
					            st->codec->bits_per_coded_sample = 24;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        case ID_DLOC:
 | 
				
			||||||
 | 
					            if (data_size < 4)
 | 
				
			||||||
 | 
					                return AVERROR_INVALIDDATA;
 | 
				
			||||||
 | 
					            st->codec->width  = avio_rb16(pb);
 | 
				
			||||||
 | 
					            st->codec->height = avio_rb16(pb);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case ID_ANNO:
 | 
					        case ID_ANNO:
 | 
				
			||||||
        case ID_TEXT:      metadata_tag = "comment";   break;
 | 
					        case ID_TEXT:      metadata_tag = "comment";   break;
 | 
				
			||||||
        case ID_AUTH:      metadata_tag = "artist";    break;
 | 
					        case ID_AUTH:      metadata_tag = "artist";    break;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user