FFmpeg
4.3
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
)
MKTAG
#define MKTAG(a, b, c, d)
Definition:
common.h:406
AV_CODEC_ID_DIRAC
@ AV_CODEC_ID_DIRAC
Definition:
codec_id.h:165
AVProbeData::buf_size
int buf_size
Size of buf except extra allocated bytes.
Definition:
avformat.h:444
AVPROBE_SCORE_MAX
#define AVPROBE_SCORE_MAX
maximum score
Definition:
avformat.h:453
intreadwrite.h
AVProbeData::buf
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
Definition:
avformat.h:443
FF_DEF_RAWVIDEO_DEMUXER
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)
Definition:
rawdec.h:86
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:441
AV_RB32
#define AV_RB32
Definition:
intreadwrite.h:130
size
int size
Definition:
twinvq_data.h:11134
avformat.h
AV_RL32
#define AV_RL32
Definition:
intreadwrite.h:146
dirac_probe
static int dirac_probe(const AVProbeData *p)
Definition:
diracdec.c:26
Generated on Tue Jun 16 2020 05:18:01 for FFmpeg by
1.8.17