I'm successfully using IConfigureVideoEncoder from C# to change the dimensions of the output stream from the H.264 encoder. But a bunch of the fields within the Params structure seem to be underdocumented, so here are a list of questions:
Q1. I am calling IConfigureVideoEncoder.SetParams() after the input is connected, but before the output is connected. Is this the best time?
Q2. Here are the default values in Params:
ps_control: all zeros
I would guess that setting some of these values will alter some of the others, but the the interactions are opaque to me.
Q2a. What is target_usage?
Q2b. If ps_control is all zeros does this mean "codec, you figure it out?"
Q2c. Because preset is 3 (PRESET_FAST), does this mean none of my other settings will be accepted unless I set preset to PRESET_USER_DEFINED?
Q3: Does setting these values affect codec settings stored in the registry?