annotate libavcodec/cell/h264_tables.h @ 2:897f711a7157

rearrange to work with autoconf
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Tue, 25 Sep 2012 15:55:33 +0200
parents
children
rev   line source
nengel@2 1 #ifndef H264_TABLES_H
nengel@2 2 #define H264_TABLES_H
nengel@2 3
nengel@2 4 #define MAX_NEG_CROP 1024
nengel@2 5
nengel@2 6 extern uint8_t ff_cropTbl[256+2 *MAX_NEG_CROP];
nengel@2 7 extern int block_offset[16+4+4];
nengel@2 8
nengel@2 9 static const uint8_t scan8[16 + 2*4]={
nengel@2 10 4+1*8, 5+1*8, 4+2*8, 5+2*8,
nengel@2 11 6+1*8, 7+1*8, 6+2*8, 7+2*8,
nengel@2 12 4+3*8, 5+3*8, 4+4*8, 5+4*8,
nengel@2 13 6+3*8, 7+3*8, 6+4*8, 7+4*8,
nengel@2 14 1+1*8, 2+1*8,
nengel@2 15 1+2*8, 2+2*8,
nengel@2 16 1+4*8, 2+4*8,
nengel@2 17 1+5*8, 2+5*8,
nengel@2 18 };
nengel@2 19
nengel@2 20 static const uint8_t ff_zigzag_direct[64] = {
nengel@2 21 0, 1, 8, 16, 9, 2, 3, 10,
nengel@2 22 17, 24, 32, 25, 18, 11, 4, 5,
nengel@2 23 12, 19, 26, 33, 40, 48, 41, 34,
nengel@2 24 27, 20, 13, 6, 7, 14, 21, 28,
nengel@2 25 35, 42, 49, 56, 57, 50, 43, 36,
nengel@2 26 29, 22, 15, 23, 30, 37, 44, 51,
nengel@2 27 58, 59, 52, 45, 38, 31, 39, 46,
nengel@2 28 53, 60, 61, 54, 47, 55, 62, 63
nengel@2 29 };
nengel@2 30
nengel@2 31 static const uint8_t zigzag_scan[16]={
nengel@2 32 0+0*4, 1+0*4, 0+1*4, 0+2*4,
nengel@2 33 1+1*4, 2+0*4, 3+0*4, 2+1*4,
nengel@2 34 1+2*4, 0+3*4, 1+3*4, 2+2*4,
nengel@2 35 3+1*4, 3+2*4, 2+3*4, 3+3*4,
nengel@2 36 };
nengel@2 37
nengel@2 38 static const uint8_t luma_dc_zigzag_scan[16]={
nengel@2 39 0*16 + 0*64, 1*16 + 0*64, 2*16 + 0*64, 0*16 + 2*64,
nengel@2 40 3*16 + 0*64, 0*16 + 1*64, 1*16 + 1*64, 2*16 + 1*64,
nengel@2 41 1*16 + 2*64, 2*16 + 2*64, 3*16 + 2*64, 0*16 + 3*64,
nengel@2 42 3*16 + 1*64, 1*16 + 3*64, 2*16 + 3*64, 3*16 + 3*64,
nengel@2 43 };
nengel@2 44
nengel@2 45 static const uint8_t chroma_dc_scan[4]={
nengel@2 46 (0+0*2)*16, (1+0*2)*16,
nengel@2 47 (0+1*2)*16, (1+1*2)*16, //FIXME
nengel@2 48 };
nengel@2 49
nengel@2 50 static const uint8_t rem6[52]={
nengel@2 51 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3,
nengel@2 52 };
nengel@2 53
nengel@2 54 static const uint8_t div6[52]={
nengel@2 55 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
nengel@2 56 };
nengel@2 57
nengel@2 58 static const uint8_t dequant4_coeff_init[6][3]={
nengel@2 59 {10,13,16},
nengel@2 60 {11,14,18},
nengel@2 61 {13,16,20},
nengel@2 62 {14,18,23},
nengel@2 63 {16,20,25},
nengel@2 64 {18,23,29},
nengel@2 65 };
nengel@2 66
nengel@2 67 static const uint8_t dequant8_coeff_init_scan[16] = {
nengel@2 68 0,3,4,3, 3,1,5,1, 4,5,2,5, 3,1,5,1
nengel@2 69 };
nengel@2 70 static const uint8_t dequant8_coeff_init[6][6]={
nengel@2 71 {20,18,32,19,25,24},
nengel@2 72 {22,19,35,21,28,26},
nengel@2 73 {26,23,42,24,33,31},
nengel@2 74 {28,25,45,26,35,33},
nengel@2 75 {32,28,51,30,40,38},
nengel@2 76 {36,32,58,34,46,43},
nengel@2 77 };
nengel@2 78
nengel@2 79
nengel@2 80 void init_block_offset(int linesize, int uvlinesize);
nengel@2 81 void ff_cropTbl_init();
nengel@2 82
nengel@2 83 #endif