mirror of
https://github.com/qrtc/ffmpeg-dev-go.git
synced 2025-10-05 15:47:33 +08:00
2023-10-26 13:54:33 CST W43D4
This commit is contained in:
102
avutil_stereo3d.go
Normal file
102
avutil_stereo3d.go
Normal file
@@ -0,0 +1,102 @@
|
||||
package ffmpeg
|
||||
|
||||
/*
|
||||
#include <libavutil/stereo3d.h>
|
||||
*/
|
||||
import "C"
|
||||
|
||||
// AVStereo3DType
|
||||
type AVStereo3DType = C.enum_AVStereo3DType
|
||||
|
||||
const (
|
||||
AV_STEREO3D_2D = AVStereo3DType(C.AV_STEREO3D_2D)
|
||||
AV_STEREO3D_SIDEBYSIDE = AVStereo3DType(C.AV_STEREO3D_SIDEBYSIDE)
|
||||
AV_STEREO3D_TOPBOTTOM = AVStereo3DType(C.AV_STEREO3D_TOPBOTTOM)
|
||||
AV_STEREO3D_FRAMESEQUENCE = AVStereo3DType(C.AV_STEREO3D_FRAMESEQUENCE)
|
||||
AV_STEREO3D_CHECKERBOARD = AVStereo3DType(C.AV_STEREO3D_CHECKERBOARD)
|
||||
AV_STEREO3D_SIDEBYSIDE_QUINCUNX = AVStereo3DType(C.AV_STEREO3D_SIDEBYSIDE_QUINCUNX)
|
||||
AV_STEREO3D_LINES = AVStereo3DType(C.AV_STEREO3D_LINES)
|
||||
AV_STEREO3D_COLUMNS = AVStereo3DType(C.AV_STEREO3D_COLUMNS)
|
||||
)
|
||||
|
||||
// AVStereo3DView
|
||||
type AVStereo3DView = C.enum_AVStereo3DView
|
||||
|
||||
const (
|
||||
AV_STEREO3D_VIEW_PACKED = AVStereo3DView(C.AV_STEREO3D_VIEW_PACKED)
|
||||
AV_STEREO3D_VIEW_LEFT = AVStereo3DView(C.AV_STEREO3D_VIEW_LEFT)
|
||||
AV_STEREO3D_VIEW_RIGHT = AVStereo3DView(C.AV_STEREO3D_VIEW_RIGHT)
|
||||
)
|
||||
|
||||
const (
|
||||
AV_STEREO3D_FLAG_INVERT = C.AV_STEREO3D_FLAG_INVERT
|
||||
)
|
||||
|
||||
type AVStereo3D C.struct_AVStereo3D
|
||||
|
||||
// Custom: GetType gets `AVStereo3D.type` value.
|
||||
func (s3d *AVStereo3D) GetType() AVStereo3DType {
|
||||
return (AVStereo3DType)(s3d._type)
|
||||
}
|
||||
|
||||
// Custom: SetType sets `AVStereo3D.type` value.
|
||||
func (s3d *AVStereo3D) SetType(v AVStereo3DType) {
|
||||
s3d._type = (C.enum_AVStereo3DType)(v)
|
||||
}
|
||||
|
||||
// Custom: GetTypeAddr gets `AVStereo3D.type` address.
|
||||
func (s3d *AVStereo3D) GetTypeAddr() *AVStereo3DType {
|
||||
return (*AVStereo3DType)(&s3d._type)
|
||||
}
|
||||
|
||||
// Custom: GetFlags gets `AVStereo3D.flags` value.
|
||||
func (s3d *AVStereo3D) GetFlags() int32 {
|
||||
return (int32)(s3d.flags)
|
||||
}
|
||||
|
||||
// Custom: SetFlags sets `AVStereo3D.flags` value.
|
||||
func (s3d *AVStereo3D) SetFlags(v int32) {
|
||||
s3d.flags = (C.int32_t)(v)
|
||||
}
|
||||
|
||||
// Custom: GetFlagsAddr gets `AVStereo3D.flags` address.
|
||||
func (s3d *AVStereo3D) GetFlagsAddr() *int32 {
|
||||
return (*int32)(&s3d.flags)
|
||||
}
|
||||
|
||||
// Custom: GetView gets `AVStereo3D.view` value.
|
||||
func (s3d *AVStereo3D) GetView() AVStereo3DView {
|
||||
return (AVStereo3DView)(s3d.view)
|
||||
}
|
||||
|
||||
// Custom: SetView sets `AVStereo3D.view` value.
|
||||
func (s3d *AVStereo3D) SetView(v AVStereo3DView) {
|
||||
s3d.view = (C.enum_AVStereo3DView)(v)
|
||||
}
|
||||
|
||||
// Custom: GetViewAddr gets `AVStereo3D.view` address.
|
||||
func (s3d *AVStereo3D) GetViewAddr() *AVStereo3DView {
|
||||
return (*AVStereo3DView)(&s3d.view)
|
||||
}
|
||||
|
||||
// AvStereo3dAlloc allocates an AVStereo3D structure and set its fields to default values.
|
||||
func AvStereo3dAlloc() *AVStereo3D {
|
||||
return (*AVStereo3D)(C.av_stereo3d_alloc())
|
||||
}
|
||||
|
||||
// AvStereo3dCreateSideData allocates a complete AVFrameSideData and add it to the frame.
|
||||
func AvStereo3dCreateSideData(frame *AVFrame) *AVStereo3D {
|
||||
return (*AVStereo3D)(C.av_stereo3d_create_side_data((*C.struct_AVFrame)(frame)))
|
||||
}
|
||||
|
||||
// AvStereo3dTypeName provides a human-readable name of a given stereo3d type.
|
||||
func AvStereo3dTypeName(_type uint32) string {
|
||||
return C.GoString(C.av_stereo3d_type_name((C.uint)(_type)))
|
||||
}
|
||||
|
||||
// AvStereo3dFromName gets the AVStereo3DType form a human-readable name.
|
||||
func AvStereo3dFromName(name string) int32 {
|
||||
namePtr, nameFunc := StringCasting(name)
|
||||
defer nameFunc()
|
||||
return (int32)(C.av_stereo3d_from_name((*C.char)(namePtr)))
|
||||
}
|
Reference in New Issue
Block a user