mirror of
https://github.com/asticode/go-astiav.git
synced 2025-10-05 08:06:59 +08:00

* 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
153 lines
5.6 KiB
Go
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)))
|
|
}
|