From 9dd3750d471948dcac46d43c1ee5906e85121a21 Mon Sep 17 00:00:00 2001
From: Karl Dietz <dekarl@users.sourceforge.net>
Date: Wed, 14 Dec 2011 18:58:21 +0100
Subject: [PATCH 2/3] Add DVB-3DTV signalling as a variant of HDTV.
Parse the frame compatible plano-stereoscopic 3DTV video format
definitions from the component descriptor.
This adds the HDTV and WIDESCREEN flags for 3DTV programmes.
The video can be signalled as half (usually horizontal) resolution
2D HDTV signal for backwards compatibility. Having never seen such
programmes in the wild this patch is coded to the spec.
---
mythtv/libs/libmyth/programtypes.h | 9 +++++----
mythtv/libs/libmythtv/mpeg/dvbdescriptors.h | 3 +++
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/mythtv/libs/libmyth/programtypes.h b/mythtv/libs/libmyth/programtypes.h
index cc86f58..2ef32e5 100644
a
|
b
|
typedef enum AudioProps { |
167 | 167 | #define kAudioPropertyOffset 0 |
168 | 168 | #define kAudioPropertyMask (0x3f<<kAudioPropertyOffset) |
169 | 169 | |
170 | | /// if VideoProps changes, the audioprop column in program and |
| 170 | /// if VideoProps changes, the videoprop column in program and |
171 | 171 | /// recordedprogram has to changed accordingly |
172 | 172 | typedef enum VideoProps { |
173 | 173 | // For backwards compatibility do not change 0 or 1 |
… |
… |
typedef enum VideoProps { |
178 | 178 | VID_720 = 0x08, |
179 | 179 | VID_1080 = 0x10, |
180 | 180 | VID_DAMAGED = 0x20, |
181 | | } VideoProperty; // has 6 bits in ProgramInfo::properties |
182 | | #define kVideoPropertyBits 6 |
| 181 | VID_3DTV = 0x40, |
| 182 | } VideoProperty; // has 7 bits in ProgramInfo::properties |
| 183 | #define kVideoPropertyBits 7 |
183 | 184 | #define kVideoPropertyOffset kAudioPropertyBits |
184 | 185 | #define kVideoPropertyMask (0x3f<<kVideoPropertyOffset) |
185 | 186 | |
186 | | /// if SubtitleTypes changes, the audioprop column in program and |
| 187 | /// if SubtitleTypes changes, the subtitletypes column in program and |
187 | 188 | /// recordedprogram has to changed accordingly |
188 | 189 | typedef enum SubtitleTypes { |
189 | 190 | // For backwards compatibility do not change 0 or 1 |
diff --git a/mythtv/libs/libmythtv/mpeg/dvbdescriptors.h b/mythtv/libs/libmythtv/mpeg/dvbdescriptors.h
index fdcf6d4..e6ad1e7 100644
a
|
b
|
class ComponentDescriptor : public MPEGDescriptor |
429 | 429 | case 0x0B: case 0x0C: |
430 | 430 | case 0x0F: case 0x10: |
431 | 431 | return VID_WIDESCREEN | VID_HDTV; |
| 432 | case 0x80: case 0x81: |
| 433 | case 0x82: case 0x83: |
| 434 | return VID_WIDESCREEN | VID_HDTV | VID_3DTV; |
432 | 435 | default: |
433 | 436 | return VID_UNKNOWN; |
434 | 437 | } |