Files
go-astiav/flags_test.go
Cacsjep f836d58883 Implementation for SWS scale (#33)
* Draft implementation for SWS scale

* Update go.mod

* Revert "Update go.mod"

This reverts commit 760fb8c427.

* Renaming to AllocSwsContext and remove ChangeResolution this should handled by users

* update example to use new name and remove ChangeResolution

* Follow scaling example from libav, update readme, improve sws

Change scaling example to an similar libav example
Update readme
Add func to UpdateScalingParameters
Rename AllocSwsContext to SwsGetContext
Using a type for scaling algos/flags

* Fix Errors in scale example

* Review Changes

Now using sws context flags
Restructer sws context and adding ned simpler methods to update the ctx
Update the example
Update the test

* Correctly handle error for buffer alloc in PrepareDestinationFrameForScaling

* Add more getter and setter for sws

Get/Set source w,h,pixfmt
Get/Set dst w,h,pixfmt
Get/Set sws flags

* Adding resolution get/set

* Use CachedContext when updating sws ctx

* Review changes

Reorder flags, and update them
# Update Example
Use renaming function to create sws context
Clean up
Use new framdata image funcs
# Sws scale context
New way to update the context
Use sws_scale_frame instead of sws_scale
Reordering funcs for get and set
# Sws sclate context flag
Add "Flag" for algo name
# Update sws test

* fix fmt error args bug

* Review Changes

Simpfy sws update
Use c.int for sws flags
update test
2024-01-30 10:25:15 +01:00

153 lines
5.6 KiB
Go

// Code generated by astiav. DO NOT EDIT.
package astiav_test
import (
"testing"
"github.com/asticode/go-astiav"
"github.com/stretchr/testify/require"
)
func TestBuffersinkFlags(t *testing.T) {
fs := astiav.NewBuffersinkFlags(astiav.BuffersinkFlag(1))
require.True(t, fs.Has(astiav.BuffersinkFlag(1)))
fs = fs.Add(astiav.BuffersinkFlag(2))
require.True(t, fs.Has(astiav.BuffersinkFlag(2)))
fs = fs.Del(astiav.BuffersinkFlag(2))
require.False(t, fs.Has(astiav.BuffersinkFlag(2)))
}
func TestBuffersrcFlags(t *testing.T) {
fs := astiav.NewBuffersrcFlags(astiav.BuffersrcFlag(1))
require.True(t, fs.Has(astiav.BuffersrcFlag(1)))
fs = fs.Add(astiav.BuffersrcFlag(2))
require.True(t, fs.Has(astiav.BuffersrcFlag(2)))
fs = fs.Del(astiav.BuffersrcFlag(2))
require.False(t, fs.Has(astiav.BuffersrcFlag(2)))
}
func TestCodecContextFlags(t *testing.T) {
fs := astiav.NewCodecContextFlags(astiav.CodecContextFlag(1))
require.True(t, fs.Has(astiav.CodecContextFlag(1)))
fs = fs.Add(astiav.CodecContextFlag(2))
require.True(t, fs.Has(astiav.CodecContextFlag(2)))
fs = fs.Del(astiav.CodecContextFlag(2))
require.False(t, fs.Has(astiav.CodecContextFlag(2)))
}
func TestCodecContextFlags2(t *testing.T) {
fs := astiav.NewCodecContextFlags2(astiav.CodecContextFlag2(1))
require.True(t, fs.Has(astiav.CodecContextFlag2(1)))
fs = fs.Add(astiav.CodecContextFlag2(2))
require.True(t, fs.Has(astiav.CodecContextFlag2(2)))
fs = fs.Del(astiav.CodecContextFlag2(2))
require.False(t, fs.Has(astiav.CodecContextFlag2(2)))
}
func TestCodecHardwareConfigMethodFlags(t *testing.T) {
fs := astiav.NewCodecHardwareConfigMethodFlags(astiav.CodecHardwareConfigMethodFlag(1))
require.True(t, fs.Has(astiav.CodecHardwareConfigMethodFlag(1)))
fs = fs.Add(astiav.CodecHardwareConfigMethodFlag(2))
require.True(t, fs.Has(astiav.CodecHardwareConfigMethodFlag(2)))
fs = fs.Del(astiav.CodecHardwareConfigMethodFlag(2))
require.False(t, fs.Has(astiav.CodecHardwareConfigMethodFlag(2)))
}
func TestDictionaryFlags(t *testing.T) {
fs := astiav.NewDictionaryFlags(astiav.DictionaryFlag(1))
require.True(t, fs.Has(astiav.DictionaryFlag(1)))
fs = fs.Add(astiav.DictionaryFlag(2))
require.True(t, fs.Has(astiav.DictionaryFlag(2)))
fs = fs.Del(astiav.DictionaryFlag(2))
require.False(t, fs.Has(astiav.DictionaryFlag(2)))
}
func TestFilterCommandFlags(t *testing.T) {
fs := astiav.NewFilterCommandFlags(astiav.FilterCommandFlag(1))
require.True(t, fs.Has(astiav.FilterCommandFlag(1)))
fs = fs.Add(astiav.FilterCommandFlag(2))
require.True(t, fs.Has(astiav.FilterCommandFlag(2)))
fs = fs.Del(astiav.FilterCommandFlag(2))
require.False(t, fs.Has(astiav.FilterCommandFlag(2)))
}
func TestFormatContextFlags(t *testing.T) {
fs := astiav.NewFormatContextFlags(astiav.FormatContextFlag(1))
require.True(t, fs.Has(astiav.FormatContextFlag(1)))
fs = fs.Add(astiav.FormatContextFlag(2))
require.True(t, fs.Has(astiav.FormatContextFlag(2)))
fs = fs.Del(astiav.FormatContextFlag(2))
require.False(t, fs.Has(astiav.FormatContextFlag(2)))
}
func TestFormatContextCtxFlags(t *testing.T) {
fs := astiav.NewFormatContextCtxFlags(astiav.FormatContextCtxFlag(1))
require.True(t, fs.Has(astiav.FormatContextCtxFlag(1)))
fs = fs.Add(astiav.FormatContextCtxFlag(2))
require.True(t, fs.Has(astiav.FormatContextCtxFlag(2)))
fs = fs.Del(astiav.FormatContextCtxFlag(2))
require.False(t, fs.Has(astiav.FormatContextCtxFlag(2)))
}
func TestFormatEventFlags(t *testing.T) {
fs := astiav.NewFormatEventFlags(astiav.FormatEventFlag(1))
require.True(t, fs.Has(astiav.FormatEventFlag(1)))
fs = fs.Add(astiav.FormatEventFlag(2))
require.True(t, fs.Has(astiav.FormatEventFlag(2)))
fs = fs.Del(astiav.FormatEventFlag(2))
require.False(t, fs.Has(astiav.FormatEventFlag(2)))
}
func TestIOContextFlags(t *testing.T) {
fs := astiav.NewIOContextFlags(astiav.IOContextFlag(1))
require.True(t, fs.Has(astiav.IOContextFlag(1)))
fs = fs.Add(astiav.IOContextFlag(2))
require.True(t, fs.Has(astiav.IOContextFlag(2)))
fs = fs.Del(astiav.IOContextFlag(2))
require.False(t, fs.Has(astiav.IOContextFlag(2)))
}
func TestIOFormatFlags(t *testing.T) {
fs := astiav.NewIOFormatFlags(astiav.IOFormatFlag(1))
require.True(t, fs.Has(astiav.IOFormatFlag(1)))
fs = fs.Add(astiav.IOFormatFlag(2))
require.True(t, fs.Has(astiav.IOFormatFlag(2)))
fs = fs.Del(astiav.IOFormatFlag(2))
require.False(t, fs.Has(astiav.IOFormatFlag(2)))
}
func TestPacketFlags(t *testing.T) {
fs := astiav.NewPacketFlags(astiav.PacketFlag(1))
require.True(t, fs.Has(astiav.PacketFlag(1)))
fs = fs.Add(astiav.PacketFlag(2))
require.True(t, fs.Has(astiav.PacketFlag(2)))
fs = fs.Del(astiav.PacketFlag(2))
require.False(t, fs.Has(astiav.PacketFlag(2)))
}
func TestSeekFlags(t *testing.T) {
fs := astiav.NewSeekFlags(astiav.SeekFlag(1))
require.True(t, fs.Has(astiav.SeekFlag(1)))
fs = fs.Add(astiav.SeekFlag(2))
require.True(t, fs.Has(astiav.SeekFlag(2)))
fs = fs.Del(astiav.SeekFlag(2))
require.False(t, fs.Has(astiav.SeekFlag(2)))
}
func TestSoftwareScaleContextFlags(t *testing.T) {
fs := astiav.NewSoftwareScaleContextFlags(astiav.SoftwareScaleContextFlag(1))
require.True(t, fs.Has(astiav.SoftwareScaleContextFlag(1)))
fs = fs.Add(astiav.SoftwareScaleContextFlag(2))
require.True(t, fs.Has(astiav.SoftwareScaleContextFlag(2)))
fs = fs.Del(astiav.SoftwareScaleContextFlag(2))
require.False(t, fs.Has(astiav.SoftwareScaleContextFlag(2)))
}
func TestStreamEventFlags(t *testing.T) {
fs := astiav.NewStreamEventFlags(astiav.StreamEventFlag(1))
require.True(t, fs.Has(astiav.StreamEventFlag(1)))
fs = fs.Add(astiav.StreamEventFlag(2))
require.True(t, fs.Has(astiav.StreamEventFlag(2)))
fs = fs.Del(astiav.StreamEventFlag(2))
require.False(t, fs.Has(astiav.StreamEventFlag(2)))
}