forked from huceke/omxplayer
-
Notifications
You must be signed in to change notification settings - Fork 334
/
OMXStreamInfo.h
82 lines (69 loc) · 2.34 KB
/
OMXStreamInfo.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
* Copyright (C) 2005-2008 Team XBMC
* http://www.xbmc.org
*
* This Program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This Program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with XBMC; see the file COPYING. If not, write to
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
* http://www.gnu.org/copyleft/gpl.html
*
*/
#pragma once
#if (defined HAVE_CONFIG_H) && (!defined WIN32)
#include "config.h"
#endif
#ifndef TARGET_LINUX
enum AVCodecID;
#else
extern "C" {
#include "libavcodec/avcodec.h"
}
#endif
class CDemuxStream;
class COMXStreamInfo
{
public:
COMXStreamInfo();
~COMXStreamInfo();
void Clear(); // clears current information
enum AVCodecID codec;
bool software; //force software decoding
// VIDEO
int fpsscale; // scale of 1000 and a rate of 29970 will result in 29.97 fps
int fpsrate;
int height; // height of the stream reported by the demuxer
int width; // width of the stream reported by the demuxer
float aspect; // display aspect as reported by demuxer
bool forced_aspect; // true if we trust container aspect more than codec
bool vfr; // variable framerate
bool stills; // there may be odd still frames in video
int level; // encoder level of the stream reported by the decoder. used to qualify hw decoders.
int profile; // encoder profile of the stream reported by the decoder. used to qualify hw decoders.
bool ptsinvalid; // pts cannot be trusted (avi's).
int orientation; // video orientation in clockwise degrees
// AUDIO
int channels;
int samplerate;
int bitrate;
int blockalign;
int bitspersample;
// SUBTITLE
int identifier;
// CODEC EXTRADATA
void* extradata; // extra data for codec to use
unsigned int extrasize; // size of extra data
unsigned int codec_tag; // extra identifier hints for decoding
/* ac3/dts indof */
unsigned int framesize;
uint32_t syncword;
};