FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavformat
img2.c
Go to the documentation of this file.
1
/*
2
* Image format
3
* Copyright (c) 2000, 2001, 2002 Fabrice Bellard
4
* Copyright (c) 2004 Michael Niedermayer
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#include "
libavutil/avstring.h
"
24
#include "
internal.h
"
25
26
typedef
struct
IdStrMap
{
27
enum
AVCodecID
id
;
28
const
char
*
str
;
29
}
IdStrMap
;
30
31
static
const
IdStrMap
img_tags
[] = {
32
{
AV_CODEC_ID_MJPEG
,
"jpeg"
},
33
{
AV_CODEC_ID_MJPEG
,
"jpg"
},
34
{
AV_CODEC_ID_MJPEG
,
"jps"
},
35
{
AV_CODEC_ID_MJPEG
,
"mpo"
},
36
{
AV_CODEC_ID_LJPEG
,
"ljpg"
},
37
{
AV_CODEC_ID_JPEGLS
,
"jls"
},
38
{
AV_CODEC_ID_PNG
,
"png"
},
39
{
AV_CODEC_ID_PNG
,
"pns"
},
40
{
AV_CODEC_ID_PNG
,
"mng"
},
41
{
AV_CODEC_ID_PPM
,
"ppm"
},
42
{
AV_CODEC_ID_PPM
,
"pnm"
},
43
{
AV_CODEC_ID_PGM
,
"pgm"
},
44
{
AV_CODEC_ID_PGMYUV
,
"pgmyuv"
},
45
{
AV_CODEC_ID_PBM
,
"pbm"
},
46
{
AV_CODEC_ID_PAM
,
"pam"
},
47
{
AV_CODEC_ID_ALIAS_PIX
,
"pix"
},
48
{
AV_CODEC_ID_MPEG1VIDEO
,
"mpg1-img"
},
49
{
AV_CODEC_ID_MPEG2VIDEO
,
"mpg2-img"
},
50
{
AV_CODEC_ID_MPEG4
,
"mpg4-img"
},
51
{
AV_CODEC_ID_FFV1
,
"ffv1-img"
},
52
{
AV_CODEC_ID_RAWVIDEO
,
"y"
},
53
{
AV_CODEC_ID_RAWVIDEO
,
"raw"
},
54
{
AV_CODEC_ID_BMP
,
"bmp"
},
55
{
AV_CODEC_ID_TARGA
,
"tga"
},
56
{
AV_CODEC_ID_TIFF
,
"tiff"
},
57
{
AV_CODEC_ID_TIFF
,
"tif"
},
58
{
AV_CODEC_ID_SGI
,
"sgi"
},
59
{
AV_CODEC_ID_PTX
,
"ptx"
},
60
{
AV_CODEC_ID_PCX
,
"pcx"
},
61
{
AV_CODEC_ID_QDRAW
,
"pic"
},
62
{
AV_CODEC_ID_QDRAW
,
"pct"
},
63
{
AV_CODEC_ID_QDRAW
,
"pict"
},
64
{
AV_CODEC_ID_SUNRAST
,
"sun"
},
65
{
AV_CODEC_ID_SUNRAST
,
"ras"
},
66
{
AV_CODEC_ID_SUNRAST
,
"rs"
},
67
{
AV_CODEC_ID_SUNRAST
,
"im1"
},
68
{
AV_CODEC_ID_SUNRAST
,
"im8"
},
69
{
AV_CODEC_ID_SUNRAST
,
"im24"
},
70
{
AV_CODEC_ID_SUNRAST
,
"im32"
},
71
{
AV_CODEC_ID_SUNRAST
,
"sunras"
},
72
{
AV_CODEC_ID_JPEG2000
,
"j2c"
},
73
{
AV_CODEC_ID_JPEG2000
,
"jp2"
},
74
{
AV_CODEC_ID_JPEG2000
,
"jpc"
},
75
{
AV_CODEC_ID_JPEG2000
,
"j2k"
},
76
{
AV_CODEC_ID_DPX
,
"dpx"
},
77
{
AV_CODEC_ID_EXR
,
"exr"
},
78
{
AV_CODEC_ID_PICTOR
,
"pic"
},
79
{
AV_CODEC_ID_V210X
,
"yuv10"
},
80
{
AV_CODEC_ID_WEBP
,
"webp"
},
81
{
AV_CODEC_ID_XBM
,
"xbm"
},
82
{
AV_CODEC_ID_XFACE
,
"xface"
},
83
{
AV_CODEC_ID_XWD
,
"xwd"
},
84
{
AV_CODEC_ID_NONE
,
NULL
}
85
};
86
87
static
enum
AVCodecID
av_str2id
(
const
IdStrMap
*tags,
const
char
*str)
88
{
89
str = strrchr(str,
'.'
);
90
if
(!str)
91
return
AV_CODEC_ID_NONE
;
92
str++;
93
94
while
(tags->
id
) {
95
if
(!
av_strcasecmp
(str, tags->
str
))
96
return
tags->
id
;
97
98
tags++;
99
}
100
return
AV_CODEC_ID_NONE
;
101
}
102
103
enum
AVCodecID
ff_guess_image2_codec
(
const
char
*filename)
104
{
105
return
av_str2id
(img_tags, filename);
106
}
NULL
#define NULL
Definition:
coverity.c:32
AV_CODEC_ID_NONE
Definition:
avcodec.h:103
AV_CODEC_ID_ALIAS_PIX
Definition:
avcodec.h:284
IdStrMap
Definition:
img2.c:26
IdStrMap::id
enum AVCodecID id
Definition:
img2.c:27
AV_CODEC_ID_PNG
Definition:
avcodec.h:169
img_tags
static const IdStrMap img_tags[]
Definition:
img2.c:31
AV_CODEC_ID_PBM
Definition:
avcodec.h:171
AV_CODEC_ID_LJPEG
Definition:
avcodec.h:117
AV_CODEC_ID_MPEG4
Definition:
avcodec.h:120
av_str2id
static enum AVCodecID av_str2id(const IdStrMap *tags, const char *str)
Definition:
img2.c:87
avstring.h
AV_CODEC_ID_EXR
Definition:
avcodec.h:300
AV_CODEC_ID_PAM
Definition:
avcodec.h:174
AV_CODEC_ID_MJPEG
Definition:
avcodec.h:115
AV_CODEC_ID_PCX
Definition:
avcodec.h:217
AV_CODEC_ID_MPEG1VIDEO
Definition:
avcodec.h:106
AVCodecID
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition:
avcodec.h:102
AV_CODEC_ID_WEBP
Definition:
avcodec.h:320
AV_CODEC_ID_BMP
Definition:
avcodec.h:186
internal.h
AV_CODEC_ID_XBM
Definition:
avcodec.h:268
AV_CODEC_ID_V210X
Definition:
avcodec.h:233
IdStrMap::str
const char * str
Definition:
img2.c:28
av_strcasecmp
int av_strcasecmp(const char *a, const char *b)
Locale-independent case-insensitive compare.
Definition:
avstring.c:213
AV_CODEC_ID_XFACE
Definition:
avcodec.h:315
AV_CODEC_ID_SUNRAST
Definition:
avcodec.h:218
AV_CODEC_ID_MPEG2VIDEO
preferred ID for MPEG-1/2 video decoding
Definition:
avcodec.h:107
AV_CODEC_ID_XWD
Definition:
avcodec.h:266
AV_CODEC_ID_PICTOR
Definition:
avcodec.h:249
AV_CODEC_ID_PGMYUV
Definition:
avcodec.h:173
AV_CODEC_ID_TARGA
Definition:
avcodec.h:201
AV_CODEC_ID_DPX
Definition:
avcodec.h:236
AV_CODEC_ID_PGM
Definition:
avcodec.h:172
AV_CODEC_ID_JPEG2000
Definition:
avcodec.h:196
AV_CODEC_ID_TIFF
Definition:
avcodec.h:204
AV_CODEC_ID_QDRAW
Definition:
avcodec.h:166
AV_CODEC_ID_FFV1
Definition:
avcodec.h:141
AV_CODEC_ID_PTX
Definition:
avcodec.h:212
ff_guess_image2_codec
enum AVCodecID ff_guess_image2_codec(const char *filename)
Definition:
img2.c:103
AV_CODEC_ID_PPM
Definition:
avcodec.h:170
AV_CODEC_ID_JPEGLS
Definition:
avcodec.h:119
AV_CODEC_ID_RAWVIDEO
Definition:
avcodec.h:121
AV_CODEC_ID_SGI
Definition:
avcodec.h:209
Generated on Wed Jun 10 2015 01:56:57 for FFmpeg by
1.8.6