summaryrefslogtreecommitdiff
path: root/libavfilter/metal
Commit message (Collapse)AuthorAge
* lavfi/metal: fix build with pre-10.11 deployment targetsrcombs2021-12-22
| | | | | | | | | | - Ensure the yadif .metal compiles when targeting any Metal runtime version - Use some preprocessor awkwardness to ensure Core Video's Metal-specific functionality is exposed regardless of our deployment target (this works around what seems to be an SDK header bug, filed as FB9816002) - Ensure all direct references to Metal functions and classes are gated behind runtime version checks (this satisfies clang's deployment-target violation warnings provided by -Wunguarded-availability).
* lavfi/metal: fix build on pre-10.15 SDKsrcombs2021-12-22
|
* lavfi/metal: don't use braced-include for internal headersrcombs2021-12-22
|
* avfilter: add vf_yadif_videotoolboxAman Karmani2021-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | deinterlaces CVPixelBuffers, i.e. AV_PIX_FMT_VIDEOTOOLBOX frames for example, an interlaced mpeg2 video can be decoded by avcodec, uploaded into a CVPixelBuffer, deinterlaced by Metal, and then encoded to h264 by VideoToolbox as follows: ffmpeg \ -init_hw_device videotoolbox \ -i interlaced.ts \ -vf hwupload,yadif_videotoolbox \ -c:v h264_videotoolbox \ -b:v 2000k \ -c:a copy \ -y progressive.ts (note that uploading AVFrame into CVPixelBuffer via hwupload requires 504c60660d3194758823ddd45ceddb86e35d806f) this work is sponsored by Fancy Bits LLC Reviewed-by: Ridley Combs <rcombs@rcombs.me> Reviewed-by: Philip Langdale <philipl@overt.org> Signed-off-by: Aman Karmani <aman@tmm1.net>
* avfilter: add metal utilitiesAman Karmani2021-12-18
Reviewed-by: Ridley Combs <rcombs@rcombs.me> Signed-off-by: Aman Karmani <aman@tmm1.net>