You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avcodec/jpeg2000dec: Implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
This could be improved further by not allocating the buffers that won't be needed lateron in the first place. Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
		| @@ -2523,6 +2523,11 @@ static int jpeg2000_decode_frame(AVCodecContext *avctx, AVFrame *picture, | ||||
|         avctx->sample_aspect_ratio = s->sar; | ||||
|     s->sar.num = s->sar.den = 0; | ||||
|  | ||||
|     if (avctx->skip_frame >= AVDISCARD_ALL) { | ||||
|         jpeg2000_dec_cleanup(s); | ||||
|         return avpkt->size; | ||||
|     } | ||||
|  | ||||
|     /* get picture buffer */ | ||||
|     if ((ret = ff_thread_get_buffer(avctx, picture, 0)) < 0) | ||||
|         goto end; | ||||
| @@ -2587,4 +2592,5 @@ const FFCodec ff_jpeg2000_decoder = { | ||||
|     .p.priv_class     = &jpeg2000_class, | ||||
|     .p.max_lowres     = 5, | ||||
|     .p.profiles       = NULL_IF_CONFIG_SMALL(ff_jpeg2000_profiles), | ||||
|     .caps_internal    = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user