Mercurial > cgi-bin > hgwebdir.cgi > PR > Applications > VSs > VSs__H264__App
annotate README.txt @ 10:4d1f82230449
preprocessed source from newer mercurial ver.
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Tue, 13 Aug 2013 13:12:57 +0200 |
| parents | |
| children |
| rev | line source |
|---|---|
| nengel@2 | 1 App: h264dec |
| nengel@2 | 2 |
| nengel@2 | 3 This application decodes H.264 raw videos. |
| nengel@2 | 4 |
| nengel@2 | 5 Build Sequential/Pthreads: |
| nengel@2 | 6 |
| nengel@2 | 7 autoreconf -i -f |
| nengel@2 | 8 mkdir build |
| nengel@2 | 9 cd build |
| nengel@2 | 10 ../configure --enable-ssse3 --enable-sdl2 |
| nengel@2 | 11 make |
| nengel@2 | 12 |
| nengel@2 | 13 Build OmpSs: |
| nengel@2 | 14 |
| nengel@2 | 15 autoreconf -i -f |
| nengel@2 | 16 mkdir build |
| nengel@2 | 17 cd build-ss |
| nengel@2 | 18 ../configure CC=sscc --enable-ssse3 --enable-sdl2 |
| nengel@2 | 19 make |
| nengel@2 | 20 |
| nengel@2 | 21 ssse3 enables assembler optimizations up to ssse3 (optional) |
| nengel@2 | 22 sdl enables a rudimentary viewing capability (optional) |
| nengel@2 | 23 |
| nengel@2 | 24 Usage Sequential/Pthreads: |
| nengel@2 | 25 ./h264dec -i $(INPUT_VIDEO) -s |
| nengel@2 | 26 ./h264dec -i $(INPUT_VIDEO) -t $(THREADS) |
| nengel@2 | 27 |
| nengel@2 | 28 Usage OmpSs: |
| nengel@2 | 29 NX_PES=<numthreads> ./h264dec -i <inputfile> -e <num parallel entropy frames> -z <width> <height> --static-3d |
| nengel@2 | 30 |
| nengel@2 | 31 -e specify the number of entropy decode pipeline buffers and should be ideally |
| nengel@2 | 32 the same as the number of threads. |
| nengel@2 | 33 |
| nengel@2 | 34 -z allows to set the MB reconstruction grouped block size. A size between 6 by 6 to 10 by 10 |
| nengel@2 | 35 was found to strike a good balance between overhead and parallelism, but is machine and input |
| nengel@2 | 36 dependent. |
| nengel@2 | 37 |
| nengel@2 | 38 --static-3d performs overlapping wavefront decoding. |
| nengel@2 | 39 |
| nengel@2 | 40 General usage: |
| nengel@2 | 41 -d displays output |
| nengel@2 | 42 -f fullscreen |
| nengel@2 | 43 -o $(OUT_FILE) write raw YUV |
| nengel@2 | 44 -v show framerate |
| nengel@2 | 45 |
| nengel@2 | 46 |
| nengel@2 | 47 The INPUT_VIDEOs are in "inputs_encore", but should be able to decode any raw H.264 stream using |
| nengel@2 | 48 one slice per frame, non-interlaced, and CABAC, YUV420. |
| nengel@2 | 49 |
| nengel@2 | 50 |
| nengel@2 | 51 Integrated OmpSs player demo |
| nengel@2 | 52 ---------------------------- |
| nengel@2 | 53 NOTE: for the player demo SDL2 must be installed. |
| nengel@2 | 54 |
| nengel@2 | 55 1. Go to the OmpSs build directory (/home/cchi/Projects/ffmpeg_smp/build-ss) |
| nengel@2 | 56 |
| nengel@2 | 57 2. Launch the H.264 decoder with the desired options: |
| nengel@2 | 58 |
| nengel@2 | 59 NX_PES=<numthreads> ./h264dec <inputfile> -v (verbose) -e <num parallel entropy frames> -z <width> <height> -d (display) -f (fullscreen) |
| nengel@2 | 60 |
| nengel@2 | 61 note that <num parallel entropy frames> should be equal or higher than <numthreads> for optimal performance |
| nengel@2 | 62 |
| nengel@2 | 63 Examples: |
| nengel@2 | 64 |
| nengel@2 | 65 NX_PES=7 ./h264dec -i ../../h264_movies/park_joy_2160px5.h264 -v -z 8 8 -df -e 9 |
| nengel@2 | 66 NX_PES=7 ./h264dec -i ../../h264_movies/big_buck_bunny_1080p24.h264 -v -d -z 6 6 -e 9 |
| nengel@2 | 67 |
| nengel@2 | 68 Interacting with the program |
| nengel@2 | 69 ---------------------------- |
| nengel@2 | 70 <CTRL+F> Fullscreen mode |
| nengel@2 | 71 <ESCAPE> Window mode |
| nengel@2 | 72 <SPACE> Pause/resume |
| nengel@2 | 73 <M> Show/hide macroblock borders |
| nengel@2 | 74 <arrows> When macroblock borders are shown resizes the macroblocks |
| nengel@2 | 75 <ALT+F4> Close |
| nengel@2 | 76 |
| nengel@2 | 77 Force close in case of lockup |
| nengel@2 | 78 ----------------------------- |
| nengel@2 | 79 On a terminal: killall -9 h264dec |
