pub struct GrainTableSegment {Show 21 fields
pub start_time: u64,
pub end_time: u64,
pub scaling_points_y: ArrayVec<[u8; 2], NUM_Y_POINTS>,
pub scaling_points_cb: ArrayVec<[u8; 2], NUM_UV_POINTS>,
pub scaling_points_cr: ArrayVec<[u8; 2], NUM_UV_POINTS>,
pub scaling_shift: u8,
pub ar_coeff_lag: u8,
pub ar_coeffs_y: ArrayVec<i8, NUM_Y_COEFFS>,
pub ar_coeffs_cb: ArrayVec<i8, NUM_UV_COEFFS>,
pub ar_coeffs_cr: ArrayVec<i8, NUM_UV_COEFFS>,
pub ar_coeff_shift: u8,
pub cb_mult: u8,
pub cb_luma_mult: u8,
pub cb_offset: u16,
pub cr_mult: u8,
pub cr_luma_mult: u8,
pub cr_offset: u16,
pub overlap_flag: bool,
pub chroma_scaling_from_luma: bool,
pub grain_scale_shift: u8,
pub random_seed: u16,
}Expand description
Specifies parameters for enabling decoder-side grain synthesis for
a segment of video from start_time to end_time.
Fields§
§start_time: u64The beginning timestamp of this segment, in 10,000,000ths of a second.
end_time: u64The ending timestamp of this segment, not inclusive, in 10,000,000ths of a second.
scaling_points_y: ArrayVec<[u8; 2], NUM_Y_POINTS>Values for the cutoffs and scale factors for luma scaling points
scaling_points_cb: ArrayVec<[u8; 2], NUM_UV_POINTS>Values for the cutoffs and scale factors for Cb scaling points
scaling_points_cr: ArrayVec<[u8; 2], NUM_UV_POINTS>Values for the cutoffs and scale factors for Cr scaling points
scaling_shift: u8Determines the range and quantization step of the standard deviation of film grain.
Accepts values between 8..=11.
ar_coeff_lag: u8A factor specifying how many AR coefficients are provided,
based on the forumla coeffs_len = (2 * ar_coeff_lag * (ar_coeff_lag + 1)).
Accepts values between 0..=3.
ar_coeffs_y: ArrayVec<i8, NUM_Y_COEFFS>Values for the AR coefficients for luma scaling points
ar_coeffs_cb: ArrayVec<i8, NUM_UV_COEFFS>Values for the AR coefficients for Cb scaling points
ar_coeffs_cr: ArrayVec<i8, NUM_UV_COEFFS>Values for the AR coefficients for Cr scaling points
ar_coeff_shift: u8Shift value: Specifies the range of acceptable AR coefficients 6: [-2, 2) 7: [-1, 1) 8: [-0.5, 0.5) 9: [-0.25, 0.25)
cb_mult: u8Multiplier to the grain strength of the Cb plane
cb_luma_mult: u8Multiplier to the grain strength of the Cb plane inherited from the luma plane
cb_offset: u16A base value for the Cb plane grain
cr_mult: u8Multiplier to the grain strength of the Cr plane
cr_luma_mult: u8Multiplier to the grain strength of the Cr plane inherited from the luma plane
cr_offset: u16A base value for the Cr plane grain
overlap_flag: boolWhether film grain blocks should overlap or not
chroma_scaling_from_luma: boolScale chroma grain from luma instead of providing chroma scaling points
grain_scale_shift: u8Specifies how much the Gaussian random numbers should be scaled down during the grain synthesis process.
random_seed: u16Random seed used for generating grain
Trait Implementations§
Source§impl Clone for GrainTableSegment
impl Clone for GrainTableSegment
Source§fn clone(&self) -> GrainTableSegment
fn clone(&self) -> GrainTableSegment
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more