mirror of
https://github.com/asticode/go-astiav.git
synced 2024-05-28 13:53:18 +08:00
Minor changes
This commit is contained in:
parent
767f28bc3d
commit
6e42185a28
8
codec.go
8
codec.go
@ -101,19 +101,15 @@ func FindEncoderByName(n string) *Codec {
|
||||
return newCodecFromC(C.avcodec_find_encoder_by_name(cn))
|
||||
}
|
||||
|
||||
func (c *Codec) HardwareConfigs(dt HardwareDeviceType) []CodecHardwareConfig {
|
||||
var configs []CodecHardwareConfig
|
||||
func (c *Codec) HardwareConfigs(dt HardwareDeviceType) (configs []CodecHardwareConfig) {
|
||||
var i int
|
||||
|
||||
for {
|
||||
config := C.avcodec_get_hw_config(c.c, C.int(i))
|
||||
if config == nil {
|
||||
break
|
||||
}
|
||||
|
||||
configs = append(configs, CodecHardwareConfig{c: config})
|
||||
|
||||
i++
|
||||
}
|
||||
return configs
|
||||
return
|
||||
}
|
||||
|
@ -8,8 +8,8 @@ import "C"
|
||||
type CodecHardwareConfigMethodFlag int
|
||||
|
||||
const (
|
||||
CodecHardwareConfigMethodAdHoc = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_AD_HOC)
|
||||
CodecHardwareConfigMethodHwDeviceCtx = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX)
|
||||
CodecHardwareConfigMethodHwFramesCtx = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX)
|
||||
CodecHardwareConfigMethodInternal = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_INTERNAL)
|
||||
CodecHardwareConfigMethodFlagAdHoc = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_AD_HOC)
|
||||
CodecHardwareConfigMethodFlagHwDeviceCtx = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX)
|
||||
CodecHardwareConfigMethodFlagHwFramesCtx = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX)
|
||||
CodecHardwareConfigMethodFlagInternal = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_INTERNAL)
|
||||
)
|
||||
|
@ -78,8 +78,6 @@ func main() {
|
||||
// Loop through streams
|
||||
streams := make(map[int]*stream) // Indexed by input stream index
|
||||
for _, is := range inputFormatContext.Streams() {
|
||||
var err error
|
||||
|
||||
// Only process video
|
||||
if is.CodecParameters().MediaType() != astiav.MediaTypeVideo {
|
||||
continue
|
||||
@ -105,7 +103,7 @@ func main() {
|
||||
// Loop through codec hardware configs
|
||||
for _, p := range hardwareConfigs {
|
||||
// Valid hardware config
|
||||
if p.MethodFlags().Has(astiav.CodecHardwareConfigMethodHwDeviceCtx) && p.HardwareDeviceType() == hardwareDeviceType {
|
||||
if p.MethodFlags().Has(astiav.CodecHardwareConfigMethodFlagHwDeviceCtx) && p.HardwareDeviceType() == hardwareDeviceType {
|
||||
s.hardwarePixelFormat = p.PixelFormat()
|
||||
break
|
||||
}
|
||||
@ -122,6 +120,7 @@ func main() {
|
||||
}
|
||||
|
||||
// Create hardware device context
|
||||
var err error
|
||||
s.hardwareDeviceContext, err = astiav.CreateHardwareDeviceContext(hardwareDeviceType, "", nil)
|
||||
if err != nil {
|
||||
log.Fatal(fmt.Errorf("main: creating hardware device context failed: %w", err))
|
||||
|
Loading…
Reference in New Issue
Block a user