1 diff -ruN libdvb-0.5.5/Makefile libdvb-0.5.5-topfield/Makefile
2 --- libdvb-0.5.5/Makefile 2004-09-16 04:56:21.000000000 +1000
3 +++ libdvb-0.5.5-topfield/Makefile 2004-12-03 15:53:24.677184191 +1100
5 make -C libdvbmpeg clean
6 make -C sample_progs clean
7 make -C dvb-mpegtools clean
12 mkdir libdvb-$(VERSION)
13 diff -ruN libdvb-0.5.5/dvb-mpegtools/Makefile libdvb-0.5.5-topfield/dvb-mpegtools/Makefile
14 --- libdvb-0.5.5/dvb-mpegtools/Makefile 2004-09-16 04:56:21.000000000 +1000
15 +++ libdvb-0.5.5-topfield/dvb-mpegtools/Makefile 2004-12-03 12:38:58.000000000 +1100
17 pesplot pes2ts2 pes_repack split_mpg cut_mpg ts2ps ts2es\
18 insert_pat_pmt get_http extract_pes extract_pes_payload\
19 change_aspect_1_1 change_aspect_4_3 change_aspect_16_9 \
21 + change_aspect_221_1 topf2ps
23 .PHONY: depend clean install uninstall
25 diff -ruN libdvb-0.5.5/dvb-mpegtools/main.cc libdvb-0.5.5-topfield/dvb-mpegtools/main.cc
26 --- libdvb-0.5.5/dvb-mpegtools/main.cc 2004-09-16 04:56:21.000000000 +1000
27 +++ libdvb-0.5.5-topfield/dvb-mpegtools/main.cc 2004-12-03 12:45:39.000000000 +1100
29 write(STDOUT_FILENO, buf, count);
35 char *prognames[PROGS+1] = { "streamtype", // 0
40 "change_aspect_221_1", // 28
48 change_aspect_221_1_, // 28
54 cerr << "or insert_pat_pmt < <filename> (or pipe)" << endl;
58 + cerr << "usage: topf2ps <filename>" << endl;
59 + cerr << "or topf2ps < <filename> (or pipe)" << endl;
63 cerr << "usage: get_http <URL>" << endl;
70 + topf_to_ps(fd, STDOUT_FILENO);
74 insert_pat_pmt( fd, STDOUT_FILENO);
76 diff -ruN libdvb-0.5.5/include/transform.h libdvb-0.5.5-topfield/include/transform.h
77 --- libdvb-0.5.5/include/transform.h 2004-09-16 04:56:21.000000000 +1000
78 +++ libdvb-0.5.5-topfield/include/transform.h 2004-12-03 12:49:20.000000000 +1100
80 void kpes_to_ts( p2p *p,uint8_t *buf ,int count );
81 void setup_ts2pes( p2p *pa, p2p *pv, uint32_t pida, uint32_t pidv,
82 void (*pes_write)(uint8_t *buf, int count, void *p));
83 + void topf_to_ps(int fdin, int fdout);
84 void kts_to_pes( p2p *p, uint8_t *buf);
85 void pes_repack(p2p *p);
86 void extract_from_pes(int fdin, int fdout, uint8_t id, int es);
87 diff -ruN libdvb-0.5.5/libdvbmpeg/transform.c libdvb-0.5.5-topfield/libdvbmpeg/transform.c
88 --- libdvb-0.5.5/libdvbmpeg/transform.c 2004-09-16 04:56:21.000000000 +1000
89 +++ libdvb-0.5.5-topfield/libdvbmpeg/transform.c 2004-12-03 12:50:55.000000000 +1100
90 @@ -1247,6 +1247,30 @@
94 +void topf_to_ps( int fdin, int fdout)
97 + uint16_t pida, pidv;
101 + if ((count = save_read(fdin, buf, sizeof(buf))) < 0)
104 + if ((count != sizeof(buf)) || (buf[0] != 'T') || (buf[1] != 'F') ||
105 + (buf[2] != 'r') || (buf[3] != 'c')) {
107 + fprintf(stderr, "Couldn't read Topfield header\n");
111 + pida = (buf[24] << 8) + buf[25];
112 + pidv = ((buf[26] & 0x7f) << 8) + buf[27];
114 + fprintf(stderr, "apid %d (0x%02x)\n",pida,pida);
115 + fprintf(stderr, "vpid %d (0x%02x)\n",pidv,pidv);
116 + ts_to_pes(fdin, pida, pidv, 1);
119 #define INN_SIZE 2*IN_SIZE
120 void insert_pat_pmt( int fdin, int fdout)