mirror of https://git.ffmpeg.org/ffmpeg.git
avfilter/vf_normalize: typedef all structs
This commit is contained in:
parent
651a0f6308
commit
c303d0979f
|
@ -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 {
|
||||||
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);
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue