You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Merge commit '4c3e1956ee35fdcc5ffdb28782050164b4623c0b'
* commit '4c3e1956ee35fdcc5ffdb28782050164b4623c0b':
  lagarith: reallocate rgb_planes when needed
Conflicts:
	libavcodec/lagarith.c
See: 9eef41b848
Merged-by: Michael Niedermayer <michaelni@gmx.at>
			
			
This commit is contained in:
		| @@ -52,6 +52,7 @@ typedef struct LagarithContext { | ||||
|     int zeros;                  /**< number of consecutive zero bytes encountered */ | ||||
|     int zeros_rem;              /**< number of zero bytes remaining to output */ | ||||
|     uint8_t *rgb_planes; | ||||
|     int      rgb_planes_allocated; | ||||
|     int rgb_stride; | ||||
| } LagarithContext; | ||||
|  | ||||
| @@ -611,13 +612,12 @@ static int lag_decode_frame(AVCodecContext *avctx, | ||||
|         offs[1] = offset_gu; | ||||
|         offs[2] = offset_ry; | ||||
|  | ||||
|         l->rgb_stride = FFALIGN(avctx->width, 16); | ||||
|         av_fast_malloc(&l->rgb_planes, &l->rgb_planes_allocated, | ||||
|                        l->rgb_stride * avctx->height * planes + 1); | ||||
|         if (!l->rgb_planes) { | ||||
|             l->rgb_stride = FFALIGN(avctx->width, 16); | ||||
|             l->rgb_planes = av_malloc(l->rgb_stride * avctx->height * 4 + 16); | ||||
|             if (!l->rgb_planes) { | ||||
|                 av_log(avctx, AV_LOG_ERROR, "cannot allocate temporary buffer\n"); | ||||
|                 return AVERROR(ENOMEM); | ||||
|             } | ||||
|             av_log(avctx, AV_LOG_ERROR, "cannot allocate temporary buffer\n"); | ||||
|             return AVERROR(ENOMEM); | ||||
|         } | ||||
|         for (i = 0; i < planes; i++) | ||||
|             srcs[i] = l->rgb_planes + (i + 1) * l->rgb_stride * avctx->height - l->rgb_stride; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user