X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=input_state.h;h=2f33654537b9cd9bd6ff78a3b6bd86977af1d64f;hp=70b4436ec147f4972caa2c9d854a4ba6107a7ff2;hb=refs%2Fheads%2Fcef;hpb=87bd26a6db023032b2d7ecd0252b5e45cd564673 diff --git a/input_state.h b/input_state.h index 70b4436..2f33654 100644 --- a/input_state.h +++ b/input_state.h @@ -1,6 +1,8 @@ #ifndef _INPUT_STATE_H #define _INPUT_STATE_H 1 +#include + #include "defs.h" #include "ref_counted_frame.h" @@ -18,7 +20,15 @@ struct InputState { // interlaced output (for deinterlacing), so if we detect progressive input, // we immediately clear out all history and all entries will point to the same // frame. - BufferedFrame buffered_frames[MAX_CARDS][FRAME_HISTORY_LENGTH]; + BufferedFrame buffered_frames[MAX_VIDEO_CARDS][FRAME_HISTORY_LENGTH]; + + // For each card, the current Y'CbCr input settings. Ignored for BGRA inputs. + // If ycbcr_coefficients_auto = true for a given card, the others are ignored + // for that card (SD is taken to be Rec. 601, HD is taken to be Rec. 709, + // both limited range). + bool ycbcr_coefficients_auto[MAX_VIDEO_CARDS]; + movit::YCbCrLumaCoefficients ycbcr_coefficients[MAX_VIDEO_CARDS]; + bool full_range[MAX_VIDEO_CARDS]; }; #endif // !defined(_INPUT_STATE_H)