FFmpeg
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
c
d
g
h
i
o
q
r
s
v
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
a
d
e
f
h
i
j
l
m
n
p
r
s
v
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
libavformat
diracdec.c
Go to the documentation of this file.
1
/*
2
* RAW Dirac demuxer
3
* Copyright (c) 2007 Marco Gerards <marco@gnu.org>
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#include "
libavutil/intreadwrite.h
"
23
#include "
avformat.h
"
24
#include "
rawdec.h
"
25
26
static
int
dirac_probe
(
const
AVProbeData
*p)
27
{
28
unsigned
size
;
29
if
(
AV_RL32
(p->
buf
) !=
MKTAG
(
'B'
,
'B'
,
'C'
,
'D'
))
30
return
0;
31
32
size
=
AV_RB32
(p->
buf
+5);
33
if
(
size
< 13)
34
return
0;
35
if
(
size
+ 13LL > p->
buf_size
)
36
return
AVPROBE_SCORE_MAX
/ 4;
37
if
(
AV_RL32
(p->
buf
+
size
) !=
MKTAG
(
'B'
,
'B'
,
'C'
,
'D'
))
38
return
0;
39
40
return
AVPROBE_SCORE_MAX
;
41
}
42
43
FF_DEF_RAWVIDEO_DEMUXER
(dirac,
"raw Dirac"
,
dirac_probe
,
NULL
,
AV_CODEC_ID_DIRAC
)
AV_CODEC_ID_DIRAC
@ AV_CODEC_ID_DIRAC
Definition:
codec_id.h:168
AVProbeData::buf_size
int buf_size
Size of buf except extra allocated bytes.
Definition:
avformat.h:455
AVPROBE_SCORE_MAX
#define AVPROBE_SCORE_MAX
maximum score
Definition:
avformat.h:464
intreadwrite.h
AVProbeData::buf
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
Definition:
avformat.h:454
FF_DEF_RAWVIDEO_DEMUXER
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)
Definition:
rawdec.h:66
NULL
#define NULL
Definition:
coverity.c:32
rawdec.h
AVProbeData
This structure contains the data a format has to probe a file.
Definition:
avformat.h:452
size
int size
Definition:
twinvq_data.h:10344
AV_RB32
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_RB32
Definition:
bytestream.h:96
avformat.h
AV_RL32
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_RL32
Definition:
bytestream.h:92
dirac_probe
static int dirac_probe(const AVProbeData *p)
Definition:
diracdec.c:26
MKTAG
#define MKTAG(a, b, c, d)
Definition:
macros.h:55
Generated on Thu Apr 18 2024 22:41:46 for FFmpeg by
1.8.17