I'm using CMake 2.8.0. I have not tried to compile OpenCV with FFMPEG support yet, although I will be trying to do this soon. I have only successfully compiled OpenCV 2.2 using the Linaro hard float compiler. Here is my toolchain.cmake file:
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR arm )
set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc )
set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ )
set( CMAKE_CXX_FLAGS_RELEASE "-L /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib -O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -ftree-vectorize -ftree-vectorizer-verbose=3 -funroll-loops" )
set( CMAKE_CXX_FLAGS_DEBUG "-L /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib -O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -ftree-vectorize -ftree-vectorizer-verbose=3 -funroll-loops" )
where the Linaro hard float toolchain tarball was extracted to my /opt directory. The verbose flag will tell you when the compiler was able to vectorize a loop, or why it couldn't. I need to test some of the newer feature extraction algorithms in more recent versions of OpenCV, so I'll try and update you when/if I successfully compile a newer version of OpenCV with FFMPEG support.
Good luck.
-Derek