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

« back to all changes in this revision

Viewing changes to programs/mythtranscode/replex/element.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
 * element.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
7
 *
9
8
 * This program is free software; you can redistribute it and/or
52
51
#define PICTURE_DISPLAY_EXTENSION    0x07
53
52
 
54
53
#define I_FRAME 0x01
55
 
#define B_FRAME 0x02
56
 
#define P_FRAME 0x03
57
 
#define D_FRAME 0x03
 
54
#define P_FRAME 0x02
 
55
#define B_FRAME 0x03
 
56
#define D_FRAME 0x04
58
57
 
59
58
#define OFF_SIZE 4
60
59
#define FIRST_FIELD 0
75
74
#define PULLDOWN32 1
76
75
#define PULLDOWN23 2
77
76
 
78
 
#define PROGRESSIVE 1
79
 
#define ONE_FIELD 2
80
 
#define TWO_FIELD 3
81
 
 
82
77
#define CLOCK_MS        27000ULL
83
78
#define CLOCK_PER    27000000000ULL
84
79
#define SEC_PER      (CLOCK_PER/s->frame_rate)
85
80
 
86
81
 
87
82
enum {
88
 
        NONE=0,AC3, MPEG_AUDIO, LPCM
 
83
        NONE=0,AC3, MPEG_AUDIO, LPCM, MAX_TYPES
89
84
};
90
85
 
91
86
typedef struct sequence_s{
114
109
struct audio_frame_s{
115
110
        int set;
116
111
        int layer;
117
 
        int padding;
118
 
        int sample_rate;
119
 
        int mpg25;
120
 
        int lsf;
121
112
        uint32_t bit_rate;
122
113
        uint32_t frequency;
123
114
        uint32_t mode;
124
115
        uint32_t mode_extension;
125
116
        uint32_t emphasis;
126
117
        uint32_t framesize;
 
118
        uint32_t frametime;
127
119
        uint32_t off;
128
 
        
 
120
        char     language[4];
129
121
} audio_frame_t;
130
122
 
131
123
void pts2time(uint64_t pts, uint8_t *buf, int len);
132
 
int find_audio_sync(ringbuffer *rbuf, uint8_t *buf, long off, int type, int le);
133
 
int find_audio_s(uint8_t *rbuf, long off, int type, int le);
134
 
int get_video_info(ringbuffer *rbuf, sequence_t *s, long off, int le);
135
 
int get_audio_info(ringbuffer *rbuf, audio_frame_t *af, long off, int le, int verb); 
136
 
int get_ac3_info(ringbuffer *rbuf, audio_frame_t *af, long off, int le, int verb);
 
124
int find_audio_sync(ringbuffer *rbuf, uint8_t *buf, int off, int type, int le);
 
125
int find_audio_s(uint8_t *rbuf, int off, int type, int le);
 
126
int get_video_info(ringbuffer *rbuf, sequence_t *s, int off, int le);
 
127
int get_audio_info(ringbuffer *rbuf, audio_frame_t *af, int off, int le); 
 
128
int get_ac3_info(ringbuffer *rbuf, audio_frame_t *af, int off, int le);
137
129
uint64_t add_pts_audio(uint64_t pts, audio_frame_t *aframe, uint64_t frames);
138
130
uint64_t next_ptsdts_video(uint64_t *pts, sequence_t *s, uint64_t fcount, uint64_t gcount);
139
 
int  cfix_audio_count(audio_frame_t *aframe, uint64_t origpts, uint64_t pts);
140
131
void fix_audio_count(uint64_t *acount, audio_frame_t *aframe, 
141
132
                     uint64_t origpts, uint64_t pts);
142
133
void fix_video_count(sequence_t *s, uint64_t *frame, uint64_t origpts, 
143
134
                     uint64_t pts, uint64_t origdts, uint64_t dts);
144
135
 
145
136
int check_audio_header(ringbuffer *rbuf, audio_frame_t * af, 
146
 
                       long  off, int le, int type);
147
 
int get_video_ext_info(ringbuffer *rbuf, sequence_t *s, long off, int le);
 
137
                       int  off, int le, int type);
 
138
int get_video_ext_info(ringbuffer *rbuf, sequence_t *s, int off, int le);
148
139
 
149
140
#endif /*_ELEMENT_H_*/