public static void ps_seg_frames(ps_seg_t seg, BoxedValueInt out_sf, BoxedValueInt out_ef)
        {
            int uf;

            uf = acmod.acmod_stream_offset(seg.search.acmod);
            if (out_sf != null)
            {
                out_sf.Val = seg.sf + uf;
            }
            if (out_ef != null)
            {
                out_ef.Val = seg.ef + uf;
            }
        }
 public static int ps_seg_prob(ps_seg_t seg, BoxedValueInt out_ascr, BoxedValueInt out_lscr, BoxedValueInt out_lback)
 {
     if (out_ascr != null)
     {
         out_ascr.Val = seg.ascr;
     }
     if (out_lscr != null)
     {
         out_lscr.Val = seg.lscr;
     }
     if (out_lback != null)
     {
         out_lback.Val = seg.lback;
     }
     return(seg.prob);
 }
        public static ps_seg_t kws_seg_next(ps_seg_t seg)
        {
            kws_seg_t itor = (kws_seg_t)seg;

            Pointer <gnode_t> detect_head = glist.gnode_next(itor.detection);

            while (detect_head.IsNonNull && ((Pointer <kws_detection_t>)glist.gnode_ptr(detect_head)).Deref.ef > itor.last_frame)
            {
                detect_head = glist.gnode_next(detect_head);
            }
            itor.detection = detect_head;

            if (itor.detection.IsNull)
            {
                kws_seg_free(seg);
                return(null);
            }

            kws_seg_fill(itor);

            return(seg);
        }
 public static void kws_seg_free(ps_seg_t seg)
 {
 }
 public static void ps_search_seg_free(ps_seg_t seg)
 {
     seg.vt.seg_free(seg);
 }
 public static ps_seg_t ps_search_seg_next(ps_seg_t seg)
 {
     return(seg.vt.seg_next(seg));
 }
 public static Pointer <byte> ps_seg_word(ps_seg_t seg)
 {
     return(seg.word);
 }