49 lines
791 B
Go
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),
|
|
}
|
|
}
|