~ubuntu-branches/ubuntu/lucid/mythtv/lucid

« back to all changes in this revision

Viewing changes to programs/mythtranscode/replex/replex.h

  • Committer: Bazaar Package Importer
  • Author(s): Mario Limonciello
  • Date: 2009-10-02 00:23:18 UTC
  • mfrom: (1.1.36 upstream)
  • Revision ID: james.westby@ubuntu.com-20091002002318-5qu2fr0gxl59egft
Tags: 0.22.0~trunk22167-0ubuntu1
* New upstream checkout (r22167).
  - Fixes some segfaults.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * replex.h
3
3
 *        
4
4
 *
5
 
 * Copyright (C) 2003 - 2006
6
 
 *                    Marcus Metzler <mocm@metzlerbros.de>
 
5
 * Copyright (C) 2003 Marcus Metzler <mocm@metzlerbros.de>
7
6
 *                    Metzler Brothers Systementwicklung GbR
8
 
 *           (C) 2006 Reel Multimedia
9
7
 *
10
8
 * This program is free software; you can redistribute it and/or
11
9
 * modify it under the terms of the GNU General Public License
38
36
#include "multiplex.h"
39
37
 
40
38
enum { S_SEARCH, S_FOUND, S_ERROR };
41
 
#define MIN_JUMP 100*CLOCK_MS;
42
 
#define MAXFRAME 2000
43
39
 
44
40
struct replex {
45
41
#define REPLEX_TS  0
49
45
        int otype;
50
46
        int ignore_pts; 
51
47
        int keep_pts;
52
 
        uint64_t allow_jump;
 
48
        int fix_sync;
53
49
        uint64_t inflength;
54
50
        uint64_t finread;
55
51
        int lastper;
63
59
        int analyze;
64
60
        avi_context ac;
65
61
        int vdr;
66
 
        int fillzero;
67
 
        int overflows;
68
 
        int max_overflows;
69
62
 
70
63
        uint64_t video_delay;
71
64
        uint64_t audio_delay;
72
65
 
 
66
#define VIDEO_BUF (6*1024*1024)
 
67
#define AUDIO_BUF (VIDEO_BUF/10)
 
68
#define AC3_BUF   (VIDEO_BUF/10)
73
69
#define INDEX_BUF (32000*32)
74
 
 
75
70
        int audiobuf;
76
71
        int ac3buf;
77
72
        int videobuf;
78
73
 
 
74
    int ext_count;
 
75
    int exttype[N_AUDIO];
 
76
    int exttypcnt[N_AUDIO];
 
77
    audio_frame_t extframe[N_AUDIO];
 
78
    ringbuffer extrbuffer[N_AUDIO];
 
79
    ringbuffer index_extrbuffer[N_AUDIO];
 
80
 
79
81
  //ac3 
80
82
        int ac3n;
81
83
        uint16_t ac3_id[N_AC3];
89
91
        uint64_t first_ac3pts[N_AC3];
90
92
        int ac3_state[N_AUDIO];
91
93
        uint64_t last_ac3pts[N_AC3];
92
 
        uint64_t ac3_jump[N_AUDIO];
93
 
        uint64_t ac3pts_off[N_AC3];
94
 
        uint8_t  ac3fillframe[N_AC3][MAXFRAME];
95
 
        int  ac3filled[N_AC3];
96
 
 
97
94
 
98
95
// mpeg audio
99
96
        int apidn;
108
105
        uint64_t first_apts[N_AUDIO];
109
106
        int audio_state[N_AUDIO];
110
107
        uint64_t last_apts[N_AUDIO];
111
 
        uint64_t audio_jump[N_AUDIO];
112
 
        uint64_t apts_off[N_AUDIO];
113
 
        uint8_t  afillframe[N_AC3][MAXFRAME];
114
 
        int  afilled[N_AC3];
115
108
 
116
109
//mpeg video
117
110
        uint16_t vpid;
127
120
        uint64_t first_vpts;
128
121
        int video_state;
129
122
        uint64_t last_vpts;
130
 
        uint64_t video_jump;
131
 
        uint64_t vjump_pts;
132
123
 
133
124
        void *priv;
134
125
        int scan_found;
135
 
        char **inputFiles;
136
 
        int inputIdx;
137
126
};
138
127
 
139
128
void init_index(index_unit *iu);