annotate dirac.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 fdafbcef52f5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10838
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
1 /*
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
2 * Copyright (C) 2007 Marco Gerards <marco@gnu.org>
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
3 * Copyright (C) 2009 David Conrad
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
4 *
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
5 * This file is part of FFmpeg.
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
6 *
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
11 *
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
15 * Lesser General Public License for more details.
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
16 *
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
20 */
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
21
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
22 #ifndef AVCODEC_DIRAC_H
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
23 #define AVCODEC_DIRAC_H
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
24
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
25 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 10838
diff changeset
26 * @file
12024
fdafbcef52f5 Fix grammar errors in documentation
mru
parents: 11644
diff changeset
27 * Interface to Dirac Decoder/Encoder
10838
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
28 * @author Marco Gerards <marco@gnu.org>
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
29 */
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
30
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
31 #include "avcodec.h"
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
32 #include "get_bits.h"
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
33
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
34 typedef struct {
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
35 unsigned width;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
36 unsigned height;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
37 uint8_t chroma_format; ///< 0: 444 1: 422 2: 420
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
38
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
39 uint8_t interlaced;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
40 uint8_t top_field_first;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
41
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
42 uint8_t frame_rate_index; ///< index into dirac_frame_rate[]
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
43 uint8_t aspect_ratio_index; ///< index into dirac_aspect_ratio[]
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
44
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
45 uint16_t clean_width;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
46 uint16_t clean_height;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
47 uint16_t clean_left_offset;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
48 uint16_t clean_right_offset;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
49
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
50 uint8_t pixel_range_index; ///< index into dirac_pixel_range_presets[]
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
51 uint8_t color_spec_index; ///< index into dirac_color_spec_presets[]
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
52 } dirac_source_params;
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
53
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
54 int ff_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
55 dirac_source_params *source);
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
56
95dac0e4703b Add a function to parse Dirac's sequence header
conrad
parents:
diff changeset
57 #endif /* AVCODEC_DIRAC_H */