comparison libmpdemux/nuppelvideo.h @ 16164:ec76d55a25f1

Support more MythTV nuv files, based on Gentoo portage patch
author reimar
date Mon, 01 Aug 2005 18:52:20 +0000
parents 28b8fc8278e0
children 2d5ad5048952
comparison
equal deleted inserted replaced
16163:ed52261ea934 16164:ec76d55a25f1
69 int packetlength; // V,A,T: length of following data in stream 69 int packetlength; // V,A,T: length of following data in stream
70 // S: length of packet correl. information [NI] 70 // S: length of packet correl. information [NI]
71 // R: do not use here! (fixed 'RTjjjjjjjjjjjjjj') 71 // R: do not use here! (fixed 'RTjjjjjjjjjjjjjj')
72 } rtframeheader; 72 } rtframeheader;
73 73
74 /* for MythTV */
75 typedef struct __attribute__((packed)) extendeddata
76 {
77 int version; // yes, this is repeated from the file header
78 int video_fourcc; // video encoding method used
79 int audio_fourcc; // audio encoding method used
80 // generic data
81 int audio_sample_rate;
82 int audio_bits_per_sample;
83 int audio_channels;
84 // codec specific
85 // mp3lame
86 int audio_compression_ratio;
87 int audio_quality;
88 // rtjpeg
89 int rtjpeg_quality;
90 int rtjpeg_luma_filter;
91 int rtjpeg_chroma_filter;
92 // libavcodec
93 int lavc_bitrate;
94 int lavc_qmin;
95 int lavc_qmax;
96 int lavc_maxqdiff;
97 // unused for later -- total size of 128 integers.
98 // new fields must be added at the end, above this comment.
99 int expansion[113];
100 } extendeddata;
101
74 #define FRAMEHEADERSIZE sizeof(rtframeheader) 102 #define FRAMEHEADERSIZE sizeof(rtframeheader)
75 #define FILEHEADERSIZE sizeof(rtfileheader) 103 #define FILEHEADERSIZE sizeof(rtfileheader)
76 104
77 typedef struct vidbuffertype 105 typedef struct vidbuffertype
78 { 106 {
106 } 134 }
107 #define le2me_rtframeheader(h) { \ 135 #define le2me_rtframeheader(h) { \
108 (h)->timecode = le2me_32((h)->timecode); \ 136 (h)->timecode = le2me_32((h)->timecode); \
109 (h)->packetlength = le2me_32((h)->packetlength); \ 137 (h)->packetlength = le2me_32((h)->packetlength); \
110 } 138 }
139 #define le2me_extendeddata(h) { \
140 (h)->version = le2me_32((h)->version); \
141 (h)->video_fourcc = le2me_32((h)->video_fourcc); \
142 (h)->audio_fourcc = le2me_32((h)->audio_fourcc); \
143 (h)->audio_sample_rate = le2me_32((h)->audio_sample_rate); \
144 (h)->audio_bits_per_sample = le2me_32((h)->audio_bits_per_sample);\
145 (h)->audio_channels = le2me_32((h)->audio_channels); \
146 (h)->audio_compression_ratio = le2me_32((h)->audio_compression_ratio);\
147 (h)->audio_quality = le2me_32((h)->audio_quality); \
148 (h)->rtjpeg_quality = le2me_32((h)->rtjpeg_quality); \
149 (h)->rtjpeg_luma_filter = le2me_32((h)->rtjpeg_luma_filter); \
150 (h)->rtjpeg_chroma_filter = le2me_32((h)->rtjpeg_chroma_filter);\
151 (h)->lavc_bitrate = le2me_32((h)->lavc_bitrate); \
152 (h)->lavc_qmin = le2me_32((h)->lavc_qmin); \
153 (h)->lavc_qmax = le2me_32((h)->lavc_qmax); \
154 (h)->lavc_maxqdiff = le2me_32((h)->lavc_maxqdiff); \
155 }
111 156