Added PixFmt() getter

This commit is contained in:
Alex Eidt 2022-04-22 13:33:16 -07:00
parent 2d72a27288
commit 9f884aeec1
3 changed files with 12 additions and 1 deletions

View file

@ -29,6 +29,7 @@ Duration() float64
FPS() float64 FPS() float64
Codec() string Codec() string
AudioCodec() string AudioCodec() string
PixFmt() string
FrameBuffer() []byte FrameBuffer() []byte
SetFrameBuffer(buffer []byte) SetFrameBuffer(buffer []byte)

View file

@ -19,12 +19,17 @@ func Read(filename string) (int, int, []byte, error) {
return 0, 0, nil, err return 0, 0, nil, err
} }
defer f.Close() defer f.Close()
image, _, err := image.Decode(f) image, _, err := image.Decode(f)
if err != nil { if err != nil {
return 0, 0, nil, err return 0, 0, nil, err
} }
bounds := image.Bounds().Max bounds := image.Bounds().Max
data := make([]byte, bounds.Y*bounds.X*3) size := bounds.X * bounds.Y * 3
data := make([]byte, size)
index := 0 index := 0
for h := 0; h < bounds.Y; h++ { for h := 0; h < bounds.Y; h++ {
for w := 0; w < bounds.X; w++ { for w := 0; w < bounds.X; w++ {
@ -57,6 +62,7 @@ func Write(filename string, width, height int, data []byte) error {
index += 3 index += 3
} }
} }
if strings.HasSuffix(filename, ".png") { if strings.HasSuffix(filename, ".png") {
if err := png.Encode(f, image); err != nil { if err := png.Encode(f, image); err != nil {
return err return err

View file

@ -69,6 +69,10 @@ func (video *Video) AudioCodec() string {
return video.audioCodec return video.audioCodec
} }
func (video *Video) PixFmt() string {
return video.pixfmt
}
func (video *Video) FrameBuffer() []byte { func (video *Video) FrameBuffer() []byte {
return video.framebuffer return video.framebuffer
} }