Started by user Alex Building in workspace /var/lib/jenkins/jobs/mlv_dump_4k/workspace [src] $ hg showconfig paths.default [src] $ hg pull --rev 078b44d pulling from https://bitbucket.org/hudson/magic-lantern no changes found [src] $ hg update --clean --rev 078b44d 47 files updated, 0 files merged, 0 files removed, 0 files unresolved [src] $ hg log --rev . --template {node} [src] $ hg log --rev . --template {rev} [src] $ hg log --rev b65d01aebe9b9fb46f26cd4d6e0e11362cc8bf8c --template exists\n exists [src] $ hg log --template "{desc|xmlescape}{file_adds|stringify|xmlescape}{file_dels|stringify|xmlescape}{files|stringify|xmlescape}{parents}\n" --rev "ancestors('078b44d') and not ancestors(b65d01aebe9b9fb46f26cd4d6e0e11362cc8bf8c)" --encoding UTF-8 --encodingmode replace [workspace] $ /bin/bash -v /tmp/hudson7439125062989480809.sh #!/bin/bash -v # setup environment cd src echo "VERSION:=${JOB_NAME}.\$(shell LC_TIME=EN date +'%Y%b%d').\$(MODEL)\$(FW_VERSION)" > Makefile.user echo "MINGW=~/mingw-w32/bin/i686-w64-mingw32" >> Makefile.user cd modules/mlv_rec/ # mlv_dump with code coverage enabled echo "MLV_CFLAGS += --coverage" >> Makefile echo "MLV_LIBS += --coverage" >> Makefile make clean &> build.log make mlv_dump &>> build.log # move to modules/mlv_rec/test/ mkdir -p test/ mv mlv_dump test/ # regular mlv_dump (without code coverage) hg revert Makefile &>> build.log make clean &>> build.log make mlv_dump.exe &>> build.log make mlv_dump &>> build.log [workspace] $ /bin/bash -v /tmp/hudson2661438761910839713.sh #!/bin/bash -v # go to mlv_dump testing directory cd src/modules/mlv_rec/test/ # now testing mlv_dump ./mlv_dump MLV Dumper ----------------- [ERROR] Error: Missing input filename Usage: ./mlv_dump [options] Parameters: -o output_file write video data into a MLV file -v verbose output --version print version information --batch format output message suitable for batch processing --relaxed do not exit on every error, skip blocks that are erroneous -- DNG output -- --dng output frames into separate .dng files. set prefix with -o --no-cs no chroma smoothing (default) --cs2x2 2x2 chroma smoothing --cs3x3 3x3 chroma smoothing --cs5x5 5x5 chroma smoothing --no-fixcp do not fix cold pixels --fixcp2 fix non-static (moving) cold pixels (slow) --no-stripes do not fix vertical stripes in highlights -- RAW output -- -r output into a legacy raw file for e.g. raw2dng -- MLV output -- -b bits convert image data to given bit depth per channel (1-16) -z bits zero the lowest bits, so we have only specified number of bits containing data (1-16) (improves compression rate) -f frames frames to save. e.g. '12' saves frames 0 to 12, '12-40' saves frames 12 to 40. -A fpsx1000 Alter the video file's FPS metadata -x build xref file (indexing) -- MLV autopsy -- --skip-block skip given block number, as if it wasn't present --skip-type skip given block type (e.g. VIDF, AUDF, etc), as if they weren't present --extract extract the block at given position into autopsy file --extract-type extract the block type (e.g. VERS, LENS, etc) into autopsy file --replace replace block with data from given autopsy file; requires --autopsy-file --payload-only extract/replace affect not the whole block, but only payload --header-only extract/replace affect not the whole block, but only header --autopsy-file extract/replace from this file --hex extract prints the selected data as hexdump on screen --ascii extract prints the selected data as ASCII on screen (only suitable for VERS and DEBG) --visualize visualize block types, most likely you want to use --skip-xref along with it -- MLV manipulation -- --skip-xref skip loading .IDX (XREF) file, read block in the MLV file's order instead of presorted -m write only metadata, no audio or video frames -n write no metadata, only audio and video frames -I inject data from given MLV file right after MLVI header -X type extract only block type int output file -- Image manipulation -- -a average all frames in and output a single-frame MLV from it --avg-vertical [DARKFRAME ONLY] average the resulting frame in vertical direction, so we will extract vertical banding --avg-horizontal [DARKFRAME ONLY] average the resulting frame in horizontal direction, so we will extract horizontal banding -s mlv_file subtract the reference frame in given file from every single frame during processing -t mlv_file use the reference frame in given file as flat field (gain correction) -- Processing -- -e delta-encode frames to improve compression, but lose random access capabilities -c compress video and audio frames using LJ92. if already compressed, then decompress and recompress again. specify twice to pass through unmodified compressed (lossless) data to DNG which speeds up writing, but skips preprocessing -d decompress compressed video and audio frames using LZMA or LJ92 -- bugfixes -- --black-fix=value set black level to (fix green/magenta cast). if no value given, it will be set to 2048. --white-fix=value set white level to . if no value given, it will be set to 15000. --fix-bug=id fix some special bugs. *only* to be used if given instruction by developers. for f in *.MLV; do ./mlv_dump $f ./mlv_dum- $f --visualize ./mlv_dump $f -v ./mlv_dump $f --dng md5sum *.dng rm *.dng done MLV Dumper ----------------- Mode of operation: - Input MLV file: '*.MLV' - Verify file structure [ERROR] Failed to open file '*.MLV' /tmp/hudson2661438761910839713.sh: line 11: ./mlv_dum-: No such file or directory MLV Dumper ----------------- Mode of operation: - Input MLV file: '*.MLV' - Verbose messages - Verify file structure - Dump all block information [ERROR] Failed to open file '*.MLV' MLV Dumper ----------------- Mode of operation: - Input MLV file: '*.MLV' - Decompressing before writing DNG - Enforcing 14bpp for DNG output - Using output path '*_' for DNGs - Convert to DNG frames - Output into '*_' [ERROR] Failed to open file '*.MLV' md5sum: '*.dng': No such file or directory rm: cannot remove '*.dng': No such file or directory for bug in 1 2 3; do for f in `ls bug/$bug/*.MLV`; do ./mlv_dump $f --fix-bug=$bug ./mlv_dum- $f --visualize --fix-bug=$bug ./mlv_dump $f -v --fix-bug=$bug ./mlv_dump $f --dng --fix-bug=$bug md5sum *.dng rm *.dng done done ls bug/$bug/*.MLV ls: cannot access 'bug/1/*.MLV': No such file or directory ls bug/$bug/*.MLV ls: cannot access 'bug/2/*.MLV': No such file or directory ls bug/$bug/*.MLV ls: cannot access 'bug/3/*.MLV': No such file or directory # todo: add some clips here, check output files... # code coverage report OUT_DIR=`realpath coverage` realpath coverage BINDIR=`realpath .` realpath . SRCDIR=`realpath ..` realpath .. lcov -c -i -d .. -o base.info --no-external -b $SRCDIR &> coverage.log lcov -c -d .. -o test.info --no-external -b $SRCDIR --rc lcov_branch_coverage=1 &>> coverage.log lcov -a base.info -a test.info -o total.info --rc lcov_branch_coverage=1 Combining tracefiles. Reading tracefile base.info Reading tracefile test.info Writing data to total.info Summary coverage rate: lines......: 3.0% (242 of 8179 lines) functions..: 0.9% (4 of 431 functions) branches...: 1.2% (32 of 2696 branches) genhtml total.info --output-directory $OUT_DIR --branch-coverage &>> coverage.log Archiving artifacts [htmlpublisher] Archiving HTML reports... [htmlpublisher] Archiving at PROJECT level /var/lib/jenkins/jobs/mlv_dump_4k/workspace/src/modules/mlv_rec/test/coverage to /var/lib/jenkins/jobs/mlv_dump_4k/htmlreports/Code_coverage_report_for_mlv_dump Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered Triggering a new build of mlv_dump_4k_test Triggering a new build of mlv_dump_darktest Finished: SUCCESS