You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avfilter/vf_mix: output same number of frames from input for tmix
This commit is contained in:
		| @@ -415,8 +415,12 @@ static int tmix_filter_frame(AVFilterLink *inlink, AVFrame *in) | ||||
|     if (s->nb_frames < s->nb_inputs) { | ||||
|         s->frames[s->nb_frames] = in; | ||||
|         s->nb_frames++; | ||||
|         if (s->nb_frames < s->nb_inputs) | ||||
|             return 0; | ||||
|         while (s->nb_frames < s->nb_inputs) { | ||||
|             s->frames[s->nb_frames] = av_frame_clone(s->frames[s->nb_frames - 1]); | ||||
|             if (!s->frames[s->nb_frames]) | ||||
|                 return AVERROR(ENOMEM); | ||||
|             s->nb_frames++; | ||||
|         } | ||||
|     } else { | ||||
|         av_frame_free(&s->frames[0]); | ||||
|         memmove(&s->frames[0], &s->frames[1], sizeof(*s->frames) * (s->nb_inputs - 1)); | ||||
| @@ -433,7 +437,7 @@ static int tmix_filter_frame(AVFilterLink *inlink, AVFrame *in) | ||||
|     out = ff_get_video_buffer(outlink, outlink->w, outlink->h); | ||||
|     if (!out) | ||||
|         return AVERROR(ENOMEM); | ||||
|     out->pts = s->frames[0]->pts; | ||||
|     out->pts = s->frames[s->nb_frames - 1]->pts; | ||||
|  | ||||
|     td.out = out; | ||||
|     td.in = s->frames; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user