X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bmusb.cpp;h=4d524422f944d4a8957a1046e4489a997a571f46;hb=bc7e5f5b6d908914c023bda51f840c3304c9c3cd;hp=0c3fb551570188ba74e674d9e181f5ca3514b66b;hpb=aac15101d9cc85681eee3e02c960d57e32414db6;p=bmusb diff --git a/bmusb.cpp b/bmusb.cpp index 0c3fb55..4d52442 100644 --- a/bmusb.cpp +++ b/bmusb.cpp @@ -112,6 +112,7 @@ bool decode_video_format(uint16_t video_format, VideoFormat *decoded_video_forma // It's a strange thing, but what can you do. decoded_video_format->width = 720; decoded_video_format->height = 525; + decoded_video_format->stride = 720 * 2; decoded_video_format->extra_lines_top = 0; decoded_video_format->extra_lines_bottom = 0; decoded_video_format->frame_rate_nom = 3013; @@ -124,6 +125,7 @@ bool decode_video_format(uint16_t video_format, VideoFormat *decoded_video_forma video_format); decoded_video_format->width = 0; decoded_video_format->height = 0; + decoded_video_format->stride = 0; decoded_video_format->extra_lines_top = 0; decoded_video_format->extra_lines_bottom = 0; decoded_video_format->frame_rate_nom = 60; @@ -138,6 +140,7 @@ bool decode_video_format(uint16_t video_format, VideoFormat *decoded_video_forma if (video_format == 0xe901 || video_format == 0xe9c1 || video_format == 0xe801) { decoded_video_format->width = 720; decoded_video_format->height = 480; + decoded_video_format->stride = 720 * 2; decoded_video_format->extra_lines_top = 17; decoded_video_format->extra_lines_bottom = 28; decoded_video_format->frame_rate_nom = 30000; @@ -151,6 +154,7 @@ bool decode_video_format(uint16_t video_format, VideoFormat *decoded_video_forma if (video_format == 0xe909 || video_format == 0xe9c9 || video_format == 0xe809 || video_format == 0xebe9 || video_format == 0xebe1) { decoded_video_format->width = 720; decoded_video_format->height = 576; + decoded_video_format->stride = 720 * 2; decoded_video_format->extra_lines_top = 22; decoded_video_format->extra_lines_bottom = 27; decoded_video_format->frame_rate_nom = 25; @@ -188,6 +192,7 @@ bool decode_video_format(uint16_t video_format, VideoFormat *decoded_video_forma if (normalized_video_format == entry.normalized_video_format) { decoded_video_format->width = entry.width; decoded_video_format->height = entry.height; + decoded_video_format->stride = entry.width * 2; decoded_video_format->second_field_start = entry.second_field_start; decoded_video_format->extra_lines_top = entry.extra_lines_top; decoded_video_format->extra_lines_bottom = entry.extra_lines_bottom; @@ -201,6 +206,7 @@ bool decode_video_format(uint16_t video_format, VideoFormat *decoded_video_forma printf("Unknown video format 0x%04x (normalized 0x%04x). Assuming 720p60.\n", video_format, normalized_video_format); decoded_video_format->width = 1280; decoded_video_format->height = 720; + decoded_video_format->stride = 1280 * 2; decoded_video_format->frame_rate_nom = 60; decoded_video_format->frame_rate_den = 1; return false;