You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avfilter/avf_avectorscope: simplify code a little
This commit is contained in:
		| @@ -252,6 +252,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) | ||||
| { | ||||
|     AVFilterContext *ctx = inlink->dst; | ||||
|     AVFilterLink *outlink = ctx->outputs[0]; | ||||
|     const int16_t *samples = (const int16_t *)insamples->data[0]; | ||||
|     const float *samplesf = (const float *)insamples->data[0]; | ||||
|     AudioVectorScopeContext *s = ctx->priv; | ||||
|     const int hw = s->hw; | ||||
|     const int hh = s->hh; | ||||
| @@ -259,7 +261,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) | ||||
|     unsigned x, y; | ||||
|     unsigned prev_x = s->prev_x, prev_y = s->prev_y; | ||||
|     double zoom = s->zoom; | ||||
|     int i; | ||||
|  | ||||
|     if (!s->outpicref || s->outpicref->width  != outlink->w || | ||||
|                          s->outpicref->height != outlink->h) { | ||||
| @@ -271,7 +272,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) | ||||
|         } | ||||
|  | ||||
|         s->outpicref->sample_aspect_ratio = (AVRational){1,1}; | ||||
|         for (i = 0; i < outlink->h; i++) | ||||
|         for (int i = 0; i < outlink->h; i++) | ||||
|             memset(s->outpicref->data[0] + i * s->outpicref->linesize[0], 0, outlink->w * 4); | ||||
|     } | ||||
|     s->outpicref->pts = av_rescale_q(insamples->pts, inlink->time_base, outlink->time_base); | ||||
| @@ -284,22 +285,15 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) | ||||
|         float max = 0; | ||||
|  | ||||
|         switch (insamples->format) { | ||||
|         case AV_SAMPLE_FMT_S16: { | ||||
|             int16_t *samples = (int16_t *)insamples->data[0]; | ||||
|  | ||||
|             for (i = 0; i < insamples->nb_samples * 2; i++) { | ||||
|         case AV_SAMPLE_FMT_S16: | ||||
|             for (int i = 0; i < insamples->nb_samples * 2; i++) { | ||||
|                 float sample = samples[i] / (float)INT16_MAX; | ||||
|                 max = FFMAX(FFABS(sample), max); | ||||
|             } | ||||
|  | ||||
|             } | ||||
|             break; | ||||
|         case AV_SAMPLE_FMT_FLT: { | ||||
|             float *samples = (float *)insamples->data[0]; | ||||
|  | ||||
|             for (i = 0; i < insamples->nb_samples * 2; i++) { | ||||
|                 max = FFMAX(FFABS(samples[i]), max); | ||||
|             } | ||||
|         case AV_SAMPLE_FMT_FLT: | ||||
|             for (int i = 0; i < insamples->nb_samples * 2; i++) { | ||||
|                 max = FFMAX(FFABS(samplesf[i]), max); | ||||
|             } | ||||
|             break; | ||||
|         default: | ||||
| @@ -321,19 +315,17 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) | ||||
|         zoom = 1. / max; | ||||
|     } | ||||
|  | ||||
|     for (i = 0; i < insamples->nb_samples; i++) { | ||||
|         int16_t *samples = (int16_t *)insamples->data[0] + i * 2; | ||||
|         float *samplesf = (float *)insamples->data[0] + i * 2; | ||||
|     for (int i = 0; i < insamples->nb_samples; i++) { | ||||
|         float src[2]; | ||||
|  | ||||
|         switch (insamples->format) { | ||||
|         case AV_SAMPLE_FMT_S16: | ||||
|             src[0] = samples[0] / (float)INT16_MAX; | ||||
|             src[1] = samples[1] / (float)INT16_MAX; | ||||
|             src[0] = samples[i*2+0] / (float)INT16_MAX; | ||||
|             src[1] = samples[i*2+1] / (float)INT16_MAX; | ||||
|             break; | ||||
|         case AV_SAMPLE_FMT_FLT: | ||||
|             src[0] = samplesf[0]; | ||||
|             src[1] = samplesf[1]; | ||||
|             src[0] = samplesf[i*2+0]; | ||||
|             src[1] = samplesf[i*2+1]; | ||||
|             break; | ||||
|         default: | ||||
|             av_assert2(0); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user