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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9250
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
1 #ifndef _DEMUX_RTP_INTERNAL_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
2 #define _DEMUX_RTP_INTERNAL_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
3
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
4 #include <stdlib.h>
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
5
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
6 extern "C" {
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
7 #ifndef __STREAM_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
8 #include "stream.h"
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
9 #endif
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
10 #ifndef __DEMUXER_H
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
11 #include "demuxer.h"
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
12 #endif
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
13 }
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
14
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
15 #ifndef _LIVEMEDIA_HH
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
16 #include <liveMedia.hh>
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
17 #endif
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
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
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
23 // Codec-specific initialization routines:
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
24 void rtpCodecInitialize_video(demuxer_t* demuxer,
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
25 MediaSubsession* subsession, unsigned& flags);
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
26 void rtpCodecInitialize_audio(demuxer_t* demuxer,
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
27 MediaSubsession* subsession, unsigned& flags);
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
28
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
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
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
31
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
32 // A routine to wait for the first packet of a RTP stream to arrive.
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
33 // (For some RTP payload formats, codecs cannot be fully initialized until
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
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
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
38 // "streamType": 0 => video; 1 => audio
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
39 // This routine returns False if the input stream has closed
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
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
bb490ffeebf5 Restruct by Ross Finlayson <finlayson@live.com>
bertrand
parents:
diff changeset
45 #endif