// happens in a pass not run by Movit (see ChromaSubsampler::subsample_chroma()).
output_ycbcr_format.chroma_subsampling_x = 1;
output_ycbcr_format.chroma_subsampling_y = 1;
+
+ // This will be overridden if HDMI/SDI output is in force.
if (global_flags.ycbcr_rec709_coefficients) {
output_ycbcr_format.luma_coefficients = YCBCR_REC_709;
} else {
output_ycbcr_format.luma_coefficients = YCBCR_REC_601;
}
+
output_ycbcr_format.full_range = false;
output_ycbcr_format.num_levels = 256;
chain->add_ycbcr_output(inout_format, OUTPUT_ALPHA_FORMAT_POSTMULTIPLIED, output_ycbcr_format, YCBCR_OUTPUT_SPLIT_Y_AND_CBCR);
+ chain->add_ycbcr_output(inout_format, OUTPUT_ALPHA_FORMAT_POSTMULTIPLIED, output_ycbcr_format, YCBCR_OUTPUT_INTERLEAVED); // Add a copy where we'll only be using the Y component.
chain->set_dither_bits(8);
chain->set_output_origin(OUTPUT_ORIGIN_TOP_LEFT);
+ } else {
+ chain->add_output(inout_format, OUTPUT_ALPHA_FORMAT_POSTMULTIPLIED);
}
- chain->add_output(inout_format, OUTPUT_ALPHA_FORMAT_POSTMULTIPLIED);
chain->finalize();
return 0;