X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fdb%2Futils%2Fclip_frames.C;fp=cinelerra-5.0%2Fdb%2Futils%2Fclip_frames.C;h=0000000000000000000000000000000000000000;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=09ea6af16bce573c1d77c4cf8698b68654b72700;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/db/utils/clip_frames.C b/cinelerra-5.0/db/utils/clip_frames.C deleted file mode 100644 index 09ea6af1..00000000 --- a/cinelerra-5.0/db/utils/clip_frames.C +++ /dev/null @@ -1,67 +0,0 @@ -#include -#include -#include - -#include "tdb.h" -#include "s.C" - -void write_pbm(uint8_t *tp, int w, int h, const char *fmt, ...) -{ - va_list ap; va_start(ap, fmt); - char fn[256]; vsnprintf(fn, sizeof(fn), fmt, ap); - va_end(ap); - FILE *fp = !strcmp(fn,"-") ? stdout : fopen(fn,"w"); - if( fp ) { - fprintf(fp,"P5\n%d %d\n255\n",w,h); - fwrite(tp,w,h,fp); - fclose(fp); - } -} - -int main(int ac, char **av) -{ - int ret; setbuf(stdout,0); - theDb db; - db.open(av[1]); - //db.access(av[1], 34543, 0); - if( !db.opened() || db.error() ) exit(1); - - if( !(ret=db.clip_set.FindId(atoi(av[2]))) ) { - int cid = db.clip_set.id(); -// printf("clip_set %d, frames %d", cid, db.clip_set.Frames()); -// printf(" prefix %d/suffix %d\n", db.clip_set.Prefix_size(),db.clip_set.Suffix_size()); - TimelineLoc::ikey_Sequences ikey(db.timeline,cid,0); - if( (ret=ikey.Locate()) || (int)db.timeline.Clip_id() != cid ) { - printf("missed seq for clip_set %d\n",cid); - exit(1); - } - const char *apath = db.clip_set._Asset_path(); - const char *cp = strrchr(apath,'/'); - if( cp ) apath = cp+1; - int fid = -1, n = 0; - TimelineLoc::rkey_Sequences rkey(db.timeline); - do { - if( (int)db.timeline.Clip_id() != cid ) break; - //if( fid == (int)db.timeline.Frame_id() ) continue; - int seq = db.timeline.Sequence_no(); - fid = db.timeline.Frame_id(); - if( (ret=db.video_frame.FindId(fid)) ) { - printf("missed frame %d(%d) in clip_set %d\n", seq,fid,cid); - } - printf("%4d %4d %6d %f %f %f %f %f\n", n, seq, db.video_frame.id(), - db.video_frame.Frame_mean(), db.video_frame.Frame_std_dev(), - db.video_frame.Frame_cx(), db.video_frame.Frame_cy(), - db.video_frame.Frame_moment()); - if( ac > 3 ) { - int w = 80, h = 45; - uint8_t *dat = db.video_frame._Frame_data(); - write_pbm(dat,w,h,"%s/c%04df%03d.pbm",av[3],cid,n); - } - ++n; - } while( !(ret=rkey.Next()) ); - } - - db.close(); - return 0; -} -