annotate dnxhddata.h @ 12373:935c524d304b libavcodec

Add a CONFIG_ variable for generic Huffman routines.
author diego
date Fri, 06 Aug 2010 10:29:14 +0000
parents 04423b2f6e0b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4687
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
1 /*
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
2 * VC3/DNxHD decoder.
8629
04423b2f6e0b cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents: 7760
diff changeset
3 * Copyright (c) 2007 SmartJog S.A., Baptiste Coudurier <baptiste dot coudurier at smartjog dot com>
4687
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
4 *
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
5 * This file is part of FFmpeg.
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
6 *
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
11 *
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
15 * Lesser General Public License for more details.
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
16 *
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
20 */
5359a5ab01a8 dnxhd decoder
bcoudurier
parents:
diff changeset
21
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6041
diff changeset
22 #ifndef AVCODEC_DNXHDDATA_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6041
diff changeset
23 #define AVCODEC_DNXHDDATA_H
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5162
diff changeset
24
5162
4394344397d8 include all prerequisites in header files
mru
parents: 4687
diff changeset
25 #include <stdint.h>
6041
bb4b486c6775 add bitrate helper to choose all dnxhd variants
bcoudurier
parents: 5830
diff changeset
26 #include "avcodec.h"
5162
4394344397d8 include all prerequisites in header files
mru
parents: 4687
diff changeset
27
5473
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
28 typedef struct {
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
29 int cid;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
30 unsigned int width, height;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
31 int interlaced;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
32 unsigned int frame_size;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
33 unsigned int coding_unit_size;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
34 int index_bits;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
35 int bit_depth;
5795
8b6fe123be88 typo weigth->weight
bcoudurier
parents: 5473
diff changeset
36 const uint8_t *luma_weight, *chroma_weight;
5473
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
37 const uint8_t *dc_codes, *dc_bits;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
38 const uint16_t *ac_codes;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
39 const uint8_t *ac_bits, *ac_level;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
40 const uint8_t *ac_run_flag, *ac_index_flag;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
41 const uint16_t *run_codes;
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
42 const uint8_t *run_bits, *run;
6041
bb4b486c6775 add bitrate helper to choose all dnxhd variants
bcoudurier
parents: 5830
diff changeset
43 int bit_rates[5]; ///< Helpher to choose variants, rounded to nearest 5Mb/s
5473
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
44 } CIDEntry;
5470
fea6732bc199 dnxhd 120 progressive support
bcoudurier
parents: 5468
diff changeset
45
5473
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
46 extern const CIDEntry ff_dnxhd_cid_table[];
5470
fea6732bc199 dnxhd 120 progressive support
bcoudurier
parents: 5468
diff changeset
47
5473
a0d7ec11b87e move dnxhd data tables to separate file
bcoudurier
parents: 5470
diff changeset
48 int ff_dnxhd_get_cid_table(int cid);
6041
bb4b486c6775 add bitrate helper to choose all dnxhd variants
bcoudurier
parents: 5830
diff changeset
49 int ff_dnxhd_find_cid(AVCodecContext *avctx);
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5162
diff changeset
50
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 6041
diff changeset
51 #endif /* AVCODEC_DNXHDDATA_H */