summaryrefslogtreecommitdiffstats
path: root/libmpdemux/nuppelvideo.h
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-01 18:52:20 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-01 18:52:20 +0000
commit2d14fdcb3a53f7775543f8ef85cae5edf41d3637 (patch)
tree9c2da228552debcd7d14099f7ae78bcbd0ada12b /libmpdemux/nuppelvideo.h
parent3138932d9a18da74877a768737a27bf9f4249ee9 (diff)
downloadmpv-2d14fdcb3a53f7775543f8ef85cae5edf41d3637.tar.bz2
mpv-2d14fdcb3a53f7775543f8ef85cae5edf41d3637.tar.xz
Support more MythTV nuv files, based on Gentoo portage patch
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16165 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/nuppelvideo.h')
-rw-r--r--libmpdemux/nuppelvideo.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/libmpdemux/nuppelvideo.h b/libmpdemux/nuppelvideo.h
index 0f89b0c6f2..a67dd02aeb 100644
--- a/libmpdemux/nuppelvideo.h
+++ b/libmpdemux/nuppelvideo.h
@@ -71,6 +71,34 @@ typedef struct __attribute__((packed)) rtframeheader
// R: do not use here! (fixed 'RTjjjjjjjjjjjjjj')
} rtframeheader;
+/* for MythTV */
+typedef struct __attribute__((packed)) extendeddata
+{
+ int version; // yes, this is repeated from the file header
+ int video_fourcc; // video encoding method used
+ int audio_fourcc; // audio encoding method used
+ // generic data
+ int audio_sample_rate;
+ int audio_bits_per_sample;
+ int audio_channels;
+ // codec specific
+ // mp3lame
+ int audio_compression_ratio;
+ int audio_quality;
+ // rtjpeg
+ int rtjpeg_quality;
+ int rtjpeg_luma_filter;
+ int rtjpeg_chroma_filter;
+ // libavcodec
+ int lavc_bitrate;
+ int lavc_qmin;
+ int lavc_qmax;
+ int lavc_maxqdiff;
+ // unused for later -- total size of 128 integers.
+ // new fields must be added at the end, above this comment.
+ int expansion[113];
+} extendeddata;
+
#define FRAMEHEADERSIZE sizeof(rtframeheader)
#define FILEHEADERSIZE sizeof(rtfileheader)
@@ -108,4 +136,21 @@ typedef struct audbuffertype
(h)->timecode = le2me_32((h)->timecode); \
(h)->packetlength = le2me_32((h)->packetlength); \
}
+#define le2me_extendeddata(h) { \
+ (h)->version = le2me_32((h)->version); \
+ (h)->video_fourcc = le2me_32((h)->video_fourcc); \
+ (h)->audio_fourcc = le2me_32((h)->audio_fourcc); \
+ (h)->audio_sample_rate = le2me_32((h)->audio_sample_rate); \
+ (h)->audio_bits_per_sample = le2me_32((h)->audio_bits_per_sample);\
+ (h)->audio_channels = le2me_32((h)->audio_channels); \
+ (h)->audio_compression_ratio = le2me_32((h)->audio_compression_ratio);\
+ (h)->audio_quality = le2me_32((h)->audio_quality); \
+ (h)->rtjpeg_quality = le2me_32((h)->rtjpeg_quality); \
+ (h)->rtjpeg_luma_filter = le2me_32((h)->rtjpeg_luma_filter); \
+ (h)->rtjpeg_chroma_filter = le2me_32((h)->rtjpeg_chroma_filter);\
+ (h)->lavc_bitrate = le2me_32((h)->lavc_bitrate); \
+ (h)->lavc_qmin = le2me_32((h)->lavc_qmin); \
+ (h)->lavc_qmax = le2me_32((h)->lavc_qmax); \
+ (h)->lavc_maxqdiff = le2me_32((h)->lavc_maxqdiff); \
+ }