annotate h261.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 7dd2a45249a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5057
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
1 /*
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
2 * H261 decoder
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
3 * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
4 * Copyright (c) 2004 Maarten Daniels
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
5 *
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
6 * This file is part of FFmpeg.
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
7 *
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
10 * License as published by the Free Software Foundation; either
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
12 *
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
16 * Lesser General Public License for more details.
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
17 *
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
21 */
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
22
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
23 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 8718
diff changeset
24 * @file
5057
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
25 * h261codec.
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
26 */
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
27
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 5830
diff changeset
28 #ifndef AVCODEC_H261_H
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 5830
diff changeset
29 #define AVCODEC_H261_H
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5158
diff changeset
30
5057
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
31 #include "mpegvideo.h"
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
32
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
33 /**
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
34 * H261Context
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
35 */
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
36 typedef struct H261Context{
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
37 MpegEncContext s;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
38
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
39 int current_mba;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
40 int previous_mba;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
41 int mba_diff;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
42 int mtype;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
43 int current_mv_x;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
44 int current_mv_y;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
45 int gob_number;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
46 int gob_start_code_skipped; // 1 if gob start code is already read before gob header is read
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
47 }H261Context;
5b63f62602fa Split the h261.c file into separate files for the encoder, decoder and common stuff.
takis
parents:
diff changeset
48
5158
65b1bfb3a74c move definition of MB_TYPE_H261_FIL to h261.h so h261.c doesn't
mru
parents: 5057
diff changeset
49 #define MB_TYPE_H261_FIL 0x800000
5163
9ecbfc0c82bf add multiple inclusion guards to headers
mru
parents: 5158
diff changeset
50
7760
c4a4495715dd Globally rename the header inclusion guard names.
stefano
parents: 5830
diff changeset
51 #endif /* AVCODEC_H261_H */