Mercurial > mplayer.hg
annotate libmpdemux/demux_rtp_internal.h @ 9660:c2d23e02522b
improvements to detc filter:
-> use of 8x8 blocks rather than 16x16 to better localize the search
for interlacing. this helps detect interlacing in very small
motions, e.g. mouths in anime.
-> removed some redundant conditions in the logic
-> looser condition for detecting lacing and more forgiving of slight
mismatches between fields from the two telecine frames to make up
for quantization noise in low quality encodes.
this code is still mostly experimental but probably better than the
old version, so maybe it should be backported to 0.90...?
author | rfelker |
---|---|
date | Sun, 23 Mar 2003 03:36:24 +0000 |
parents | e74916774667 |
children | 1bc3ac054b08 |
rev | line source |
---|---|
9250 | 1 #ifndef _DEMUX_RTP_INTERNAL_H |
2 #define _DEMUX_RTP_INTERNAL_H | |
3 | |
4 #include <stdlib.h> | |
5 | |
6 extern "C" { | |
7 #ifndef __STREAM_H | |
8 #include "stream.h" | |
9 #endif | |
10 #ifndef __DEMUXER_H | |
11 #include "demuxer.h" | |
12 #endif | |
13 } | |
14 | |
15 #ifndef _LIVEMEDIA_HH | |
16 #include <liveMedia.hh> | |
17 #endif | |
18 | |
9565
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
19 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1046649600) |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
20 #error Please upgrade to version 2003.03.03 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/> |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
21 #endif |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
22 |
9250 | 23 // Codec-specific initialization routines: |
24 void rtpCodecInitialize_video(demuxer_t* demuxer, | |
25 MediaSubsession* subsession, unsigned& flags); | |
26 void rtpCodecInitialize_audio(demuxer_t* demuxer, | |
27 MediaSubsession* subsession, unsigned& flags); | |
28 | |
29 // Flags that may be set by the above routines: | |
9565
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
30 #define RTPSTATE_IS_MPEG12_VIDEO 0x1 // is a MPEG-1 or 2 video stream |
9250 | 31 |
32 // A routine to wait for the first packet of a RTP stream to arrive. | |
33 // (For some RTP payload formats, codecs cannot be fully initialized until | |
34 // we've started receiving data.) | |
9565
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
35 Boolean awaitRTPPacket(demuxer_t* demuxer, demux_stream_t* ds, |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
36 unsigned char*& packetData, unsigned& packetDataLen, |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
37 float& pts); |
9250 | 38 // "streamType": 0 => video; 1 => audio |
39 // This routine returns False if the input stream has closed | |
40 | |
9565
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
41 // A routine for adding our own data to an incoming RTP data stream: |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
42 Boolean insertRTPData(demuxer_t* demuxer, demux_stream_t* ds, |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
43 unsigned char* data, unsigned dataLen); |
e74916774667
Improved RTP packet buffering, by relying on the underlying OS's UDP
rsf
parents:
9250
diff
changeset
|
44 |
9250 | 45 #endif |