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)