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
dnxhddec.c
Go to the documentation of this file.
1
/*
2
* RAW DNxHD (SMPTE VC-3) demuxer
3
* Copyright (c) 2008 Baptiste Coudurier <baptiste.coudurier@gmail.com>
4
* Copyright (c) 2009 Reimar Döffinger <Reimar.Doeffinger@gmx.de>
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/intreadwrite.h
"
24
#include "
avformat.h
"
25
#include "
rawdec.h
"
26
27
static
int
dnxhd_probe
(
AVProbeData
*p)
28
{
29
static
const
uint8_t
header
[] = {0x00,0x00,0x02,0x80,0x01};
30
int
w, h, compression_id;
31
if
(p->
buf_size
< 0x2c)
32
return
0;
33
if
(memcmp(p->
buf
, header, 5))
34
return
0;
35
h =
AV_RB16
(p->
buf
+ 0x18);
36
w =
AV_RB16
(p->
buf
+ 0x1a);
37
if
(!w || !h)
38
return
0;
39
compression_id =
AV_RB32
(p->
buf
+ 0x28);
40
if
(compression_id < 1235 || compression_id > 1253)
41
return
0;
42
return
AVPROBE_SCORE_MAX
;
43
}
44
45
FF_DEF_RAWVIDEO_DEMUXER
(dnxhd,
"raw DNxHD (SMPTE VC-3)"
,
dnxhd_probe
, NULL,
AV_CODEC_ID_DNXHD
)
Generated on Fri Dec 5 2014 04:41:52 for FFmpeg by
1.8.2