X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bmusb.h;h=d47ce8e85c4541be65dcd89c7b10ed727781b153;hb=ba6d58ee308949b96975c3081bd1c5411dd6966c;hp=b2725ab76dc5154e04a3b57797ed21c5182231f6;hpb=f38bf2bef09e52ba1e15678f5688132f282b50c2;p=bmusb diff --git a/bmusb.h b/bmusb.h index b2725ab..d47ce8e 100644 --- a/bmusb.h +++ b/bmusb.h @@ -64,8 +64,8 @@ typedef std::function iso_xfrs; + int assumed_frame_width = 1280; }; +// Get details for the given video format; returns false if detection was incomplete. +// Note: Frame rate is _frame_ rate, not field rate. So 1080i60 gets 30/1, _not_ 60/1. +// "second_field_start" is only valid for interlaced modes; it signifies +// how many lines from the very top of the frame there are before the second field +// starts (so it will always be >= height/2 + extra_lines_top). +bool decode_video_format(uint16_t video_format, unsigned *width, unsigned *height, unsigned *second_field_start, + unsigned *extra_lines_top, unsigned *extra_lines_bottom, + unsigned *frame_rate_nom, unsigned *frame_rate_den, bool *interlaced); + #endif