avcodec/mpc8: get frame output buffer right before it is actually needed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
		
							parent
							
								
									cc40228255
								
							
						
					
					
						commit
						e30a37e95e
					
				| @ -250,11 +250,6 @@ static int mpc8_decode_frame(AVCodecContext * avctx, void *data, | |||||||
|     int maxband, keyframe; |     int maxband, keyframe; | ||||||
|     int last[2]; |     int last[2]; | ||||||
| 
 | 
 | ||||||
|     /* get output buffer */ |  | ||||||
|     frame->nb_samples = MPC_FRAME_SIZE; |  | ||||||
|     if ((res = ff_get_buffer(avctx, frame, 0)) < 0) |  | ||||||
|         return res; |  | ||||||
| 
 |  | ||||||
|     keyframe = c->cur_frame == 0; |     keyframe = c->cur_frame == 0; | ||||||
| 
 | 
 | ||||||
|     if(keyframe){ |     if(keyframe){ | ||||||
| @ -415,6 +410,10 @@ static int mpc8_decode_frame(AVCodecContext * avctx, void *data, | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     frame->nb_samples = MPC_FRAME_SIZE; | ||||||
|  |     if ((res = ff_get_buffer(avctx, frame, 0)) < 0) | ||||||
|  |         return res; | ||||||
|  | 
 | ||||||
|     ff_mpc_dequantize_and_synth(c, maxband - 1, |     ff_mpc_dequantize_and_synth(c, maxband - 1, | ||||||
|                                 (int16_t **)frame->extended_data, |                                 (int16_t **)frame->extended_data, | ||||||
|                                 avctx->channels); |                                 avctx->channels); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user