mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-29 18:48:44 +00:00
applemedia: Document vtenc / vtdec elements
Also preserve-alpha property should only be exposed on the vtenc_prores element since h264 does not support transparency. Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/94 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1601>
This commit is contained in:
parent
35b27aa7cb
commit
d05fcadf4e
5 changed files with 1016 additions and 7 deletions
|
@ -913,6 +913,764 @@
|
|||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"applemedia": {
|
||||
"description": "Elements for capture and codec access on Apple OS X and iOS",
|
||||
"elements": {
|
||||
"atdec": {
|
||||
"author": "Alessandro Decina <alessandro.d@gmail.com>",
|
||||
"description": "AudioToolbox based audio decoder",
|
||||
"hierarchy": [
|
||||
"GstATDec",
|
||||
"GstAudioDecoder",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"klass": "Codec/Decoder/Audio",
|
||||
"long-name": "AudioToolbox based audio decoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "audio/mpeg:\n mpegversion: 4\n framed: true\n channels: [ 1, 2147483647 ]\naudio/mpeg:\n mpegversion: 1\n layer: [ 1, 3 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "audio/x-raw:\n format: S16LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\naudio/x-raw:\n format: F32LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"rank": "marginal"
|
||||
},
|
||||
"avfassetsrc": {
|
||||
"author": "Andoni Morales Alastruey amorales@fluendo.com",
|
||||
"description": "Read and decode samples from AVFoundation assets using the AVFAssetReader API",
|
||||
"hierarchy": [
|
||||
"GstAVFAssetSrc",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstURIHandler"
|
||||
],
|
||||
"klass": "Source/Codec",
|
||||
"long-name": "Source and decoder for AVFoundation assets",
|
||||
"pad-templates": {
|
||||
"audio": {
|
||||
"caps": "audio/x-raw:\n format: F32LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2 ]\n layout: interleaved\n",
|
||||
"direction": "src",
|
||||
"presence": "sometimes"
|
||||
},
|
||||
"video": {
|
||||
"caps": "video/x-raw:\n format: NV12\n framerate: [ 0/1, 2147483647/1 ]\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "sometimes"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"uri": {
|
||||
"blurb": "URI of the asset to read",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "NULL",
|
||||
"mutable": "ready",
|
||||
"readable": true,
|
||||
"type": "gchararray",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "secondary"
|
||||
},
|
||||
"avfvideosrc": {
|
||||
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>",
|
||||
"description": "Reads frames from an iOS AVFoundation device",
|
||||
"hierarchy": [
|
||||
"GstAVFVideoSrc",
|
||||
"GstPushSrc",
|
||||
"GstBaseSrc",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"klass": "Source/Video/Hardware",
|
||||
"long-name": "Video Source (AVFoundation)",
|
||||
"pad-templates": {
|
||||
"src": {
|
||||
"caps": "video/x-raw(memory:GLMemory):\n format: UYVY\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\nvideo/x-raw:\n format: { NV12, UYVY, YUY2 }\n framerate: [ 0/1, 2147483647/1 ]\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/x-raw:\n format: BGRA\n framerate: [ 0/1, 2147483647/1 ]\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"capture-screen": {
|
||||
"blurb": "Enable screen capture functionality",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"capture-screen-cursor": {
|
||||
"blurb": "Enable cursor capture while capturing screen",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"capture-screen-mouse-clicks": {
|
||||
"blurb": "Enable mouse clicks capture while capturing screen",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"device-index": {
|
||||
"blurb": "The zero-based device index",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "-1",
|
||||
"max": "2147483647",
|
||||
"min": "-1",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
},
|
||||
"device-name": {
|
||||
"blurb": "The name of the currently opened capture device",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "NULL",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gchararray",
|
||||
"writable": false
|
||||
},
|
||||
"device-type": {
|
||||
"blurb": "The general type of a video capture device",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "default (0)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstAVFVideoSourceDeviceType",
|
||||
"writable": true
|
||||
},
|
||||
"do-stats": {
|
||||
"blurb": "Enable logging of statistics",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"fps": {
|
||||
"blurb": "Last measured framerate, if statistics are enabled",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "-1",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": false
|
||||
},
|
||||
"orientation": {
|
||||
"blurb": "The orientation of the video",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "default (0)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstAVFVideoSourceOrientation",
|
||||
"writable": true
|
||||
},
|
||||
"position": {
|
||||
"blurb": "The position of the capture device (front or back-facing)",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "default (0)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstAVFVideoSourcePosition",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "secondary"
|
||||
},
|
||||
"avsamplebufferlayersink": {
|
||||
"author": "Matthew Waters <matthew@centricular.com>",
|
||||
"description": "A videosink based on AVSampleBuffers",
|
||||
"hierarchy": [
|
||||
"GstAVSampleVideoSink",
|
||||
"GstVideoSink",
|
||||
"GstBaseSink",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"klass": "Sink/Video",
|
||||
"long-name": "AV Sample video sink",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { RGB, BGR, ARGB, BGRA, ABGR, RGBA, YUY2, UYVY, NV12, I420 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"force-aspect-ratio": {
|
||||
"blurb": "When enabled, scaling will respect original aspect ratio",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "true",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"layer": {
|
||||
"blurb": "The CoreAnimation layer that can be placed in the render tree",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gpointer",
|
||||
"writable": false
|
||||
}
|
||||
},
|
||||
"rank": "none"
|
||||
},
|
||||
"vtdec": {
|
||||
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>; Alessandro Decina <alessandro.d@gmail.com>",
|
||||
"description": "Apple VideoToolbox Decoder",
|
||||
"hierarchy": [
|
||||
"GstVtdec",
|
||||
"GstVideoDecoder",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"klass": "Codec/Decoder/Video/Hardware",
|
||||
"long-name": "Apple VideoToolbox decoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw:\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"rank": "secondary"
|
||||
},
|
||||
"vtdec_hw": {
|
||||
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>; Alessandro Decina <alessandro.d@gmail.com>",
|
||||
"description": "Apple VideoToolbox Decoder",
|
||||
"hierarchy": [
|
||||
"GstVtdecHw",
|
||||
"GstVtdec",
|
||||
"GstVideoDecoder",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"klass": "Codec/Decoder/Video/Hardware",
|
||||
"long-name": "Apple VideoToolbox decoder (hardware only)",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-raw:\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"rank": "primary + 1"
|
||||
},
|
||||
"vtenc_h264": {
|
||||
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>, Dominik Röttsches <dominik.rottsches@intel.com>",
|
||||
"description": "H.264 encoder",
|
||||
"hierarchy": [
|
||||
"vtenc_h264",
|
||||
"GstVideoEncoder",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstPreset"
|
||||
],
|
||||
"klass": "Codec/Encoder/Video/Hardware",
|
||||
"long-name": "H.264 encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-h264:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: avc\n alignment: au\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"allow-frame-reordering": {
|
||||
"blurb": "Whether to allow frame reordering or not",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "true",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"bitrate": {
|
||||
"blurb": "Target video bitrate in kbps (0 = auto)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "-1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"max-keyframe-interval": {
|
||||
"blurb": "Maximum number of frames between keyframes (0 = auto)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
},
|
||||
"max-keyframe-interval-duration": {
|
||||
"blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "18446744073709551615",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint64",
|
||||
"writable": true
|
||||
},
|
||||
"quality": {
|
||||
"blurb": "The desired compression quality",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0.5",
|
||||
"max": "1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gdouble",
|
||||
"writable": true
|
||||
},
|
||||
"realtime": {
|
||||
"blurb": "Configure the encoder for realtime output",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "primary"
|
||||
},
|
||||
"vtenc_h264_hw": {
|
||||
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>, Dominik Röttsches <dominik.rottsches@intel.com>",
|
||||
"description": "H.264 (HW only) encoder",
|
||||
"hierarchy": [
|
||||
"vtenc_h264_hw",
|
||||
"GstVideoEncoder",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstPreset"
|
||||
],
|
||||
"klass": "Codec/Encoder/Video/Hardware",
|
||||
"long-name": "H.264 (HW only) encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-h264:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: avc\n alignment: au\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"allow-frame-reordering": {
|
||||
"blurb": "Whether to allow frame reordering or not",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "true",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"bitrate": {
|
||||
"blurb": "Target video bitrate in kbps (0 = auto)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "-1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"max-keyframe-interval": {
|
||||
"blurb": "Maximum number of frames between keyframes (0 = auto)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
},
|
||||
"max-keyframe-interval-duration": {
|
||||
"blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "18446744073709551615",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint64",
|
||||
"writable": true
|
||||
},
|
||||
"quality": {
|
||||
"blurb": "The desired compression quality",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0.5",
|
||||
"max": "1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gdouble",
|
||||
"writable": true
|
||||
},
|
||||
"realtime": {
|
||||
"blurb": "Configure the encoder for realtime output",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "primary"
|
||||
},
|
||||
"vtenc_prores": {
|
||||
"author": "Ole André Vadla Ravnås <oleavr@soundrop.com>, Dominik Röttsches <dominik.rottsches@intel.com>",
|
||||
"description": "Apple ProRes encoder",
|
||||
"hierarchy": [
|
||||
"vtenc_prores",
|
||||
"GstVideoEncoder",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstPreset"
|
||||
],
|
||||
"klass": "Codec/Encoder/Video/Hardware",
|
||||
"long-name": "Apple ProRes encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-prores:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n variant: { (string)standard, (string)4444xq, (string)4444, (string)hq, (string)lt, (string)proxy }\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"allow-frame-reordering": {
|
||||
"blurb": "Whether to allow frame reordering or not",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "true",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"bitrate": {
|
||||
"blurb": "Target video bitrate in kbps (0 = auto)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "-1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"max-keyframe-interval": {
|
||||
"blurb": "Maximum number of frames between keyframes (0 = auto)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
},
|
||||
"max-keyframe-interval-duration": {
|
||||
"blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "18446744073709551615",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint64",
|
||||
"writable": true
|
||||
},
|
||||
"preserve-alpha": {
|
||||
"blurb": "Video alpha values (non opaque) need to be preserved",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "true",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"quality": {
|
||||
"blurb": "The desired compression quality",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0.5",
|
||||
"max": "1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gdouble",
|
||||
"writable": true
|
||||
},
|
||||
"realtime": {
|
||||
"blurb": "Configure the encoder for realtime output",
|
||||
"conditionally-available": false,
|
||||
"construct": true,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "primary"
|
||||
}
|
||||
},
|
||||
"filename": "gstapplemedia",
|
||||
"license": "LGPL",
|
||||
"other-types": {
|
||||
"GstAVFVideoSourceDeviceType": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "A built-in wide angle camera. These devices are suitable for general purpose use.",
|
||||
"name": "wide-angle",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "A built-in camera device with a longer focal length than a wide-angle camera.",
|
||||
"name": "telephoto",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"desc": "A dual camera device, combining built-in wide-angle and telephoto cameras that work together as a single capture device.",
|
||||
"name": "dual",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"desc": "Default",
|
||||
"name": "default",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
},
|
||||
"GstAVFVideoSourceOrientation": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "Indicates that video should be oriented vertically, top at the top.",
|
||||
"name": "portrait",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "Indicates that video should be oriented vertically, top at the bottom.",
|
||||
"name": "portrat-upside-down",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"desc": "Indicates that video should be oriented horizontally, top on the left.",
|
||||
"name": "landscape-right",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"desc": "Indicates that video should be oriented horizontally, top on the right.",
|
||||
"name": "landscape-left",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"desc": "Default",
|
||||
"name": "default",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
},
|
||||
"GstAVFVideoSourcePosition": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "Front-facing camera",
|
||||
"name": "front",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "Back-facing camera",
|
||||
"name": "back",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"desc": "Default",
|
||||
"name": "default",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": "GStreamer Bad Plug-ins",
|
||||
"source": "gst-plugins-bad",
|
||||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"asfmux": {
|
||||
"description": "ASF Muxer Plugin",
|
||||
"elements": {
|
||||
|
|
|
@ -1353,6 +1353,10 @@ gst_avf_video_src_class_init (GstAVFVideoSrcClass * klass)
|
|||
|
||||
GST_DEBUG_CATEGORY_INIT (gst_avf_video_src_debug, "avfvideosrc",
|
||||
0, "iOS AVFoundation video source");
|
||||
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_AVF_VIDEO_SOURCE_POSITION, 0);
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_AVF_VIDEO_SOURCE_ORIENTATION, 0);
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_AVF_VIDEO_SOURCE_DEVICE_TYPE, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -19,9 +19,10 @@
|
|||
*/
|
||||
/**
|
||||
* SECTION:element-vtdec
|
||||
* @title: gstvtdec
|
||||
* @title: vtdec
|
||||
*
|
||||
* Apple VideoToolbox based decoder.
|
||||
* Apple VideoToolbox based decoder which might use a HW or a SW
|
||||
* implementation depending on the device.
|
||||
*
|
||||
* ## Example launch line
|
||||
* |[
|
||||
|
@ -31,6 +32,20 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vtdec_hw
|
||||
* @title: vtdec_hw
|
||||
*
|
||||
* Apple VideoToolbox based HW-only decoder.
|
||||
*
|
||||
* ## Example launch line
|
||||
* |[
|
||||
* gst-launch-1.0 -v filesrc location=file.mov ! qtdemux ! queue ! h264parse ! vtdec_hw ! videoconvert ! autovideosink
|
||||
* ]|
|
||||
* Decode h264 video from a mov file.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
|
|
@ -17,6 +17,49 @@
|
|||
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vtenc_h264
|
||||
* @title: vtenc_h264
|
||||
*
|
||||
* Apple VideoToolbox H264 encoder, which can either use HW or a SW
|
||||
* implementation depending on the device.
|
||||
*
|
||||
* ## Example pipeline
|
||||
* |[
|
||||
* gst-launch-1.0 -v videotestsrc ! vtenc_h264 ! qtmux ! filesink location=out.mov
|
||||
* ]| Encode a test video pattern and save it as an MOV file
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vtenc_h264_hw
|
||||
* @title: vtenc_h264_hw
|
||||
*
|
||||
* Apple VideoToolbox H264 HW-only encoder (only available on macOS at
|
||||
* present).
|
||||
*
|
||||
* ## Example pipeline
|
||||
* |[
|
||||
* gst-launch-1.0 -v videotestsrc ! vtenc_h264_hw ! qtmux ! filesink location=out.mov
|
||||
* ]| Encode a test video pattern and save it as an MOV file
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vtenc_prores
|
||||
* @title: vtenc_prores
|
||||
*
|
||||
* Apple VideoToolbox ProRes encoder
|
||||
*
|
||||
* ## Example pipeline
|
||||
* |[
|
||||
* gst-launch-1.0 -v videotestsrc ! vtenc_prores ! qtmux ! filesink location=out.mov
|
||||
* ]| Encode a test video pattern and save it as an MOV file
|
||||
*
|
||||
* Since: 1.20
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
@ -315,11 +358,24 @@ gst_vtenc_class_init (GstVTEncClass * klass)
|
|||
G_MAXUINT64, VTENC_DEFAULT_MAX_KEYFRAME_INTERVAL_DURATION,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
|
||||
|
||||
g_object_class_install_property (gobject_class, PROP_PRESERVE_ALPHA,
|
||||
g_param_spec_boolean ("preserve-alpha", "Preserve Video Alpha Values",
|
||||
"Video alpha values (non opaque) need to be perserved.",
|
||||
VTENC_DEFAULT_PRESERVE_ALPHA,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
|
||||
/*
|
||||
* H264 doesn't support alpha components, so only add the property for prores
|
||||
*/
|
||||
if (g_strcmp0 (G_OBJECT_CLASS_NAME (klass), "vtenc_prores") == 0) {
|
||||
/**
|
||||
* vtenc_prores:preserve-alpha
|
||||
*
|
||||
* Preserve non-opaque video alpha values from the input video when
|
||||
* compressing, else treat all alpha component as opaque. Default is %TRUE.
|
||||
*
|
||||
* Since: 1.20
|
||||
*/
|
||||
g_object_class_install_property (gobject_class, PROP_PRESERVE_ALPHA,
|
||||
g_param_spec_boolean ("preserve-alpha", "Preserve Video Alpha Values",
|
||||
"Video alpha values (non opaque) need to be preserved",
|
||||
VTENC_DEFAULT_PRESERVE_ALPHA,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -10749,6 +10749,182 @@
|
|||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"osxaudio": {
|
||||
"description": "OSX (Mac OS X) audio support for GStreamer",
|
||||
"elements": {
|
||||
"osxaudiosink": {
|
||||
"author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>",
|
||||
"description": "Output to a sound card in OS X",
|
||||
"hierarchy": [
|
||||
"GstOsxAudioSink",
|
||||
"GstAudioBaseSink",
|
||||
"GstBaseSink",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstOsxAudioElement"
|
||||
],
|
||||
"klass": "Sink/Audio",
|
||||
"long-name": "Audio Sink (OSX)",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "audio/x-raw:\n format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n layout: interleaved\n rate: [ 1, 2147483647 ]\n channels: [ 1, 9 ]\naudio/x-ac3:\n framed: true\naudio/x-dts:\n framed: true\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"device": {
|
||||
"blurb": "Device ID of output device",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
},
|
||||
"volume": {
|
||||
"blurb": "Volume of this stream",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "1",
|
||||
"max": "1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gdouble",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "primary"
|
||||
},
|
||||
"osxaudiosrc": {
|
||||
"author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>",
|
||||
"description": "Input from a sound card in OS X",
|
||||
"hierarchy": [
|
||||
"GstOsxAudioSrc",
|
||||
"GstAudioBaseSrc",
|
||||
"GstPushSrc",
|
||||
"GstBaseSrc",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstOsxAudioElement"
|
||||
],
|
||||
"klass": "Source/Audio",
|
||||
"long-name": "Audio Source (OSX)",
|
||||
"pad-templates": {
|
||||
"src": {
|
||||
"caps": "audio/x-raw:\n format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n layout: interleaved\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"device": {
|
||||
"blurb": "Device ID of input device",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "primary"
|
||||
}
|
||||
},
|
||||
"filename": "gstosxaudio",
|
||||
"license": "LGPL",
|
||||
"other-types": {},
|
||||
"package": "GStreamer Good Plug-ins",
|
||||
"source": "gst-plugins-good",
|
||||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"osxvideo": {
|
||||
"description": "OSX native video output plugin",
|
||||
"elements": {
|
||||
"osxvideosink": {
|
||||
"author": "Zaheer Abbas Merali <zaheerabbas at merali dot org>",
|
||||
"description": "OSX native videosink",
|
||||
"hierarchy": [
|
||||
"GstOSXVideoSink",
|
||||
"GstVideoSink",
|
||||
"GstBaseSink",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstVideoOverlay",
|
||||
"GstNavigation"
|
||||
],
|
||||
"klass": "Sink/Video",
|
||||
"long-name": "OSX Video sink",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n framerate: [ 0/1, 2147483647/1 ]\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n format: UYVY\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"embed": {
|
||||
"blurb": "For ABI compatibility only, do not use",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"force-aspect-ratio": {
|
||||
"blurb": "When enabled, scaling will respect original aspect ration",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "marginal"
|
||||
}
|
||||
},
|
||||
"filename": "gstosxvideo",
|
||||
"license": "LGPL",
|
||||
"other-types": {},
|
||||
"package": "GStreamer Good Plug-ins",
|
||||
"source": "gst-plugins-good",
|
||||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"png": {
|
||||
"description": "PNG plugin library",
|
||||
"elements": {
|
||||
|
|
Loading…
Reference in a new issue