21 lines
659 B
Go
21 lines
659 B
Go
package generator
|
|
|
|
const v210RowAlignment = 128
|
|
|
|
// V210ActiveLineSize returns the number of bytes containing pixel data in one
|
|
// v210 row, including the final partial six-pixel block when needed.
|
|
func V210ActiveLineSize(width int) int {
|
|
return (width + 5) / 6 * 16
|
|
}
|
|
|
|
// V210LineSize returns the MXL v210 row stride. MXL stores every row at a
|
|
// 128-byte boundary, equivalent to rounding the width up to 48 pixels.
|
|
func V210LineSize(width int) int {
|
|
return ((width + 47) / 48) * v210RowAlignment
|
|
}
|
|
|
|
// V210FrameSize returns the complete MXL payload size for a v210 frame.
|
|
func V210FrameSize(width, height int) int {
|
|
return V210LineSize(width) * height
|
|
}
|