Getting Started
This page relates to setting up the compiler, etc. For the page on dev planning, ideas and such see: Developing.
Source
Original x264 source: git clone git://git.videolan.org/x264.git
Our source: svn://triple-t.mit.edu/cuda-x264/trunk
See: Getting started on Ubuntu.
'./configure'
run 'make' (for CUDA enabled computers) or 'make emu=1' otherwise.
MP4 Output
In order to build in mp4 output, you need to:
sudo apt-get install libgpac-dev
then re-run configure before making
Basics of Coding in CUDA
In the case of the project, I will assume that we are attempting to call code in a .cu file from a .c file (e.g. we want to call CUDA function from the pre-existing C code).
In order to do this, we must:
Create a header file:
#ifdef __CUDACC__
extern "C"{
#endif
void testCuda();
#ifdef __CUDACC__
}
#endif
Reference this file from the .cu file (where testCuda is defined) and from the .c file that calls testCuda.
Within the .cu file, testCuda must also be extern "C"
Running x264
<Dark_Shikari> well if you want a really simple encode
<Dark_Shikari> --nf --subme 0 --partitions none --me dia --no-cabac
<Dark_Shikari> --qp 25 --scenecut=-1
<Dark_Shikari> out of pure coincidence (not), these also result in the fastest possible encode, well, or close to it
<Dark_Shikari> no deblock, no subpel, no partitions, diamond search, cavlc bitstream coding, constant qp (no lookahead), no scenecut detection (no lookahead)