Commit c303d097 authored by Paul B Mahol's avatar Paul B Mahol

avfilter/vf_normalize: typedef all structs

parent 651a0f63
...@@ -81,6 +81,17 @@ ...@@ -81,6 +81,17 @@
#include "internal.h" #include "internal.h"
#include "video.h" #include "video.h"
typedef struct NormalizeHistory {
uint8_t *history; // History entries.
uint32_t history_sum; // Sum of history entries.
} NormalizeHistory;
typedef struct NormalizeLocal {
uint8_t in; // Original input byte value for this frame.
float smoothed; // Smoothed input value [0,255].
float out; // Output value [0,255]
} NormalizeLocal;
typedef struct NormalizeContext { typedef struct NormalizeContext {
const AVClass *class; const AVClass *class;
...@@ -98,10 +109,7 @@ typedef struct NormalizeContext { ...@@ -98,10 +109,7 @@ typedef struct NormalizeContext {
int frame_num; // Increments on each frame, starting from 0. int frame_num; // Increments on each frame, starting from 0.
// Per-extremum, per-channel history, for temporal smoothing. // Per-extremum, per-channel history, for temporal smoothing.
struct { NormalizeHistory min[3], max[3]; // Min and max for each channel in {R,G,B}.
uint8_t *history; // History entries.
uint32_t history_sum; // Sum of history entries.
} min[3], max[3]; // Min and max for each channel in {R,G,B}.
uint8_t *history_mem; // Single allocation for above history entries uint8_t *history_mem; // Single allocation for above history entries
} NormalizeContext; } NormalizeContext;
...@@ -126,11 +134,7 @@ AVFILTER_DEFINE_CLASS(normalize); ...@@ -126,11 +134,7 @@ AVFILTER_DEFINE_CLASS(normalize);
static void normalize(NormalizeContext *s, AVFrame *in, AVFrame *out) static void normalize(NormalizeContext *s, AVFrame *in, AVFrame *out)
{ {
// Per-extremum, per-channel local variables. // Per-extremum, per-channel local variables.
struct { NormalizeLocal min[3], max[3]; // Min and max for each channel in {R,G,B}.
uint8_t in; // Original input byte value for this frame.
float smoothed; // Smoothed input value [0,255].
float out; // Output value [0,255].
} min[3], max[3]; // Min and max for each channel in {R,G,B}.
float rgb_min_smoothed; // Min input range for linked normalization float rgb_min_smoothed; // Min input range for linked normalization
float rgb_max_smoothed; // Max input range for linked normalization float rgb_max_smoothed; // Max input range for linked normalization
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment