]> git.sesse.net Git - bmusb/commitdiff
Interlaced resolution data fixes, especially for 576i.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 22 Nov 2015 00:15:11 +0000 (01:15 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 22 Nov 2015 00:15:11 +0000 (01:15 +0100)
bmusb.cpp
formats.txt

index eca07a8d2d9f000a66bd6639fb6dee44c74c6d8c..fa409c0d431882443d54b4ab7de66831c7117b4e 100644 (file)
--- a/bmusb.cpp
+++ b/bmusb.cpp
@@ -1155,7 +1155,7 @@ bool decode_video_format(uint16_t video_format, unsigned *width, unsigned *heigh
        if (video_format == 0xe901 || video_format == 0xe9c1 || video_format == 0xe801) {
                *width = 640;
                *height = 480;
-               *frame_rate_nom = 60000;
+               *frame_rate_nom = 30000;
                *frame_rate_den = 1001;
                *second_field_start = *height / 2;  // TODO
                *interlaced = true;
@@ -1163,12 +1163,14 @@ bool decode_video_format(uint16_t video_format, unsigned *width, unsigned *heigh
        }
 
        // PAL (576i50, I suppose). A special case, see below.
-       if (video_format == 0xe909) {
+       if (video_format == 0xe909 || video_format == 0xe9c9) {
                *width = 720;
                *height = 576;
-               *frame_rate_nom = 50;
+               *extra_lines_top = 22;
+               *extra_lines_bottom = 27;
+               *frame_rate_nom = 25;
                *frame_rate_den = 1;
-               *second_field_start = *height / 2;  // TODO
+               *second_field_start = 334;
                *interlaced = true;
                return true;
        }
index c5f002df6172daaff61e000657c96883febfda69..7e200b84a263bf49826a42c7c4811cc48ff16fc4 100644 (file)
@@ -9,7 +9,7 @@
 
 NTSC        - 0xe901 (also seen 0xe9c1, 0xe801)
 NTSC 23.98  - 0xe901
-PAL         - 0xe909
+PAL         - 0xe909 (also seen 0xe9c9)
 1080p 23.98 - 0xe8ad
 1080p 24    - 0xe88b
 1080p 25    - 0xe86b