Postby johnclubvec » 10 Apr 2004 20:58
OK, guys, for the benefit of everyone who has had trouble with libpostproc and postprocess.h as of late, and having gone deep into the bowels of the ffmpeg distribution and found the real problem and a real workaround, here's the scoop. Number one, if vlc complains about not finding postprocess.h, it may also mean that you do not have the accompanying libpostproc.so installed.
Yet as of recently, while ffmpeg is set up to make and install libpostproc.so and postprocess.h, and it may even want to do that for you, the fact of the matter is (contrary to the belief of some, even the belief of certain vlc developers,) ffmpeg may NOT do that for you, no matter how many times you run .configure with "--enable-shared-pp."
Sitting quietly within the libpostproc directory, there is a Makefile just for it, and as it always has when it was within the MPlayer distribution, that Makefile is patiently waiting for a tiny flag from config.mak (config.mak is located in the main directory, ffmpeg*/config.mak): "SHARED_PP=yes." And just as soon as the libpostproc Makefile sees "SHARED_PP=yes" from config.mak, it is ready, willing, and able to do just what you want. But guess what? The main configure program may tell you that it has configured ffmpeg for "shared pp," but it may not insert "SHARED_PP=yes" into config.mak! In fact, every single time I tried, it never once did. The libpostproc Makefile never gets the proper flag, and as a result, no install.
There is a two-step workaround.
First, configure ffmpeg the way you'd like, then BEFORE making, edit ffmpeg*/config.mak, and after some convenient line, like the line
VERSION=0.4.8
add this line:
SHARED_PP=yes
DON'T delete any lines, just ADD that one, and DON'T reconfigure, as configure will make a new config.mak, minus the line you have patiently added. Save your edit. Then "make" and "make install" as normal.
If you are very lucky, make will tell you that along with ffmpeg, libavcodec, etc., it has made and installed libpostproc and postprocess.h. (You can also check in /usr/lib and /usr/include or /usr/local/lib and /usr/local/include to see). But perhaps make will not cooperate, no matter how many times you say "make install all" or "make installlib" or anything else.
Give up quickly, for there is a workaround for that, also. WITHOUT re-configuring or re-making or anything else, go right into the directory ffmpeg*/libavcodec/libpostproc and (as root) say "make install" from there. Make should report that libpostproc.so and postprocess.h have been made and installed.
Good luck.