annotate libmpdemux/mpeg_packetizer.h @ 26733:99458e732ebd

Add detection code for abnormal pts jump when seeking previous. This patch make the vobsub works more accurately according to the requested pts.
author ulion
date Wed, 14 May 2008 03:43:45 +0000
parents 268ecf0e1ba4
children 0c1db5fd3f79
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
1 /*
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
2 * Copyright (C) 2006 Benjamin Zores
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
3 * Set of helper routines for building MPEG 1/2 PS/PES packets.
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
4 *
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
5 * Based on various code bororwed from vo_mpegpes/vo_dxr2 :
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
6 * (C) 2000 Ralph Metzler <ralph@convergence.de>
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
7 * Marcus Metzler <marcus@convergence.de>
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
8 * Gerard Lantau
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
9 *
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
13 * (at your option) any later version.
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
14 *
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
18 * GNU General Public License for more details.
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
19 *
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
21 * along with this program; if not, write to the Free Software Foundation,
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
22 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
23 */
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
24
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25673
diff changeset
25 #ifndef MPLAYER_MPEG_PACKETIZER_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25673
diff changeset
26 #define MPLAYER_MPEG_PACKETIZER_H
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
27
26143
268ecf0e1ba4 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
28 #include <stdint.h>
268ecf0e1ba4 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
29
19149
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
30 /* Send MPEG <type> PES packet */
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
31 int send_mpeg_pes_packet (unsigned char *data, int len, int id, uint64_t pts,
25673
d576b679747b Write functions used by send_mpeg_*_packet may _not_ modify data
reimar
parents: 23689
diff changeset
32 int type, int my_write (const unsigned char *data, int len));
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
33
19149
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
34 /* Send MPEG <type> PS packet */
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
35 int send_mpeg_ps_packet (unsigned char *data, int len, int id, uint64_t pts,
25673
d576b679747b Write functions used by send_mpeg_*_packet may _not_ modify data
reimar
parents: 23689
diff changeset
36 int type,int my_write (const unsigned char *data, int len));
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
37
19149
73d8ea32ebb8 cosmetics: comments and reindentation asked by gxben
nicodvb
parents: 19148
diff changeset
38 /* Send MPEG 2 LPCM packet */
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
39 int send_mpeg_lpcm_packet (unsigned char *data, int len,
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
40 int id, uint64_t pts, int freq_id,
25673
d576b679747b Write functions used by send_mpeg_*_packet may _not_ modify data
reimar
parents: 23689
diff changeset
41 int my_write (const unsigned char *data, int len));
19141
6e6ca469073b moved mpeg_packetizer helpers to libmpdemux
ben
parents:
diff changeset
42
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25673
diff changeset
43 #endif /* MPLAYER_MPEG_PACKETIZER_H */