| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -248,19 +248,38 @@ static const AVClass imgutils_class = { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    .parent_log_context_offset = offsetof(ImgUtils, log_ctx), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			}; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			int av_image_check_size2(unsigned int w, unsigned int h, int64_t max_pixels, enum AVPixelFormat pix_fmt, int log_offset, void *log_ctx) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    ImgUtils imgutils = { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        .class      = &imgutils_class, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        .log_offset = log_offset, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        .log_ctx    = log_ctx, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    }; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int64_t stride = av_image_get_linesize(pix_fmt, w, 0); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (stride <= 0) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        stride = 8LL*w; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    stride += 128*8; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if ((int)w>0 && (int)h>0 && (w+128)*(uint64_t)(h+128) < INT_MAX/8) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if ((int)w<=0 || (int)h<=0 || stride >= INT_MAX || stride*(uint64_t)(h+128) >= INT_MAX) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        av_log(&imgutils, AV_LOG_ERROR, "Picture size %ux%u is invalid\n", w, h); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return AVERROR(EINVAL); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    av_log(&imgutils, AV_LOG_ERROR, "Picture size %ux%u is invalid\n", w, h); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return AVERROR(EINVAL); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (max_pixels < INT64_MAX) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (w*(int64_t)h > max_pixels) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            av_log(&imgutils, AV_LOG_ERROR, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    "Picture size %ux%u exceeds specified max pixel count %"PRId64", see the documentation if you wish to increase it\n", | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    w, h, max_pixels); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return AVERROR(EINVAL); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return av_image_check_size2(w, h, INT64_MAX, AV_PIX_FMT_NONE, log_offset, log_ctx); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			int av_image_check_sar(unsigned int w, unsigned int h, AVRational sar) | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |