Files
go-mxl-pattern-generator/internal/video/config.go
T
2026-09-17 23:16:59 +03:00

49 lines
791 B
Go

package video
import (
"mxl-pattern-generator/internal/flowdef"
"github.com/qvest-digital/go-mxl/mxl"
)
type Backend string
const (
BackendAuto Backend = "auto"
BackendGPU Backend = "gpu"
BackendCPU Backend = "cpu"
)
type Config struct {
Definition flowdef.Video
Pattern string
Overlay OverlayConfig
Backend Backend
}
type OverlayConfig struct {
Text string
X int
Y int
Position string
}
func (c Config) ID() string {
return c.Definition.ID
}
func (c Config) Width() uint {
return c.Definition.FrameWidth
}
func (c Config) Height() uint {
return c.Definition.FrameHeight
}
func (c Config) Rate() mxl.Rational {
return mxl.Rational{
Num: int64(c.Definition.GrainRate.Numerator),
Den: int64(c.Definition.GrainRate.Denominator),
}
}