Multi-codec and file format support for QuickTime on Mac
Switch branches/tags
Nothing to show
Clone or download
Latest commit 7792726 Aug 10, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Binaries Update yasm to 1.2; remove ppc slices from ragel binaries Dec 10, 2011
CoreAudio Import updated ACPublic/CoreAudio classes Nov 6, 2012
FFissionCodec Fix some warnings found by enabling suspicious integer conversions Nov 16, 2012
Opener Add a opener app so we have something to define public.movie UTI for … Aug 25, 2009
Patches Restore needed patches against libav v0.8.4 Nov 6, 2012
Perian.xcodeproj Swscale-based colorspace converter for reference Nov 16, 2012
Plists Update trunk version to 1.3 Dec 10, 2011
Release Added support for Indeo 4 Feb 14, 2013
Resources Some changes to make the project build faster Mar 5, 2012
Subtitles Remove some font API code that seems to be crashing in 10.8 Jan 23, 2013
UniversalDetector Some changes to make the project build faster Mar 5, 2012
Update Checker Sources Remove PPC compilation and require 10.6. Jul 24, 2011
scripts Somewhat faster builds Dec 11, 2010
CPFPerianPrefPaneController.h Some changes to make the project build faster Mar 5, 2012
CPFPerianPrefPaneController.m Remove PPC compilation and require 10.6. Jul 24, 2011
CodecIDs.h Added mpeg layer 1 and 2 to compressed codec handling. Apr 17, 2011
Codecprintf.c Xcode project cleanup and Lion SDK updates Dec 10, 2011
Codecprintf.h Enable printf format checking for Codecprintf and fix warning fallout Apr 9, 2011
ColorConversions.c Swscale-based colorspace converter for reference Nov 16, 2012
ColorConversions.h Swscale-based colorspace converter for reference Nov 16, 2012
CommonUtils.c Remove some PPC only code Nov 16, 2012
CommonUtils.h Remove some PPC only code Nov 16, 2012
Components.k.h Fix build with Xcode 4.3 by adding back all the ACPublic stuff Mar 5, 2012
CompressAudioCodec.cpp Some changes to make the project build faster Mar 5, 2012
CompressAudioCodec.h Xcode project cleanup and Lion SDK updates Dec 10, 2011
CompressCodecUtils.c Added mpeg layer 1 and 2 to compressed codec handling. Apr 17, 2011
CompressCodecUtils.h Proxy components for audio/video to handle the stripped header case i… Aug 16, 2010
CompressVideoCodec.c Some changes to make the project build faster Mar 5, 2012
CompressVideoCodecDispatch.h Proxy components for audio/video to handle the stripped header case i… Aug 16, 2010
DataHandlerCallback.cpp Changed data handler to not read past the end of the file. Also, chec… Apr 16, 2011
DataHandlerCallback.h Fix some warnings found by enabling suspicious integer conversions Nov 16, 2012
FFmpegUtils.c Added support for Indeo 4 Feb 14, 2013
FFmpegUtils.h New ColorConversions API Nov 16, 2012
FFusionCodec.c Swscale-based colorspace converter for reference Nov 16, 2012
FFusionCodecDispatch.h Use ComponentNoError for Queue* calls. Oct 23, 2009
FrameBuffer.c Xcode project cleanup and Lion SDK updates Dec 10, 2011
FrameBuffer.h Memory leaks found by valgrind: Jun 25, 2009
GBPerianPanePListGenerator.h Automatic generation of the Components key in the prefpane plist. Jan 6, 2007
GBPerianPanePListGenerator.m Switch to 10.5 SDK and gcc 4.2. Sep 3, 2009
LICENSE.txt As discussed and confirmed on the list, we are now switching complete… Dec 31, 2006
Makefile Fixing this portion of the makefile to build perianpane. Will readd a… Apr 18, 2007
MatroskaCodecIDs.cpp Use bounds-checked bytestream readers Nov 13, 2012
MatroskaCodecIDs.h Some audio restructuring. Sep 10, 2009
MatroskaExport.cpp Clear svn:executable set on source files. Sep 3, 2009
MatroskaExport.h Initial import of MatroskaQT, disabled until libebml and libmatroska … Sep 26, 2006
MatroskaExport.r Clear svn:executable set on source files. Sep 3, 2009
MatroskaExportDispatch.h Clear svn:executable set on source files. Sep 3, 2009
MatroskaExportVersion.h Clear svn:executable set on source files. Sep 3, 2009
MatroskaImport.cpp Some changes to make the project build faster Mar 5, 2012
MatroskaImport.h Fix some warnings and static analyzer complaints Dec 19, 2011
MatroskaImport.r Added can import partial to the importer flags since it seems to be t… Apr 16, 2011
MatroskaImportDispatch.h Clear svn:executable set on source files. Sep 3, 2009
MatroskaImportPrivate.cpp Defensive check against reported crash in MatroskaImport::~MatroskaIm… Jul 25, 2012
MkvExportPrivate.cpp Build libebml/libmatroska from the XCode project. Sep 30, 2006
MkvExportPrivate.h Initial import of MatroskaQT, disabled until libebml and libmatroska … Sep 26, 2006
PerianAviImporter.r Added can import partial to the importer flags since it seems to be t… Apr 16, 2011
PerianResourceIDs.h.m4 Proxy components for audio/video to handle the stripped header case i… Aug 16, 2010
PerianResources.r Add mcfg resources for the AVI importer and polish rez Apr 15, 2011
Prefix.h Tweak prefix header in an attempt at shorter libebml rebuild times Nov 7, 2010
README.md Added README. Aug 10, 2018
TextSubCodec.c Some changes to make the project build faster Mar 5, 2012
TextSubCodecDispatch.h Use ComponentNoError for Queue* calls. Oct 23, 2009
VobSubCodec.c Some changes to make the project build faster Mar 5, 2012
VobSubCodecDispatch.h Use ComponentNoError for Queue* calls. Oct 23, 2009
archiveComponents.sh Fixed the build script to work with the new prefpane name. Apr 18, 2007
bitstream_info.c Fix some warnings found by enabling suspicious integer conversions Nov 16, 2012
bitstream_info.h Don't consider MPEG-4 N-VOPs to be a parse error. Dec 1, 2009
codecID.c.m4 Xcode project cleanup and Lion SDK updates Dec 10, 2011
codecList.m4 Added support for Indeo 4 Feb 14, 2013
codecResources.r.m4 Switched to another new codec list system. This should be siginifican… Jul 30, 2009
createStaticLibs.sh Restore needed patches against libav v0.8.4 Nov 6, 2012
defines.m4 Switched to another new codec list system. This should be siginifican… Jul 30, 2009
ff_MovieImport.c Distrust all packet durations in flv, parse headers a bit more Jan 23, 2013
ff_MovieImportDispatch.h As discussed and confirmed on the list, we are now switching complete… Dec 31, 2006
ff_MovieImportVersion.h Add mcfg resources for the AVI importer and polish rez Apr 15, 2011
ff_dataref.c Reduce the number of deprecated libav* APIs in use Nov 13, 2012
ff_private.c Distrust all packet durations in flv, parse headers a bit more Jan 23, 2013
ff_private.h Distrust all packet durations in flv, parse headers a bit more Jan 23, 2013

README.md

Moved to Github

I long hosted Perian on my own server using SVN. I no longer used SVN for anything and I wanted to shutdown the SVN repositories on my server but I don't want Perian's source to be lost to time. So I did a quick SVN->GIT conversion of the repositories and moved them here to Github. I didn't bother with converting the authors from the SVN usernames (which were local to my server) to name/emails. In the early days of the repository, we did build FFmpeg binaries and include them in the repository. I explicitly excluded these binaries in this conversion so those cloning it won't waste space/bandwidth on these unused binaries.

Directory Structure

I've split out the mirrors of the source for libebml, libmatroska, and ffmpeg into separate repositories. The directory structure of SVN allowed them to be in the same repository easily but this structure is not appropriate for GIT repositories.

Building

I've not built Perian in a long time and the process of this conversion is no exception. It was designed for a much older version of OS X than is current so it may no longer build anymore. If you want to attempt to build Perian, you will first need clone the aforementioned repositories as well and put all in the same directory. You will need to remove the perian- prefix from the directory names when you clone the other repositories. Then you will need to also clone a52codec and put it as a52codec within the perian directory. Good luck.