X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bmusb.h;h=d47ce8e85c4541be65dcd89c7b10ed727781b153;hb=4a275155fbd23690652c0478b12363d254f84e16;hp=9eb3ff4f716a4ede88c997f65131c6fe69232179;hpb=89136643760d7da0c94c4d4fb1ec778f9cefb97f;p=bmusb diff --git a/bmusb.h b/bmusb.h index 9eb3ff4..d47ce8e 100644 --- a/bmusb.h +++ b/bmusb.h @@ -152,10 +152,16 @@ class BMUSBCapture { int card_index; std::vector 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. -bool decode_video_format(uint16_t video_format, int *width, int *height, int *frame_rate_nom, int *frame_rate_den, bool *interlaced); +// "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