X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect_chain.h;h=48ed15291bbcbf92014ddd24ec1cb0b0a0554d44;hp=ea4926b304efafad329e7309caf34d9252058544;hb=af438a8d5331bb1435494eaf377256deac74f408;hpb=6bef53bef32b4e32e01bc896ccce1d2dc5c1bdcb diff --git a/effect_chain.h b/effect_chain.h index ea4926b..48ed152 100644 --- a/effect_chain.h +++ b/effect_chain.h @@ -263,9 +263,9 @@ public: // Y'CbCr output (see below for details). void add_output(const ImageFormat &format, OutputAlphaFormat alpha_format); - // Adds an YCbCr output. Note that you can only have one output. - // Currently, only chunked packed output is supported, and only 4:4:4 - // (so chroma_subsampling_x and chroma_subsampling_y must both be 1). + // Adds an YCbCr output. Note that you can only have one Y'CbCr output. + // Currently, only 4:4:4 output is supported, so chroma_subsampling_x + // and chroma_subsampling_y must both be 1. // // If you have both RGBA and Y'CbCr output, the RGBA output will come // in the last draw buffer. Also, and must be @@ -274,6 +274,12 @@ public: const YCbCrFormat &ycbcr_format, YCbCrOutputSplitting output_splitting = YCBCR_OUTPUT_INTERLEAVED); + // Change Y'CbCr output format. (This can be done also after finalize()). + // Note that you are not allowed to change subsampling parameters; + // however, you can change the color space parameters, ie., + // luma_coefficients, full_range and num_levels. + void change_ycbcr_output_format(const YCbCrFormat &ycbcr_format); + // Set number of output bits, to scale the dither. // 8 is the right value for most outputs. // The default, 0, is a special value that means no dither. @@ -486,6 +492,7 @@ private: std::vector nodes; std::map node_map; Effect *dither_effect; + Node *ycbcr_conversion_effect_node; std::vector inputs; // Also contained in nodes. std::vector phases;