X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bmusb.cpp;h=8787f8b51ce4dfa017dd742ef5baa9babb9053b9;hb=e7d3ce1cdb423c5ba33f098f97383f099055d621;hp=d083f25371558bdcad6ec0cdcf742dcd84703a4c;hpb=ff94397c2eabfeb4738f503a80fa7d94d3ef4ca2;p=bmusb diff --git a/bmusb.cpp b/bmusb.cpp index d083f25..8787f8b 100644 --- a/bmusb.cpp +++ b/bmusb.cpp @@ -1165,7 +1165,7 @@ 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 || video_format == 0xe9c9) { + if (video_format == 0xe909 || video_format == 0xe9c9 || video_format == 0xe809 || video_format == 0xebe9) { *width = 720; *height = 576; *extra_lines_top = 22; @@ -1183,13 +1183,14 @@ bool decode_video_format(uint16_t video_format, unsigned *width, unsigned *heigh // usually it doesn't mean anything. uint16_t normalized_video_format = video_format & ~0xe808; constexpr VideoFormatEntry entries[] = { + { 0x0011, 720, 576, 0, 44, 5, 50, 1, false }, // 576p50 (5:4) { 0x0143, 1280, 720, 0, 25, 5, 50, 1, false }, // 720p50. { 0x0103, 1280, 720, 0, 25, 5, 60, 1, false }, // 720p60. { 0x0121, 1280, 720, 0, 25, 5, 60000, 1001, false }, // 720p59.94. { 0x01c3, 1920, 1080, 0, 0, 0, 30, 1, false }, // 1080p30. - { 0x0003, 1920, 1080, 582, 20, 25, 30, 1, true }, // 1080i60. + { 0x0003, 1920, 1080, 583, 20, 25, 30, 1, true }, // 1080i60. { 0x01e1, 1920, 1080, 0, 0, 0, 30000, 1001, false }, // 1080p29.97. - { 0x0021, 1920, 1080, 582, 20, 25, 30000, 1001, true }, // 1080i59.94. + { 0x0021, 1920, 1080, 583, 20, 25, 30000, 1001, true }, // 1080i59.94. { 0x0063, 1920, 1080, 0, 0, 0, 25, 1, false }, // 1080p25. { 0x0043, 1920, 1080, 0, 0, 0, 25, 1, true }, // 1080p50. { 0x008e, 1920, 1080, 0, 0, 0, 24, 1, false }, // 1080p24.