annotate a64enc.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 7cf900245fce
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12401
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
1 /*
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
2 * a64 video encoder - basic headers
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
3 * Copyright (c) 2009 Tobias Bindhammer
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
4 *
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
5 * This file is part of FFmpeg.
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
6 *
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
11 *
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
15 * Lesser General Public License for more details.
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
16 *
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
20 */
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
21
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
22 /**
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
23 * @file
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
24 * a64 video encoder - basic headers
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
25 */
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
26
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
27 #ifndef AVCODEC_A64ENC_H
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
28 #define AVCODEC_A64ENC_H
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
29
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
30 #include "libavutil/lfg.h"
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
31 #include "avcodec.h"
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
32
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
33 #define C64XRES 320
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
34 #define C64YRES 200
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
35
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
36 typedef struct A64Context {
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
37 /* general variables */
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
38 AVFrame picture;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
39
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
40 /* variables for multicolor modes */
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
41 AVLFG randctx;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
42 int mc_lifetime;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
43 int mc_use_5col;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
44 int mc_frame_counter;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
45 int *mc_meta_charset;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
46 int *mc_charmap;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
47 int *mc_best_cb;
12409
91db982aaaad fixed some return values and deprecated CODEC_TYPE_VIDEO.
bindhammer
parents: 12401
diff changeset
48 int mc_luma_vals[5];
12410
7cf900245fce added interlacing option and compression option for colorram (lut)
bindhammer
parents: 12409
diff changeset
49 uint8_t *mc_charset;
7cf900245fce added interlacing option and compression option for colorram (lut)
bindhammer
parents: 12409
diff changeset
50 uint8_t *mc_colram;
12401
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
51 } A64Context;
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
52
f25a00f68cfa Initial version of the a64 (multicolor charset) codec
bindhammer
parents:
diff changeset
53 #endif /* AVCODEC_A64ENC_H */