| 
																	
																	
																		
																	
																	
																 | 
																@@ -34,6 +34,7 @@ enum VectorscopeMode { | 
															
														
														
													
														
															
																 | 
																 | 
																    COLOR2, | 
																 | 
																 | 
																    COLOR2, | 
															
														
														
													
														
															
																 | 
																 | 
																    COLOR3, | 
																 | 
																 | 
																    COLOR3, | 
															
														
														
													
														
															
																 | 
																 | 
																    COLOR4, | 
																 | 
																 | 
																    COLOR4, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    COLOR5, | 
															
														
														
													
														
															
																 | 
																 | 
																    MODE_NB | 
																 | 
																 | 
																    MODE_NB | 
															
														
														
													
														
															
																 | 
																 | 
																}; | 
																 | 
																 | 
																}; | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -68,6 +69,7 @@ static const AVOption vectorscope_options[] = { | 
															
														
														
													
														
															
																 | 
																 | 
																    {   "color2", 0, 0, AV_OPT_TYPE_CONST, {.i64=COLOR2}, 0, 0, FLAGS, "mode" }, | 
																 | 
																 | 
																    {   "color2", 0, 0, AV_OPT_TYPE_CONST, {.i64=COLOR2}, 0, 0, FLAGS, "mode" }, | 
															
														
														
													
														
															
																 | 
																 | 
																    {   "color3", 0, 0, AV_OPT_TYPE_CONST, {.i64=COLOR3}, 0, 0, FLAGS, "mode" }, | 
																 | 
																 | 
																    {   "color3", 0, 0, AV_OPT_TYPE_CONST, {.i64=COLOR3}, 0, 0, FLAGS, "mode" }, | 
															
														
														
													
														
															
																 | 
																 | 
																    {   "color4", 0, 0, AV_OPT_TYPE_CONST, {.i64=COLOR4}, 0, 0, FLAGS, "mode" }, | 
																 | 
																 | 
																    {   "color4", 0, 0, AV_OPT_TYPE_CONST, {.i64=COLOR4}, 0, 0, FLAGS, "mode" }, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    {   "color5", 0, 0, AV_OPT_TYPE_CONST, {.i64=COLOR5}, 0, 0, FLAGS, "mode" }, | 
															
														
														
													
														
															
																 | 
																 | 
																    { "x", "set color component on X axis", OFFSET(x), AV_OPT_TYPE_INT, {.i64=1}, 0, 2, FLAGS}, | 
																 | 
																 | 
																    { "x", "set color component on X axis", OFFSET(x), AV_OPT_TYPE_INT, {.i64=1}, 0, 2, FLAGS}, | 
															
														
														
													
														
															
																 | 
																 | 
																    { "y", "set color component on Y axis", OFFSET(y), AV_OPT_TYPE_INT, {.i64=2}, 0, 2, FLAGS}, | 
																 | 
																 | 
																    { "y", "set color component on Y axis", OFFSET(y), AV_OPT_TYPE_INT, {.i64=2}, 0, 2, FLAGS}, | 
															
														
														
													
														
															
																 | 
																 | 
																    { "intensity", "set intensity", OFFSET(fintensity), AV_OPT_TYPE_FLOAT, {.dbl=0.004}, 0, 1, FLAGS}, | 
																 | 
																 | 
																    { "intensity", "set intensity", OFFSET(fintensity), AV_OPT_TYPE_FLOAT, {.dbl=0.004}, 0, 1, FLAGS}, | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -354,11 +356,12 @@ static void vectorscope16(VectorscopeContext *s, AVFrame *in, AVFrame *out, int | 
															
														
														
													
														
															
																 | 
																 | 
																        for (i = 0; i < out->height ; i++) | 
																 | 
																 | 
																        for (i = 0; i < out->height ; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																            for (j = 0; j < out->width; j++) | 
																 | 
																 | 
																            for (j = 0; j < out->width; j++) | 
															
														
														
													
														
															
																 | 
																 | 
																                AV_WN16(out->data[k] + i * out->linesize[k] + j * 2, | 
																 | 
																 | 
																                AV_WN16(out->data[k] + i * out->linesize[k] + j * 2, | 
															
														
														
													
														
															
																 | 
																 | 
																                        s->mode == COLOR && k == s->pd ? 0 : s->bg_color[k] * mult); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                        (s->mode == COLOR || s->mode == COLOR5) && k == s->pd ? 0 : s->bg_color[k] * mult); | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    switch (s->mode) { | 
																 | 
																 | 
																    switch (s->mode) { | 
															
														
														
													
														
															
																 | 
																 | 
																    case COLOR: | 
																 | 
																 | 
																    case COLOR: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case COLOR5: | 
															
														
														
													
														
															
																 | 
																 | 
																    case GRAY: | 
																 | 
																 | 
																    case GRAY: | 
															
														
														
													
														
															
																 | 
																 | 
																        if (s->is_yuv) { | 
																 | 
																 | 
																        if (s->is_yuv) { | 
															
														
														
													
														
															
																 | 
																 | 
																            for (i = 0; i < h; i++) { | 
																 | 
																 | 
																            for (i = 0; i < h; i++) { | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -480,6 +483,16 @@ static void vectorscope16(VectorscopeContext *s, AVFrame *in, AVFrame *out, int | 
															
														
														
													
														
															
																 | 
																 | 
																                } | 
																 | 
																 | 
																                } | 
															
														
														
													
														
															
																 | 
																 | 
																            } | 
																 | 
																 | 
																            } | 
															
														
														
													
														
															
																 | 
																 | 
																        } | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } else if (s->mode == COLOR5) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        for (i = 0; i < out->height; i++) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            for (j = 0; j < out->width; j++) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                if (!dpd[i * dlinesize + j]) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                    dpx[i * dlinesize + j] = j; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                    dpy[i * dlinesize + j] = i; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                    dpd[i * dlinesize + j] = mid * M_SQRT2 - hypot(i - mid, j - mid); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -508,9 +521,10 @@ static void vectorscope8(VectorscopeContext *s, AVFrame *in, AVFrame *out, int p | 
															
														
														
													
														
															
																 | 
																 | 
																    for (k = 0; k < 4 && dst[k]; k++) | 
																 | 
																 | 
																    for (k = 0; k < 4 && dst[k]; k++) | 
															
														
														
													
														
															
																 | 
																 | 
																        for (i = 0; i < out->height ; i++) | 
																 | 
																 | 
																        for (i = 0; i < out->height ; i++) | 
															
														
														
													
														
															
																 | 
																 | 
																            memset(dst[k] + i * out->linesize[k], | 
																 | 
																 | 
																            memset(dst[k] + i * out->linesize[k], | 
															
														
														
													
														
															
																 | 
																 | 
																                   s->mode == COLOR && k == s->pd ? 0 : s->bg_color[k], out->width); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                   (s->mode == COLOR || s->mode == COLOR5) && k == s->pd ? 0 : s->bg_color[k], out->width); | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    switch (s->mode) { | 
																 | 
																 | 
																    switch (s->mode) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    case COLOR5: | 
															
														
														
													
														
															
																 | 
																 | 
																    case COLOR: | 
																 | 
																 | 
																    case COLOR: | 
															
														
														
													
														
															
																 | 
																 | 
																    case GRAY: | 
																 | 
																 | 
																    case GRAY: | 
															
														
														
													
														
															
																 | 
																 | 
																        if (s->is_yuv) { | 
																 | 
																 | 
																        if (s->is_yuv) { | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -633,6 +647,16 @@ static void vectorscope8(VectorscopeContext *s, AVFrame *in, AVFrame *out, int p | 
															
														
														
													
														
															
																 | 
																 | 
																                } | 
																 | 
																 | 
																                } | 
															
														
														
													
														
															
																 | 
																 | 
																            } | 
																 | 
																 | 
																            } | 
															
														
														
													
														
															
																 | 
																 | 
																        } | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } else if (s->mode == COLOR5) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        for (i = 0; i < out->height; i++) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            for (j = 0; j < out->width; j++) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                if (!dpd[i * out->linesize[pd] + j]) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                    dpx[i * out->linesize[px] + j] = j; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                    dpy[i * out->linesize[py] + j] = i; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                    dpd[i * out->linesize[pd] + j] = 128 * M_SQRT2 - hypot(i - 128, j - 128); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |