The frame pump now submits crop-sized BGRA frames; FFmpeg scales them to final tier dimensions. Bundled scaler benchmark: 300 608x1080 to 1080x1920 frames in 0.435s (scaler-only). Reference: https://ffmpeg.org/ffmpeg-filters.html#scale-1
20 lines
774 B
C#
20 lines
774 B
C#
namespace ytLive.Services.Compositor;
|
||
|
||
/// <summary>
|
||
/// Where the compositor draws from (the active quality tier's crop over the
|
||
/// 1920×1080 master) and the size of the BGRA frame it sends to the encoder. The
|
||
/// compositor frame is the crop itself; FFmpeg scales it to the selected output
|
||
/// dimensions. The source rect is integer-aligned — MainViewModel's
|
||
/// <c>OutputRectX</c> can be 656.5, so the caller rounds before building these options.
|
||
/// </summary>
|
||
public sealed class CompositorOptions
|
||
{
|
||
public int SourceRectX { get; init; }
|
||
public int SourceRectY { get; init; }
|
||
public int SourceRectWidth { get; init; }
|
||
public int SourceRectHeight { get; init; }
|
||
|
||
public int OutputWidth { get; init; }
|
||
public int OutputHeight { get; init; }
|
||
}
|