<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:large"><font size="2">I ran out of time to document concerning BT 448 description, demo, and documentation.  But here is a quick demo at:</font></div><div class="gmail_default" style="font-size:large">      <font size="2"><a href="https://streamable.com/nwec0t">https://streamable.com/nwec0t</a></font></div><div class="gmail_default" style="font-size:large"><font size="2">The most IMPORTANT thing to know right now is that we had no "real" data to test this but only "manufactured" data.  It would take video from preferably 3 cameras filming the same scene from different angles but not started at the same time AND cameras that are smart enough to supply "real" timecodes in the data.</font></div><div class="gmail_default" style="font-size:large"><font size="2"><br></font></div><div class="gmail_default" style="font-size:large"><font size="2">Here is the unfinished documentation:<br></font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%">
<b><font size="2">New Feature – Align Timecode</font></b></p><font size="2">
</font><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">New feature includes
the following relevant parts:</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"></font>

</p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">- Align Timecode
under the Window pulldown</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">- Clapperboard icon
on the main timeline to set a timecode</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">- Timecode option
added to timebar choices (where you have hh:mm:ss, etc)</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">- Time Code Start in
the Resources window on the bottom of Info for the media (when set)</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">- MMB on a track
allows for Timecode option to display the timecode for that
particular track</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"></font>

</p><font size="2">
</font><p style="margin-bottom:0.1in;line-height:115%;background:transparent none repeat scroll 0% 0%"><font size="2">Here are the comments from the code     ; )</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">/*</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> * 1) if the format
context has a timecode</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> *   return
fmt_ctx->timecode - 0</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> * 2) if the
layer/channel has a timecode</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> *   return
st->timecode - (start_time-nudge)</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> * 3) find the 1st
program with stream, find 1st program video stream,</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> *   if video stream
has a timecode, return st->timecode - (start_time-nudge)</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> * 4) find timecode
in any stream, return st->timecode</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> * 5) read 100
packets, save ofs=pkt.pts*st->time_base - st->nudge:</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> *   decode frame
for video stream of 1st program</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> *   if
frame->timecode has a timecode, return frame->timecode - ofs</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> *   if side_data
has gop timecode, return gop->timecode - ofs</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> *   if side_data
has smpte timecode, return smpte->timecode - ofs</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> * 6) if the
filename/url scans *date_time.ext, return date_time</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2"> * 7) if stat works
on the filename/url, return mtime</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">* 8) return -1
failure</font></p><font size="2">
</font><p style="margin-bottom:0in;line-height:100%;background:transparent none repeat scroll 0% 0%"><font size="2">*/</font></p>

</div></div></div>