]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/libdvb/files/topf2ps.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / libdvb / files / topf2ps.patch
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
4 @@ -68,7 +68,7 @@
5         make -C libdvbmpeg clean
6         make -C sample_progs clean
7         make -C dvb-mpegtools clean
8 -       rm include/*~
9 +       -rm -f include/*~
10  
11  dist:  
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
16 @@ -16,7 +16,7 @@
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 \
20 -       change_aspect_221_1
21 +       change_aspect_221_1 topf2ps
22  
23  .PHONY: depend clean install uninstall
24  
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
28 @@ -52,7 +52,7 @@
29          write(STDOUT_FILENO, buf, count);
30  }
31  
32 -#define PROGS 29
33 +#define PROGS 30
34  
35  char *prognames[PROGS+1] = { "streamtype",    // 0
36                               "ts2pes",             // 1
37 @@ -83,6 +83,7 @@
38                               "change_aspect_4_3",
39                               "change_aspect_16_9",
40                               "change_aspect_221_1",    // 28
41 +                             "topf2ps",
42                               " "
43                             };
44  
45 @@ -116,6 +117,7 @@
46         change_aspect_4_3_,
47         change_aspect_16_9_,
48         change_aspect_221_1_,   // 28
49 +       topf2ps_,
50         none_,
51       };
52  
53 @@ -226,6 +228,11 @@
54                  cerr << "or     insert_pat_pmt < <filename> (or pipe)" << endl;
55                  break;
56  
57 +        case topf2ps_:
58 +                cerr << "usage: topf2ps <filename>" << endl;
59 +                cerr << "or     topf2ps < <filename> (or pipe)" << endl;
60 +                break;
61 +
62          case get_http_:
63                  cerr << "usage: get_http <URL>" << endl;
64                  break;
65 @@ -345,6 +352,10 @@
66                          }
67                          break;
68  
69 +                case topf2ps_:
70 +                        topf_to_ps(fd, STDOUT_FILENO);
71 +                        break;
72 +
73                  case insert_pat_pmt_:
74                          insert_pat_pmt( fd, STDOUT_FILENO);
75                          break;
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
79 @@ -192,6 +192,7 @@
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 @@
91  
92  }
93  
94 +void topf_to_ps( int fdin, int fdout)
95 +{
96 +
97 +  uint16_t pida, pidv;
98 +  uint8_t buf[1880];
99 +  int count = 1;
100 +
101 +  if ((count = save_read(fdin, buf, sizeof(buf))) < 0)
102 +      perror("reading");
103 +
104 +  if ((count != sizeof(buf)) || (buf[0] != 'T') || (buf[1] != 'F') ||
105 +      (buf[2] != 'r') || (buf[3] != 'c')) {
106 +
107 +      fprintf(stderr, "Couldn't read Topfield header\n");
108 +      return;
109 +  }
110 +
111 +  pida = (buf[24] << 8) + buf[25];
112 +  pidv = ((buf[26] & 0x7f) << 8) + buf[27];
113 +
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);
117 +}
118  
119  #define INN_SIZE 2*IN_SIZE
120  void insert_pat_pmt( int fdin, int fdout)
121
122
123