annotate dnxhddata.h @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +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 */