Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed user tests related to Epiphan #31

Closed
wants to merge 297 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
297 commits
Select commit Hold shift + click to select a range
9be73e9
Issue #16: fixed timed saving of snapshots
dzhoshkun Oct 14, 2018
e4c17d0
Issue #16: renamed buffer => np_buffer as buffer is built-in type
dzhoshkun Oct 14, 2018
93a6cc7
Issue #16: renamed global buffers for clarity
dzhoshkun Oct 14, 2018
782c8a1
Issue #16: commented checker script
dzhoshkun Oct 14, 2018
b6261c5
Issue #16: moved issue-specific comments to shell script
dzhoshkun Oct 14, 2018
fdfbde5
Issue #16: added synopsis display to shell script
dzhoshkun Oct 14, 2018
9108bdd
Issue #16: shell script now shows the current session directory befor…
dzhoshkun Oct 14, 2018
345aa97
Issue #16: shorter name for Python script
dzhoshkun Oct 14, 2018
1a88e0b
Issue #16: shorter name for Bash script
dzhoshkun Oct 14, 2018
5db2dcc
Issue #16: fixed typos
dzhoshkun Oct 14, 2018
37ff47d
Issue #16: reduced snapshot output
dzhoshkun Oct 14, 2018
67ee662
Issue #16: fixed calling of Python script from Bash script
dzhoshkun Oct 14, 2018
4f5a726
Issue #16: added an RTD page linking to the complex pipeline example
dzhoshkun Oct 14, 2018
aae78a2
Issue #16: added the new RTD page to the index
dzhoshkun Oct 14, 2018
291fc3f
Issue #16: fixed cross-reference to NumPy example from new RTD page
dzhoshkun Oct 14, 2018
1531758
Issue #16: added link from new RTD page to example source code on GitHub
dzhoshkun Oct 14, 2018
a7c6535
Issue #16: made the title of the new RTD page more descriptive
dzhoshkun Oct 14, 2018
e78af6f
Issue #16: revised the RTD page wording for clarity
dzhoshkun Oct 14, 2018
2e07b9a
Issue #16: removed line numbers from example on new RTD page
dzhoshkun Oct 14, 2018
3657e01
Issue #16: added a Python script stub for checking multi-threading re…
dzhoshkun Oct 11, 2018
559b955
Issue #16: added a Bash script for building GIFT-Grab and subsequentl…
dzhoshkun Oct 11, 2018
21bd7c0
Issue #16: added a 'Dyer' processing node to multi-threading reliability
dzhoshkun Oct 12, 2018
7b7e8ce
Issue #16: Python script now uses CLI argument for input file
dzhoshkun Oct 12, 2018
da1a82d
Issue #16: added multi-node pipeline producing red- and yellow-dyed o…
dzhoshkun Oct 12, 2018
e63d5e3
Issue #16: added a threaded Histogrammer class stub
dzhoshkun Oct 12, 2018
e9bebfc
Issue #16: added dummy print statement to see Histogrammer is alive
dzhoshkun Oct 12, 2018
7395cbd
Issue #16: factored Histogrammer stub out to HistogrammerRed and Buff…
dzhoshkun Oct 12, 2018
e54ed89
Issue #16: implemented update of BuffererRed
dzhoshkun Oct 12, 2018
0851be6
Issue #16: implemented run of HistogrammerRed
dzhoshkun Oct 12, 2018
3b40ef0
Issue #16: renamed Dyer vars for clarity
dzhoshkun Oct 12, 2018
a05de37
Issue #16: Dyer.update uses lock
dzhoshkun Oct 12, 2018
41bb484
Issue #16: inserted a red bufferer into the pipeline
dzhoshkun Oct 12, 2018
1855e35
Issue #16: fixed call to histogram function
dzhoshkun Oct 12, 2018
6c468c9
Issue #16: Dyer now really dyes instead of fixing color to a value
dzhoshkun Oct 12, 2018
ae82811
Issue #16: histogrammer now displays a redness score instead of histo…
dzhoshkun Oct 12, 2018
a571512
Issue #16: using more sensible values for dyeing
dzhoshkun Oct 12, 2018
42544f9
Issue #16: added a BuffererOrig class, a virtual replica of BuffererRed
dzhoshkun Oct 12, 2018
59bf5b2
Issue #16: BuffererRed now takes buffer as parameter to constructor i…
dzhoshkun Oct 12, 2018
f436ed7
Revert "Issue #16: added a BuffererOrig class, a virtual replica of B…
dzhoshkun Oct 12, 2018
db0527f
Issue #16: renamed BuffererRed => Bufferer
dzhoshkun Oct 12, 2018
85db3b3
Issue #16: HistogrammerRed now takes buffer as a constructor argument…
dzhoshkun Oct 12, 2018
1105daa
Issue #16: HistogrammerRed is now generic Histogrammer
dzhoshkun Oct 12, 2018
0b9296a
Issue #16: Histogrammer now accepts a tag for generically printing wh…
dzhoshkun Oct 12, 2018
5b0e521
Issue #16: inserted an original image histogrammer into the pipeline
dzhoshkun Oct 12, 2018
682dae1
Issue #16: Histogrammer now accepts a frame rate and flag for display…
dzhoshkun Oct 12, 2018
decbde6
Issue #16: now can specify the frequency of coloredness prints
dzhoshkun Oct 12, 2018
a6e4c34
Issue #16: dyeing red more prominently
dzhoshkun Oct 12, 2018
e544b48
Issue #16: frame rate values that reproduced the problem
dzhoshkun Oct 12, 2018
1446b97
Issue #16: using Debug CMake type in build script
dzhoshkun Oct 12, 2018
0b0398b
Issue #16: renamed variable for clarity in run script
dzhoshkun Oct 13, 2018
171ed86
Issue #16: setting ulimit to dump cores when running check
dzhoshkun Oct 13, 2018
382c77a
Issue #16: saving all output in a hierarchical session directory
dzhoshkun Oct 13, 2018
84b4757
Issue #16: added indentation for readability
dzhoshkun Oct 13, 2018
6736a24
Issue #16: can now specify number of reps in check script
dzhoshkun Oct 13, 2018
f1c5d65
Issue #16: can now optionally specify root output dir (e.g. not to fi…
dzhoshkun Oct 13, 2018
bdd466b
Issue #16: logging frequency of exit codes as well
dzhoshkun Oct 13, 2018
4f06fa9
Issue #16: nicer formatting of exit code frequencies log
dzhoshkun Oct 13, 2018
90d10ac
Issue #16: ignoring output folder to avoid an accidental commit of bi…
dzhoshkun Oct 13, 2018
ba7731b
Issue #16: using absolute path expansion if root-dir passed as a CLI …
dzhoshkun Oct 13, 2018
4f5dec2
Issue #16: intermediately writing exit codes every 10 iterations
dzhoshkun Oct 13, 2018
46f2e79
Issue #16: using git-describe to tag the output with the version used
dzhoshkun Oct 13, 2018
8096d0a
Issue #16: querying for update override after the acquisition of GIL
dzhoshkun Oct 13, 2018
bddf3a9
Issue #16: checking update method overridden in Python before actuall…
dzhoshkun Oct 13, 2018
27c2dc1
Issue #16: using Pythonic percentage formatting
dzhoshkun Oct 14, 2018
ab70a44
Issue #16: added a SnapshotSaver class that implements IObserver dire…
dzhoshkun Oct 14, 2018
4009f15
Issue #16: inserted snapshot saver into the pipeline
dzhoshkun Oct 14, 2018
d318f78
Issue #16: fixed timed saving of snapshots
dzhoshkun Oct 14, 2018
9b57f88
Issue #16: renamed buffer => np_buffer as buffer is built-in type
dzhoshkun Oct 14, 2018
1b119b0
Issue #16: renamed global buffers for clarity
dzhoshkun Oct 14, 2018
d1b7ece
Issue #16: commented checker script
dzhoshkun Oct 14, 2018
e3368a1
Issue #16: moved issue-specific comments to shell script
dzhoshkun Oct 14, 2018
5298af2
Issue #16: added synopsis display to shell script
dzhoshkun Oct 14, 2018
075eeac
Issue #16: shell script now shows the current session directory befor…
dzhoshkun Oct 14, 2018
70e8fde
Issue #16: shorter name for Python script
dzhoshkun Oct 14, 2018
18ef69b
Issue #16: shorter name for Bash script
dzhoshkun Oct 14, 2018
cf3c85e
Issue #16: fixed typos
dzhoshkun Oct 14, 2018
38e62ce
Issue #16: reduced snapshot output
dzhoshkun Oct 14, 2018
124e100
Issue #16: fixed calling of Python script from Bash script
dzhoshkun Oct 14, 2018
b194ba8
Issue #16: added an RTD page linking to the complex pipeline example
dzhoshkun Oct 14, 2018
791a83c
Issue #16: added the new RTD page to the index
dzhoshkun Oct 14, 2018
7ea7c47
Issue #16: fixed cross-reference to NumPy example from new RTD page
dzhoshkun Oct 14, 2018
75fb5bd
Issue #16: added link from new RTD page to example source code on GitHub
dzhoshkun Oct 14, 2018
2ec3b25
Issue #16: made the title of the new RTD page more descriptive
dzhoshkun Oct 14, 2018
8ca5d20
Issue #16: revised the RTD page wording for clarity
dzhoshkun Oct 14, 2018
b7cd7b9
Issue #16: removed line numbers from example on new RTD page
dzhoshkun Oct 14, 2018
55665cc
Rebased #16 branch on to #20 branch, to be able to test the #16 fix w…
dzhoshkun Oct 19, 2018
be5620a
Issue #16: checker script now supports Blackmagic DeckLink 4K Extreme…
dzhoshkun Oct 19, 2018
32921fc
Issue #16: revised checker script for more generic variable names
dzhoshkun Oct 19, 2018
3f003c9
Issue #16: added missing variable and removed cropping in checker scr…
dzhoshkun Oct 19, 2018
af2157c
Issue #16: added missing file extension specification when using Deck…
dzhoshkun Oct 19, 2018
a327c37
Issue #16: multi-threading reliability checker now supports Epiphan D…
dzhoshkun Oct 21, 2018
f1179d0
Issue #16: multi-threading reliability launch script now supports Epi…
dzhoshkun Oct 21, 2018
f5f7980
Issue #24: added support for Epiphan DVI2PCIe duo to test launcher
dzhoshkun Oct 21, 2018
8716e84
Issue #24, #26: replaced test-giftgrab-epiphan-* calls with calls to …
dzhoshkun Oct 21, 2018
080cc60
Issue #24, #26: removed test-giftgrab-epiphan-dvi2pcieduo-i420 consol…
dzhoshkun Oct 21, 2018
961622f
Issue #24, #26: removed actual implementation of both test-giftgrab-e…
dzhoshkun Oct 21, 2018
90940ab
Issue #24, #26: removed note about both test-giftgrab-epiphan-dvi2pci…
dzhoshkun Oct 21, 2018
a1bc2a8
Issue #24, #26: removed installation of "test-giftgrab-epiphan-*"-rel…
dzhoshkun Oct 21, 2018
5cdd60a
Issue #16: added a Python script stub for checking multi-threading re…
dzhoshkun Oct 11, 2018
28a40bf
Issue #16: added a Bash script for building GIFT-Grab and subsequentl…
dzhoshkun Oct 11, 2018
b4ab05b
Issue #16: added a 'Dyer' processing node to multi-threading reliability
dzhoshkun Oct 12, 2018
5a59a17
Issue #16: Python script now uses CLI argument for input file
dzhoshkun Oct 12, 2018
10c748f
Issue #16: added multi-node pipeline producing red- and yellow-dyed o…
dzhoshkun Oct 12, 2018
b7078b3
Issue #16: added a threaded Histogrammer class stub
dzhoshkun Oct 12, 2018
836abb0
Issue #16: added dummy print statement to see Histogrammer is alive
dzhoshkun Oct 12, 2018
79ae445
Issue #16: factored Histogrammer stub out to HistogrammerRed and Buff…
dzhoshkun Oct 12, 2018
f6b9a61
Issue #16: implemented update of BuffererRed
dzhoshkun Oct 12, 2018
57e85b0
Issue #16: implemented run of HistogrammerRed
dzhoshkun Oct 12, 2018
ea8e809
Issue #16: renamed Dyer vars for clarity
dzhoshkun Oct 12, 2018
1a8d91c
Issue #16: Dyer.update uses lock
dzhoshkun Oct 12, 2018
6d1ede0
Issue #16: inserted a red bufferer into the pipeline
dzhoshkun Oct 12, 2018
b1b5246
Issue #16: fixed call to histogram function
dzhoshkun Oct 12, 2018
4cc919c
Issue #16: Dyer now really dyes instead of fixing color to a value
dzhoshkun Oct 12, 2018
36ba5c4
Issue #16: histogrammer now displays a redness score instead of histo…
dzhoshkun Oct 12, 2018
1c247f2
Issue #16: using more sensible values for dyeing
dzhoshkun Oct 12, 2018
d001d8f
Issue #16: added a BuffererOrig class, a virtual replica of BuffererRed
dzhoshkun Oct 12, 2018
b1d8310
Issue #16: BuffererRed now takes buffer as parameter to constructor i…
dzhoshkun Oct 12, 2018
1290fad
Revert "Issue #16: added a BuffererOrig class, a virtual replica of B…
dzhoshkun Oct 12, 2018
6fcf20a
Issue #16: renamed BuffererRed => Bufferer
dzhoshkun Oct 12, 2018
66dd339
Issue #16: HistogrammerRed now takes buffer as a constructor argument…
dzhoshkun Oct 12, 2018
60d44a5
Issue #16: HistogrammerRed is now generic Histogrammer
dzhoshkun Oct 12, 2018
07d9ca9
Issue #16: Histogrammer now accepts a tag for generically printing wh…
dzhoshkun Oct 12, 2018
2347e43
Issue #16: inserted an original image histogrammer into the pipeline
dzhoshkun Oct 12, 2018
a947f5b
Issue #16: Histogrammer now accepts a frame rate and flag for display…
dzhoshkun Oct 12, 2018
7e4bfe4
Issue #16: now can specify the frequency of coloredness prints
dzhoshkun Oct 12, 2018
805e659
Issue #16: dyeing red more prominently
dzhoshkun Oct 12, 2018
faf96f7
Issue #16: frame rate values that reproduced the problem
dzhoshkun Oct 12, 2018
36746d2
Issue #16: using Debug CMake type in build script
dzhoshkun Oct 12, 2018
1ef3c35
Issue #16: renamed variable for clarity in run script
dzhoshkun Oct 13, 2018
5483be9
Issue #16: setting ulimit to dump cores when running check
dzhoshkun Oct 13, 2018
fe29300
Issue #16: saving all output in a hierarchical session directory
dzhoshkun Oct 13, 2018
620f0f4
Issue #16: added indentation for readability
dzhoshkun Oct 13, 2018
ee7aa5f
Issue #16: can now specify number of reps in check script
dzhoshkun Oct 13, 2018
94ffd82
Issue #16: can now optionally specify root output dir (e.g. not to fi…
dzhoshkun Oct 13, 2018
f77c463
Issue #16: logging frequency of exit codes as well
dzhoshkun Oct 13, 2018
c3ce578
Issue #16: nicer formatting of exit code frequencies log
dzhoshkun Oct 13, 2018
5072e59
Issue #16: ignoring output folder to avoid an accidental commit of bi…
dzhoshkun Oct 13, 2018
8d88435
Issue #16: using absolute path expansion if root-dir passed as a CLI …
dzhoshkun Oct 13, 2018
43e9512
Issue #16: intermediately writing exit codes every 10 iterations
dzhoshkun Oct 13, 2018
8e07042
Issue #16: using git-describe to tag the output with the version used
dzhoshkun Oct 13, 2018
f0f7bb5
Issue #16: querying for update override after the acquisition of GIL
dzhoshkun Oct 13, 2018
3b96e72
Issue #16: checking update method overridden in Python before actuall…
dzhoshkun Oct 13, 2018
8a41dae
Issue #16: using Pythonic percentage formatting
dzhoshkun Oct 14, 2018
3ac735d
Issue #16: added a SnapshotSaver class that implements IObserver dire…
dzhoshkun Oct 14, 2018
74ee1c8
Issue #16: inserted snapshot saver into the pipeline
dzhoshkun Oct 14, 2018
4b10f04
Issue #16: fixed timed saving of snapshots
dzhoshkun Oct 14, 2018
5e03e83
Issue #16: renamed buffer => np_buffer as buffer is built-in type
dzhoshkun Oct 14, 2018
67e384c
Issue #16: renamed global buffers for clarity
dzhoshkun Oct 14, 2018
3ed391a
Issue #16: commented checker script
dzhoshkun Oct 14, 2018
c66665c
Issue #16: moved issue-specific comments to shell script
dzhoshkun Oct 14, 2018
c9eb7dd
Issue #16: added synopsis display to shell script
dzhoshkun Oct 14, 2018
f76c706
Issue #16: shell script now shows the current session directory befor…
dzhoshkun Oct 14, 2018
a196828
Issue #16: shorter name for Python script
dzhoshkun Oct 14, 2018
9289a48
Issue #16: shorter name for Bash script
dzhoshkun Oct 14, 2018
206efc2
Issue #16: fixed typos
dzhoshkun Oct 14, 2018
db276e8
Issue #16: reduced snapshot output
dzhoshkun Oct 14, 2018
b1bad2e
Issue #16: fixed calling of Python script from Bash script
dzhoshkun Oct 14, 2018
209e918
Issue #16: added an RTD page linking to the complex pipeline example
dzhoshkun Oct 14, 2018
7aa547e
Issue #16: added the new RTD page to the index
dzhoshkun Oct 14, 2018
3da6eea
Issue #16: fixed cross-reference to NumPy example from new RTD page
dzhoshkun Oct 14, 2018
7ead125
Issue #16: added link from new RTD page to example source code on GitHub
dzhoshkun Oct 14, 2018
83dd35d
Issue #16: made the title of the new RTD page more descriptive
dzhoshkun Oct 14, 2018
1b4e3eb
Issue #16: revised the RTD page wording for clarity
dzhoshkun Oct 14, 2018
5a15bc0
Issue #16: removed line numbers from example on new RTD page
dzhoshkun Oct 14, 2018
eee97b9
Issue #16: added a Python script stub for checking multi-threading re…
dzhoshkun Oct 11, 2018
170f789
Issue #16: added a Bash script for building GIFT-Grab and subsequentl…
dzhoshkun Oct 11, 2018
455cc68
Issue #16: added a 'Dyer' processing node to multi-threading reliability
dzhoshkun Oct 12, 2018
9488646
Issue #16: Python script now uses CLI argument for input file
dzhoshkun Oct 12, 2018
20343bb
Issue #16: added multi-node pipeline producing red- and yellow-dyed o…
dzhoshkun Oct 12, 2018
726bb37
Issue #16: added a threaded Histogrammer class stub
dzhoshkun Oct 12, 2018
9fda396
Issue #16: added dummy print statement to see Histogrammer is alive
dzhoshkun Oct 12, 2018
9b55161
Issue #16: factored Histogrammer stub out to HistogrammerRed and Buff…
dzhoshkun Oct 12, 2018
c820adb
Issue #16: implemented update of BuffererRed
dzhoshkun Oct 12, 2018
3d4dfce
Issue #16: implemented run of HistogrammerRed
dzhoshkun Oct 12, 2018
beab3d0
Issue #16: renamed Dyer vars for clarity
dzhoshkun Oct 12, 2018
72e4830
Issue #16: Dyer.update uses lock
dzhoshkun Oct 12, 2018
b8f91ad
Issue #16: inserted a red bufferer into the pipeline
dzhoshkun Oct 12, 2018
2c8fc12
Issue #16: fixed call to histogram function
dzhoshkun Oct 12, 2018
67d370b
Issue #16: Dyer now really dyes instead of fixing color to a value
dzhoshkun Oct 12, 2018
f09e304
Issue #16: histogrammer now displays a redness score instead of histo…
dzhoshkun Oct 12, 2018
91ca884
Issue #16: using more sensible values for dyeing
dzhoshkun Oct 12, 2018
97910f8
Issue #16: added a BuffererOrig class, a virtual replica of BuffererRed
dzhoshkun Oct 12, 2018
b5be85c
Issue #16: BuffererRed now takes buffer as parameter to constructor i…
dzhoshkun Oct 12, 2018
c64f863
Revert "Issue #16: added a BuffererOrig class, a virtual replica of B…
dzhoshkun Oct 12, 2018
8f76661
Issue #16: renamed BuffererRed => Bufferer
dzhoshkun Oct 12, 2018
6655980
Issue #16: HistogrammerRed now takes buffer as a constructor argument…
dzhoshkun Oct 12, 2018
a8e95b6
Issue #16: HistogrammerRed is now generic Histogrammer
dzhoshkun Oct 12, 2018
a409400
Issue #16: Histogrammer now accepts a tag for generically printing wh…
dzhoshkun Oct 12, 2018
5e4df49
Issue #16: inserted an original image histogrammer into the pipeline
dzhoshkun Oct 12, 2018
492cfad
Issue #16: Histogrammer now accepts a frame rate and flag for display…
dzhoshkun Oct 12, 2018
59e4a9a
Issue #16: now can specify the frequency of coloredness prints
dzhoshkun Oct 12, 2018
a80a29c
Issue #16: dyeing red more prominently
dzhoshkun Oct 12, 2018
c032350
Issue #16: frame rate values that reproduced the problem
dzhoshkun Oct 12, 2018
0f3d327
Issue #16: using Debug CMake type in build script
dzhoshkun Oct 12, 2018
c13a24f
Issue #16: renamed variable for clarity in run script
dzhoshkun Oct 13, 2018
a15424a
Issue #16: setting ulimit to dump cores when running check
dzhoshkun Oct 13, 2018
b864abe
Issue #16: saving all output in a hierarchical session directory
dzhoshkun Oct 13, 2018
5c7bde3
Issue #16: added indentation for readability
dzhoshkun Oct 13, 2018
d3534e6
Issue #16: can now specify number of reps in check script
dzhoshkun Oct 13, 2018
22c158b
Issue #16: can now optionally specify root output dir (e.g. not to fi…
dzhoshkun Oct 13, 2018
5795b39
Issue #16: logging frequency of exit codes as well
dzhoshkun Oct 13, 2018
85f4838
Issue #16: nicer formatting of exit code frequencies log
dzhoshkun Oct 13, 2018
d0a3c05
Issue #16: ignoring output folder to avoid an accidental commit of bi…
dzhoshkun Oct 13, 2018
36f0086
Issue #16: using absolute path expansion if root-dir passed as a CLI …
dzhoshkun Oct 13, 2018
c866810
Issue #16: intermediately writing exit codes every 10 iterations
dzhoshkun Oct 13, 2018
5177b08
Issue #16: using git-describe to tag the output with the version used
dzhoshkun Oct 13, 2018
452b0f9
Issue #16: using Pythonic percentage formatting
dzhoshkun Oct 14, 2018
b2f649d
Issue #16: added a SnapshotSaver class that implements IObserver dire…
dzhoshkun Oct 14, 2018
ecd7286
Issue #16: inserted snapshot saver into the pipeline
dzhoshkun Oct 14, 2018
0b90bd7
Issue #16: fixed timed saving of snapshots
dzhoshkun Oct 14, 2018
3f5e56d
Issue #16: renamed buffer => np_buffer as buffer is built-in type
dzhoshkun Oct 14, 2018
5099c9d
Issue #16: renamed global buffers for clarity
dzhoshkun Oct 14, 2018
58a2afe
Issue #16: commented checker script
dzhoshkun Oct 14, 2018
a78214c
Issue #16: moved issue-specific comments to shell script
dzhoshkun Oct 14, 2018
1844626
Issue #16: added synopsis display to shell script
dzhoshkun Oct 14, 2018
8ef5a46
Issue #16: shell script now shows the current session directory befor…
dzhoshkun Oct 14, 2018
ad14262
Issue #16: shorter name for Python script
dzhoshkun Oct 14, 2018
4a32b61
Issue #16: shorter name for Bash script
dzhoshkun Oct 14, 2018
0408f12
Issue #16: fixed typos
dzhoshkun Oct 14, 2018
66b0c33
Issue #16: reduced snapshot output
dzhoshkun Oct 14, 2018
6f3982d
Issue #16: fixed calling of Python script from Bash script
dzhoshkun Oct 14, 2018
f434c03
Issue #16: added an RTD page linking to the complex pipeline example
dzhoshkun Oct 14, 2018
0bd666a
Issue #16: fixed cross-reference to NumPy example from new RTD page
dzhoshkun Oct 14, 2018
144a517
Issue #16: added link from new RTD page to example source code on GitHub
dzhoshkun Oct 14, 2018
c890e4d
Issue #16: made the title of the new RTD page more descriptive
dzhoshkun Oct 14, 2018
0bf6a10
Issue #16: revised the RTD page wording for clarity
dzhoshkun Oct 14, 2018
eaa67d4
Issue #16: removed line numbers from example on new RTD page
dzhoshkun Oct 14, 2018
c6d611a
Issue #16: checker script now supports Blackmagic DeckLink 4K Extreme…
dzhoshkun Oct 19, 2018
41db15f
Issue #16: revised checker script for more generic variable names
dzhoshkun Oct 19, 2018
65b8724
Issue #16: added missing variable and removed cropping in checker scr…
dzhoshkun Oct 19, 2018
9fa8640
Issue #16: added missing file extension specification when using Deck…
dzhoshkun Oct 19, 2018
64f1e8b
Issue #16: multi-threading reliability checker now supports Epiphan D…
dzhoshkun Oct 21, 2018
30a2ed9
Issue #16: multi-threading reliability launch script now supports Epi…
dzhoshkun Oct 21, 2018
6a43bec
After rebasing #16 branch onto master:
dzhoshkun Oct 22, 2018
7e355c7
Issue #16: using the SDI port of Epiphan DVI2PCIe Duo instead of the …
dzhoshkun Oct 22, 2018
c5f590f
Issue #16: using default thread constructor with move semantics to en…
dzhoshkun Oct 23, 2018
8bdc48c
Issue #35, #16: surrounded VideoSourceOpenCV colour conversion with a…
dzhoshkun Oct 23, 2018
0322034
Issue #16: build directory is now relative to calling directory, to p…
dzhoshkun Oct 23, 2018
f08502e
Merge pull request #33 from gift-surg/16-iobservableobserverwrapper-u…
dzhoshkun Oct 23, 2018
6db0a41
Issue #24: added support for Epiphan DVI2PCIe duo to test launcher
dzhoshkun Oct 21, 2018
a7b28de
Issue #24, #26: replaced test-giftgrab-epiphan-* calls with calls to …
dzhoshkun Oct 21, 2018
108bc0e
Issue #24, #26: removed test-giftgrab-epiphan-dvi2pcieduo-i420 consol…
dzhoshkun Oct 21, 2018
42685d5
Issue #24, #26: removed actual implementation of both test-giftgrab-e…
dzhoshkun Oct 21, 2018
8074953
Issue #24, #26: removed note about both test-giftgrab-epiphan-dvi2pci…
dzhoshkun Oct 21, 2018
f7b80f9
Issue #24, #26: removed installation of "test-giftgrab-epiphan-*"-rel…
dzhoshkun Oct 21, 2018
cd2e250
After rebasing onto master:
dzhoshkun Oct 24, 2018
4ded35a
Issue #24, #26: using only Epiphan DVI port tests in CI script (no DV…
dzhoshkun Oct 24, 2018
73b6a94
Issue #24: removed edd-* calls in CI script
dzhoshkun Oct 24, 2018
c5481aa
Issue #24: removed edd-* console scripts from setup.py
dzhoshkun Oct 24, 2018
9d4bb4f
Issue #24: removed actual implementation of edd-* console scripts
dzhoshkun Oct 24, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ src/build
src/dist
src/*.egg-info
*.swp
src/tests/pipeline/mtr-build
gg-iss-16
46 changes: 8 additions & 38 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -245,60 +245,32 @@ pypi-epiphan-dvi2pcie-duo:
# Epiphan DVI2PCIe Duo support (OpenCV only)
- pip install -vvv --install-option="--hevc" --install-option="--nvenc" --install-option="--enable-nonfree" --install-option="--xvid" --install-option="--vp9" --install-option="--epiphan-dvi2pcie-duo" --install-option="--no-i420" --upgrade "$PyPI_INSTALLER"
# Disabled the BGRA tests of Epiphan DVI2PCIe Duo (currently using OpenCV) until issue #115 is resolved
# - test-giftgrab-epiphan-dvi2pcieduo-bgra; exit_on_fail
# - edd-dvi-bgra-hevc; exit_on_fail
# - edd-sdi-bgra-hevc; exit_on_fail
# - edd-dvi-bgra-xvid; exit_on_fail
# - edd-sdi-bgra-xvid; exit_on_fail
# - edd-dvi-bgra-vp9; exit_on_fail
# - edd-sdi-bgra-vp9; exit_on_fail
# - $TEST_LAUNCHER epiphan-dvi2pcie bgra sdi; exit_on_fail
# - $TEST_LAUNCHER epiphan-dvi2pcie bgra dvi; exit_on_fail
# Epiphan DVI2PCIe Duo support (Epiphan SDK only)
- pip install -vvv --install-option="--hevc" --install-option="--nvenc" --install-option="--enable-nonfree" --install-option="--vp9" --install-option="--epiphan-dvi2pcie-duo" --install-option="--epiphansdk" --install-option="--no-bgra" --upgrade "$PyPI_INSTALLER"
# TODO: issue #102
# - test-giftgrab-epiphan-dvi2pcieduo-i420; exit_on_fail
# Disabled the BGRA tests of Epiphan DVI2PCIe Duo (currently using OpenCV) until issue #115 is resolved
- edd-dvi-i420-hevc; exit_on_fail
- edd-sdi-i420-hevc; exit_on_fail
- edd-dvi-i420-vp9; exit_on_fail
- edd-sdi-i420-vp9; exit_on_fail
- ls -alh ./*.mp4
# - ls -alh ./*.avi
- ls -alh ./*.webm
- rm -f ./*.mp4 ./*.avi ./*.webm
# - $TEST_LAUNCHER epiphan-dvi2pcie i420 sdi; exit_on_fail
# - $TEST_LAUNCHER epiphan-dvi2pcie i420 dvi; exit_on_fail
# Epiphan DVI2PCIe Duo support (both OpenCV and Epiphan SDK)
# dummy var, to induce width_offset in test_epiphan_py_module.py
# see definition of width_offset in test_epiphan_py_module.py (Epiphan DVI2PCIe Duo tests)
- export USE_EPIPHANSDK=3
- pip install -vvv --install-option="--hevc" --install-option="--nvenc" --install-option="--enable-nonfree" --install-option="--xvid" --install-option="--vp9" --install-option="--epiphan-dvi2pcie-duo" --install-option="--epiphansdk" --upgrade "$PyPI_INSTALLER"
- test-giftgrab-epiphan-dvi2pcieduo-i420; exit_on_fail
- edd-dvi-i420-hevc; exit_on_fail
- edd-sdi-i420-hevc; exit_on_fail
- edd-dvi-i420-vp9; exit_on_fail
- edd-sdi-i420-vp9; exit_on_fail
- ls -alh ./*.mp4
- ls -alh ./*.webm
- rm -f ./*.mp4 ./*.avi ./*.webm
- $TEST_LAUNCHER epiphan-dvi2pcie i420 sdi; exit_on_fail
# NumPy support
- pip install -vvv --install-option="--hevc" --install-option="--nvenc" --install-option="--enable-nonfree" --install-option="--xvid" --install-option="--vp9" --install-option="--epiphan-dvi2pcie-duo" --install-option="--epiphansdk" --install-option="--numpy" --upgrade "$PyPI_INSTALLER"
- test-giftgrab-epiphan-dvi2pcieduo-i420; exit_on_fail
- edd-dvi-i420-hevc; exit_on_fail
- edd-sdi-i420-hevc; exit_on_fail
- edd-dvi-i420-vp9; exit_on_fail
- edd-sdi-i420-vp9; exit_on_fail
- ls -alh ./*.mp4
- ls -alh ./*.webm
- rm -f ./*.mp4 ./*.avi ./*.webm
- $TEST_LAUNCHER epiphan-dvi2pcie i420 sdi; exit_on_fail
# Run the actual NumPy tests
- pip install numpy
- $TEST_LAUNCHER numpy i420; exit_on_fail
- unset USE_EPIPHANSDK # remove dummy var
- deactivate
tags:
- gift-linux
- gift-pypi
- gift-epiphan-dvi2pcie-duo
only:
- this-branch-should-never-exist
- 24-remove-user-tests-installed-via-pip

################## Device: Epiphan DVI2PCIe Duo ##################
epiphan-dvi2pcie-duo:
Expand All @@ -323,15 +295,13 @@ epiphan-dvi2pcie-duo:
- cmake -D USE_EPIPHAN_DVI2PCIE_DUO=ON -D USE_EPIPHANSDK=ON -D ENABLE_NONFREE=ON -D BUILD_PYTHON=ON -D BUILD_TESTS=ON -D USE_HEVC=ON -D USE_NVENC=ON -D ENABLE_NONFREE=ON "$GiftGrab_SOURCE_DIR"
- make -j; exit_on_fail
- check_epiphan_alive
- ctest -R Epiphan_DVI2PCIeDuo_VideoSourceFactory_DVI_I420; exit_on_fail # due to issue #126
- ctest -R Epiphan_DVI2PCIeDuo_VideoSourceFactory_SDI_I420; exit_on_fail # due to issue #126
# test BGRA colour space
- cmake -D USE_BGRA=ON -D USE_I420=OFF .
- make -j; exit_on_fail
- check_epiphan_alive
# -E => excluding VideoSourceFactory tests
- ctest -E Epiphan_DVI2PCIeDuo_VideoSourceFactory; exit_on_fail
- ctest -R Epiphan_DVI2PCIeDuo_VideoSourceFactory_DVI_BGRA; exit_on_fail # due to issue #126
- ctest -R Epiphan_DVI2PCIeDuo_VideoSourceFactory_SDI_BGRA; exit_on_fail # due to issue #126
# test I420 colour space
- cmake -D USE_BGRA=OFF -D USE_I420=ON .
Expand All @@ -344,10 +314,10 @@ epiphan-dvi2pcie-duo:
- ctest; exit_on_fail
- unset USE_EPIPHANSDK # remove dummy var
tags:
- gift-linux
- gift-epiphan-dvi2pcie-duo
only:
- this-branch-should-never-exist
- 24-remove-user-tests-installed-via-pip

################## Device: Epiphan Pearl #########################
################## Platform: PyPI ################################
Expand Down
23 changes: 23 additions & 0 deletions doc/source/complex.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
.. _Complex:

Multi-threaded complex processing pipelines
===========================================

The example below shows how GIFT-Grab can be used for running complex pipelines with multiple
intermediate processing nodes and threads.
The intermediate processing nodes in this example are built on the same principles as in the
:ref:`SciPy` example.
Running the example requires an `HEVC-encoded MP4 file`_, an `NVENC-capable GPU`_, and `NumPy support`_.

.. _`HEVC-encoded MP4 file`: https://github.com/gift-surg/GIFT-Grab/blob/master/doc/build.md#reading-video-files
.. _`NVENC-capable GPU`: https://github.com/gift-surg/GIFT-Grab/blob/master/doc/build.md#hevc
.. _`NumPy support`: https://github.com/gift-surg/GIFT-Grab/blob/master/doc/build.md#python-api

The full source code of the example is below.
Please follow the comments and the flow of code.
This example is also available on GitHub_:

.. literalinclude:: ../../src/tests/pipeline/complex_pipeline.py
:language: python

.. _GitHub: https://github.com/gift-surg/GIFT-Grab/blob/master/src/tests/pipeline/complex_pipeline.py
1 change: 1 addition & 0 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ Examples
network
scipy
encoding
complex

Citing GIFT-Grab
^^^^^^^^^^^^^^^^
Expand Down
1 change: 1 addition & 0 deletions src/api/broadcastdaemon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ namespace gg
BroadcastDaemon::BroadcastDaemon(IVideoSource * source)
: _source(source)
, _running(false)
, _thread()
{
if (_source == nullptr)
throw VideoSourceError("Null pointer passed"
Expand Down
20 changes: 18 additions & 2 deletions src/opencv/opencv_video_source.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,24 @@ bool VideoSourceOpenCV::get_frame(gg::VideoFrame & frame)
_buffer_bgra.cols != _buffer.cols) {
_buffer_bgra = cv::Mat::zeros(_buffer.rows, _buffer.cols, CV_8UC4);
}
// Convert to BGRA
cv::cvtColor(_buffer, _buffer_bgra, CV_BGR2BGRA);
/* This too broad try-catch block is a workaround to
* https://github.com/gift-surg/GIFT-Grab/issues/35
* as OpenCV seems to intermittently throw an assertion
* exception in the form:
* "Can't fetch data from terminated TLS container".
* To make things worse, this exception is unhandled in
* the accompanying BroadcastDaemon thread, and so leads
* to an unspecific abortion of the whole application.
*/
try
{
// Convert to BGRA
cv::cvtColor(_buffer, _buffer_bgra, CV_BGR2BGRA);
}
catch (...)
{
return false;
}
unsigned char * data = nullptr;
size_t data_length = 0;
size_t cols = 0, rows = 0;
Expand Down
181 changes: 0 additions & 181 deletions src/python/modules/giftgrab/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,184 +25,3 @@ def __extension(codec):
return '.webm'
else:
raise ValueError('Codec unknown')


def __record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec):
"""Record specified nr. of frames from specified Epiphan
DVI2PCIeDuo port to specified file using specified codec.

Note that the frame-rate of the file is set to 30, but
this value may not reflect reality, due to the encoding
time involved.

@param port as defined in pygiftgrab
@param frame a BGRA or I420 frame to use (i.e. determines
the colour space)
@param num_frames
@param file_path does not include the file extension,
which is automatically inferred using `codec`
@param codec as defined in pygiftgrab
"""
source_factory = gg.VideoSourceFactory.get_instance()
epiphan = source_factory.get_device(port, colour_space)
target_factory = gg.VideoTargetFactory.get_instance()
frame_rate = 30
filename = __unique_file_path() + __extension(codec)
writer = target_factory.create_file_writer(codec,
filename,
frame_rate)
for _ in range(num_frames):
epiphan.get_frame(frame)
writer.append(frame)


num_frames = 30


def record_epiphan_dvi2pcieduo_sdi_bgra_xvid():
port = gg.Device.DVI2PCIeDuo_SDI
colour_space = gg.ColourSpace.BGRA
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.Xvid
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_sdi_bgra_hevc():
port = gg.Device.DVI2PCIeDuo_SDI
colour_space = gg.ColourSpace.BGRA
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.HEVC
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_sdi_bgra_vp9():
port = gg.Device.DVI2PCIeDuo_SDI
colour_space = gg.ColourSpace.BGRA
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.VP9
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_sdi_i420_xvid():
port = gg.Device.DVI2PCIeDuo_SDI
colour_space = gg.ColourSpace.I420
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.Xvid
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_sdi_i420_hevc():
port = gg.Device.DVI2PCIeDuo_SDI
colour_space = gg.ColourSpace.I420
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.HEVC
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_sdi_i420_vp9():
port = gg.Device.DVI2PCIeDuo_SDI
colour_space = gg.ColourSpace.I420
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.VP9
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_dvi_bgra_xvid():
port = gg.Device.DVI2PCIeDuo_DVI
colour_space = gg.ColourSpace.BGRA
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.Xvid
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_dvi_bgra_hevc():
port = gg.Device.DVI2PCIeDuo_DVI
colour_space = gg.ColourSpace.BGRA
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.HEVC
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_dvi_bgra_vp9():
port = gg.Device.DVI2PCIeDuo_DVI
colour_space = gg.ColourSpace.BGRA
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.VP9
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_dvi_i420_xvid():
port = gg.Device.DVI2PCIeDuo_DVI
colour_space = gg.ColourSpace.I420
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.Xvid
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_dvi_i420_hevc():
port = gg.Device.DVI2PCIeDuo_DVI
colour_space = gg.ColourSpace.I420
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.HEVC
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)


def record_epiphan_dvi2pcieduo_dvi_i420_vp9():
port = gg.Device.DVI2PCIeDuo_DVI
colour_space = gg.ColourSpace.I420
frame = gg.VideoFrame(colour_space, True)
codec = gg.Codec.VP9
__record_epiphan_dvi2pcieduo(port,
colour_space,
frame,
num_frames,
codec)

11 changes: 7 additions & 4 deletions src/python/wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,8 @@ class IObserverWrapper : public gg::IObserver, public wrapper<gg::IObserver>
{
gg::ScopedPythonGILLock gil_lock;
VideoFrameNumPyWrapper wrapped_frame(&frame);
this->get_override("update")(boost::ref(wrapped_frame));
if (override f = this->get_override("update"))
f(boost::ref(wrapped_frame));
}
};

Expand Down Expand Up @@ -332,11 +333,13 @@ class IObservableObserverWrapper : public gg::IObservable

void update(gg::VideoFrame & frame)
{
if (override f = this->get_override("update"))
{
VideoFrameNumPyWrapper wrapped_frame(&frame);
gg::ScopedPythonGILLock gil_lock;
f(boost::ref(wrapped_frame));
if (override f = this->get_override("update"))
{
VideoFrameNumPyWrapper wrapped_frame(&frame);
f(boost::ref(wrapped_frame));
}
}
notify(frame);
}
Expand Down
Loading