annotate faxcompr.h @ 9133:c78af85f414d libavcodec

flacdec: Add a check for small buffer size. This ensures reading as much of the frame header as possible without excluding the smallest possible FLAC frame. It also fixes a false positive warning message that was being emitted at the end of decoding.
author jbr
date Wed, 04 Mar 2009 23:55:10 +0000
parents e9d9d946f213
children 370d05e51d90
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8466
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
1 /*
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
2 * CCITT Fax Group 3 and 4 decompression
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
3 * Copyright (c) 2008 Konstantin Shishkov
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
4 *
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
5 * This file is part of FFmpeg.
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
6 *
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
11 *
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
15 * Lesser General Public License for more details.
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
16 *
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
20 */
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
21
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
22 /**
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
23 * CCITT Fax Group 3 and 4 decompression
8718
e9d9d946f213 Use full internal pathname in doxygen @file directives.
diego
parents: 8693
diff changeset
24 * @file libavcodec/faxcompr.h
8466
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
25 * @author Konstantin Shishkov
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
26 */
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
27 #ifndef AVCODEC_FAXCOMPR_H
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
28 #define AVCODEC_FAXCOMPR_H
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
29
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
30 #include "avcodec.h"
8474
cb4009996efa Merge ff_ccitt_unpack_1d and 2d.
michael
parents: 8466
diff changeset
31 #include "tiff.h"
8466
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
32
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
33 /**
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
34 * initialize upacker code
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
35 */
8693
18737839ed27 Add missing void keyword to parameterless function declarations.
diego
parents: 8474
diff changeset
36 void ff_ccitt_unpack_init(void);
8466
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
37
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
38 /**
8474
cb4009996efa Merge ff_ccitt_unpack_1d and 2d.
michael
parents: 8466
diff changeset
39 * unpack data compressed with CCITT Group 3 1/2-D or Group 4 method
8466
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
40 */
8474
cb4009996efa Merge ff_ccitt_unpack_1d and 2d.
michael
parents: 8466
diff changeset
41 int ff_ccitt_unpack(AVCodecContext *avctx,
8466
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
42 const uint8_t *src, int srcsize,
8474
cb4009996efa Merge ff_ccitt_unpack_1d and 2d.
michael
parents: 8466
diff changeset
43 uint8_t *dst, int height, int stride, enum TiffCompr compr);
8466
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
44
a11f1002f6b0 CCITT Fax Group 3 and 4 decompression by kostya.
michael
parents:
diff changeset
45 #endif /* AVCODEC_FAXCOMPR_H */