Closed lucasb-eyer closed 10 years ago
Sorry, I hadn't run that file in a while, and I had rearranged things just a little.
Couple of quick notes:
wrap_libav_split.jl
from a different directory (say, a subdirectory of util
), because it creates a new subdirectory for every ffmpeg/libav libraryIf you want to produce something close to what's checked in right now, you should edit .julia/v0.3/Clang/src/wrap_c.jl
, and change line 32 from
InternalOptions() = InternalOptions(true, false)
to
InternalOptions() = InternalOptions(true, true)
This produces immutable
structs. (It should probably be made a configurable option in Clang.)
Even after this, there are some edits needed to get things up and running. It's not too bad, but it's still a somewhat manual process. It's a lot better than it used to be, though.
There are a few patches checked in to show the changes I made (e.g., src/libav/v54.patch
), although these need to be updated.
Feel free to open up additional issues for things that need to be fixed. (There probably needs to be a general issue requesting more details on how to wrap the libraries.)
I had forgotten that I had actually written up pretty detailed instructions on how to wrap libav/ffmpeg.
I just updated them slightly (e.g., I merged https://github.com/ihnorton/Clang.jl/pull/98, so you just need to be on Clang.jl master).
They could always be improved, but @lucasb-eyer, I'm curious if you've used them, and/or if you're looking into #6?
I was just trying to see whether I could reproduce #6 on my system and if so maybe help with it. Turns out it works well for me.
Okay, thanks. Just so I know, what OS & version are you running?
Arch linux. It's a rolling OS, so no distro version, but ffmpeg's version is 2.3.1 and VideoIO says the following:
julia> VideoIO.ffmpeg_or_libav
"ffmpeg"
julia> VideoIO.avcodec_version()
v"55.69.100"
julia> VideoIO.avcodec_version().major
55
julia> VideoIO.avformat_version().major
55
julia> VideoIO.avutil_version().major
52
julia> VideoIO.swscale_version().major
2
julia> VideoIO.avdevice_version().major
55
julia> VideoIO.avfilter_version().major
4
julia> VideoIO.avresample_version().major
0
julia> VideoIO.swresample_version().major
0
julia> VideoIO.postproc_version().major
52
That made me think it might be useful to have one function summarizing version info and some more, as a help for bugreports in the future?
I agree, a summary function would be useful.
I wanted to check whether I could produce #6 on my system. For this I followed
utils/README.wrapping.txt
, but I'm missing the filesrc/AVLibs.jl
needed byutils/wrap_libav_split.jl
. Did you forget to commit it in 0f774c7, or did I miss a step?