MantisBT - Open CASCADE
View Issue Details
0025382Open CASCADE[OCCT] OCCT:Visualizationpublic2014-10-15 17:092017-09-29 16:23
san 
kgv 
highfeature 
closedfixed 
 
[OCCT] 7.2.0[OCCT] 7.2.0 
v3d anim videorecorder
0025382: Visualization, TKOpenGl - improved video recording capability
OpenGl_AVIWriter relies on Video for Windows (VFW) API which is obsolete and platform-specific.
Testing shows that only few video codecs can be used currently under Windows 7 (e.g. msvc, i420) and they produce unacceptable results (extremely low video quality or extremely large output file).

It is proposed to redesign this feature using some cross-platform video processing library (e.g. FFmpeg - http://www.ffmpeg.org [^]).
Video recording should remain an optional feature (to be enabled/disabled at build environment level), as well as dependency on FFmpeg.

And it makes sense to provide high-level API to video recording (e.g. at V3d package level) and hide low-level implementation details.
test v3d anim propeller 1
vraytrace -1
vrenderparams -msaa 8
vrenderparams -fsaa 1
XProgress +g
vanimation anim -play -record propeller.mkv 1920 1080 -vcodec ffv1 -fps 30 -speed 0.1
No tags attached.
parent of 0027961closed apn Visualization - remove unused and no more working OpenGl_AVIWriter 
parent of 0029112closed bugmaster Configuration, Image_VideoRecorder - compilation fails on Ubuntu with libavutil 54.x (FFmpeg 2.7.6) 
related to 0025383closed bugmaster Draw Harness - broken vrecord command 
related to 0025514closed bugmaster TKernel, OSD_Timer - do not accumulate error in timer within queries in running state 
related to 0023028closed bugmaster Visualization, TKOpenGl - eliminate global static variables 
related to 0027764closed apn Visualization - add functionality for animation of 3D camera and interactive objects 
related to 0028312closed apn Configuration, genproj.tcl - support CSF_ZLIB and CSF_LIBLZMA within project generator 
Issue History
2014-10-15 17:09sanNew Issue
2014-10-15 17:09sanAssigned To => kgv
2014-10-15 17:10sanPrioritynormal => low
2014-10-15 17:26sanRelationship addedrelated to 0025383
2014-10-28 09:36gitNote Added: 0033753
2014-11-03 15:37gitNote Added: 0034008
2014-11-05 16:45gitNote Added: 0034054
2014-11-24 22:37kgvRelationship addedrelated to 0025514
2015-01-13 12:24kgvNote Added: 0036001
2015-01-13 12:24kgvAssigned Tokgv => dbp
2015-01-13 12:24kgvStatusnew => feedback
2015-03-31 14:53kgvRelationship addedrelated to 0023028
2015-12-01 10:06kgvAssigned Todbp => kgv
2015-12-01 10:06kgvStatusfeedback => assigned
2016-02-15 12:11kgvAssigned Tokgv => aba
2016-02-17 15:40gitNote Added: 0050885
2016-05-16 19:15gitNote Added: 0054072
2016-08-08 19:18gitNote Added: 0056564
2016-08-08 19:23gitNote Added: 0056566
2016-08-08 19:26gitNote Added: 0056567
2016-08-08 20:26gitNote Added: 0056571
2016-08-08 21:16gitNote Added: 0056572
2016-08-08 21:23gitNote Added: 0056574
2016-08-08 21:27gitNote Added: 0056575
2016-08-08 21:42gitNote Added: 0056576
2016-08-08 21:53kgvNote Added: 0056577
2016-08-08 21:54kgvNote Added: 0056578
2016-08-09 18:29gitNote Added: 0056598
2016-08-09 21:32gitNote Added: 0056599
2016-08-10 09:10gitNote Added: 0056600
2016-08-10 17:40gitNote Added: 0056620
2016-08-10 18:26gitNote Added: 0056623
2016-08-11 08:11abaRelationship addedrelated to 0027764
2016-08-11 09:58gitNote Added: 0056629
2016-08-11 11:31gitNote Added: 0056636
2016-08-12 16:15gitNote Added: 0056687
2016-10-13 16:31kgvRelationship addedparent of 0027961
2016-10-15 17:10gitNote Added: 0058759
2016-10-29 19:13gitNote Added: 0059621
2016-10-29 19:15kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=15131#r15131
2016-10-29 19:15kgvNote Added: 0059622
2016-10-29 19:15kgvAssigned Toaba => san
2016-10-29 19:15kgvStatusassigned => resolved
2016-10-31 12:16gitNote Added: 0059626
2016-10-31 12:18gitNote Added: 0059627
2016-10-31 12:51sanNote Added: 0059634
2016-10-31 12:51sanAssigned Tosan => bugmaster
2016-10-31 12:51sanStatusresolved => reviewed
2016-10-31 14:02gitNote Added: 0059635
2016-10-31 14:03kgvNote Added: 0059636
2016-10-31 14:04kgvNote Edited: 0059636bug_revision_view_page.php?bugnote_id=59636#r15135
2016-10-31 14:37gitNote Added: 0059637
2016-11-07 09:55kgvNote Added: 0059911
2016-11-07 09:55kgvPrioritylow => normal
2016-11-07 12:52kgvTarget Version7.1.0 => 7.2.0
2016-11-19 09:50gitNote Added: 0060569
2016-12-01 19:34sanNote Added: 0060997
2016-12-01 19:34sanStatusreviewed => feedback
2016-12-14 10:58apnAssigned Tobugmaster => apn
2016-12-28 19:12kgvRelationship addedrelated to 0028312
2017-02-02 15:51sanNote Added: 0063370
2017-02-03 15:40gitNote Added: 0063407
2017-02-03 15:41apnStatusfeedback => reviewed
2017-02-07 19:23gitNote Added: 0063508
2017-02-08 15:05gitNote Added: 0063698
2017-02-08 20:23gitNote Added: 0063717
2017-02-09 11:33apnNote Added: 0063723
2017-02-09 11:34apnAssigned Toapn => kgv
2017-02-09 11:34apnStatusreviewed => assigned
2017-04-17 12:34gitNote Added: 0065255
2017-04-17 14:11gitNote Added: 0065258
2017-04-17 14:53gitNote Added: 0065260
2017-04-17 15:00gitNote Added: 0065261
2017-04-17 15:27gitNote Added: 0065263
2017-04-17 19:30kgvNote Added: 0065272
2017-04-17 19:31kgvAssigned Tokgv => bugmaster
2017-04-17 19:31kgvStatusassigned => resolved
2017-04-17 19:31kgvStatusresolved => reviewed
2017-04-18 13:58apvAssigned Tobugmaster => apn
2017-04-26 14:05kgvPrioritynormal => high
2017-04-26 20:08gitNote Added: 0065583
2017-05-16 16:52gitNote Added: 0066155
2017-05-16 18:01gitNote Added: 0066157
2017-05-16 18:26kgvNote Added: 0066161
2017-05-16 18:26kgvAssigned Toapn => bugmaster
2017-06-08 14:32bugmasterAssigned Tobugmaster => apn
2017-07-03 08:51gitNote Added: 0067920
2017-07-24 19:01gitNote Added: 0068649
2017-07-24 20:43gitNote Added: 0068653
2017-07-25 12:46apnNote Added: 0068664
2017-07-25 12:48apnAssigned Toapn => kgv
2017-07-25 12:48apnStatusreviewed => feedback
2017-07-25 15:57gitNote Added: 0068680
2017-07-25 16:03kgvNote Added: 0068681
2017-07-25 16:04kgvAssigned Tokgv => apn
2017-07-26 16:22gitNote Added: 0068733
2017-07-26 16:24apnNote Added: 0068734
2017-07-26 16:25apnAssigned Toapn => kgv
2017-07-26 16:42gitNote Added: 0068741
2017-07-26 16:43kgvNote Added: 0068742
2017-07-26 16:43kgvAssigned Tokgv => apn
2017-07-26 18:04apnNote Added: 0068746
2017-07-26 18:04apnAssigned Toapn => kgv
2017-07-26 18:13gitNote Added: 0068747
2017-07-26 18:14kgvNote Added: 0068748
2017-07-26 18:14kgvAssigned Tokgv => apn
2017-07-27 12:53gitNote Added: 0068784
2017-07-27 13:03apnNote Added: 0068785
2017-07-27 13:44apnTest case number => v3d anim videorecorder
2017-07-27 13:44apnAssigned Toapn => bugmaster
2017-07-27 13:44apnStatusfeedback => tested
2017-07-28 17:03gitNote Added: 0068847
2017-07-31 17:37gitNote Added: 0068923
2017-08-03 17:31kgvChangeset attached => occt master 08f8a185
2017-08-03 17:31kgvAssigned Tobugmaster => kgv
2017-08-03 17:31kgvStatustested => verified
2017-08-03 17:31kgvResolutionopen => fixed
2017-08-18 17:00gitNote Added: 0069599
2017-08-18 17:00gitNote Added: 0069600
2017-08-18 17:00gitNote Added: 0069601
2017-08-18 17:00gitNote Added: 0069602
2017-08-18 17:00gitNote Added: 0069603
2017-08-18 17:00gitNote Added: 0069604
2017-08-18 17:00gitNote Added: 0069605
2017-09-15 09:14kgvRelationship addedparent of 0029112
2017-09-29 16:17aivFixed in Version => 7.2.0
2017-09-29 16:23aivStatusverified => closed

Notes
(0033753)
git   
2014-10-28 09:36   
Branch CR25382 has been created by kgv.

SHA-1: b32737ef00c9cb8d66dde815390d9bc47b53671c


Detailed log of new commits:

Author: kgv
Date: Tue Oct 28 09:35:22 2014 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability
    
    OSD_Timer::ElapsedTime() - fix accumulation of the error.
    Provide new command vanimation for animation playline definition.
(0034008)
git   
2014-11-03 15:37   
Branch CR25382 has been updated forcibly by kgv.

SHA-1: b6b8990a69dfaa469ea259a36c51b6e227074b3c
(0034054)
git   
2014-11-05 16:45   
Branch CR25382 has been updated by kgv.

SHA-1: bece41e925f0d6848f5a21d67341f2a87845da93


Detailed log of new commits:

Author: kgv
Date: Wed Nov 5 16:28:50 2014 +0300

    add command vlogo

(0036001)
kgv   
2015-01-13 12:24   
Dear Denis,

could you please propagate your local fixes for FFmpeg wrapper and animation commands to the branch CR25382?
(0050885)
git   
2016-02-17 15:40   
Branch CR25382_1 has been created by aba.

SHA-1: c8edf6b6678873c166365a1e5be9bf1d120bb54d


Detailed log of new commits:

Author: aba
Date: Mon Feb 15 15:15:01 2016 +0300

    Ported on current master.
    
    Removed vlogo command and logo layer item as unused.

Author: kgv
Date: Tue Oct 28 09:35:22 2014 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability
    
    OSD_Timer::ElapsedTime() - fix accumulation of the error.
    Provide new command vanimation for animation playline definition.
    
    Extend vanimation command with video recorder
    
    * * *
    pload MODELING VISUALIZATION
    box b1 1 2 3
    vinit View1
    vclear
    vaxo
    vsetdispmode 1
    vdisplay b1
    vfit
    vsetlocation b1 0 1 0
    
    proc anim1 {thePts thePtsLoc theName} { vsetlocation b1 [expr sin($thePtsLoc)] cos($thePtsLoc)] 0 }
    vanim anim1 -reset -onRedraw anim1
    vanim anim -reset -addSlice 0.0 30.0 anim1
    vanim -play anim -playFps 30 -record test.mkv -recWidth 1920 -recHeight 1080
    
    Added command vlogo
(0054072)
git   
2016-05-16 19:15   
Branch CR25382_1 has been updated by aba.

SHA-1: c42dc8d83766c53d7698167ef55cf04512e612fa


Detailed log of new commits:

Author: aba
Date: Mon May 16 19:15:12 2016 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability
    
    -Added TKMotion toolkit - it allows to perform animated elements
    -Added test case

(0056564)
git   
2016-08-08 19:18   
Branch CR25382_1 has been updated forcibly by aba.

SHA-1: 770cdb772b925fd2e18c52e9176cb482ea4484ec
(0056566)
git   
2016-08-08 19:23   
Branch CR25382_1 has been updated forcibly by aba.

SHA-1: a4fe47514b10b5120e397f78288fc1136aba0a73
(0056567)
git   
2016-08-08 19:26   
Branch CR25382_1 has been updated forcibly by aba.

SHA-1: 965827482659fbc2eb4589c51a14db5bd2ba5ed8
(0056571)
git   
2016-08-08 20:26   
Branch CR25382_1 has been updated by kgv.

SHA-1: a0fc698a74a87f88edef2994f926def61c0729de


Detailed log of new commits:

Author: kgv
Date: Mon Aug 8 20:25:54 2016 +0300

    fix building errors

(0056572)
git   
2016-08-08 21:16   
Branch CR25382_1 has been updated by kgv.

SHA-1: 06245798bdea4060b79d084e5668cbe7b46b9c27


Detailed log of new commits:

Author: kgv
Date: Mon Aug 8 21:15:55 2016 +0300

    cosmetics
    
    - Add empty line at end of file.
    - Use NCollection_Sequence::Iterator instead of indices.
    - Remove redundant includes.
    - Removed cyrillic symbols.

(0056574)
git   
2016-08-08 21:23   
Branch CR25382_1 has been updated forcibly by kgv.

SHA-1: b401297667ed1b43dedc3fb74a9c46b7a432a561
(0056575)
git   
2016-08-08 21:27   
Branch CR25382_1 has been updated by kgv.

SHA-1: ec6c3f6beb5c54bd4aa2de5aea9b4816b7b91606


Detailed log of new commits:

Author: kgv
Date: Mon Aug 8 21:26:54 2016 +0300

    vamination - fix double view update within SetCamera()

(0056576)
git   
2016-08-08 21:42   
Branch CR25382_1 has been updated by kgv.

SHA-1: 5ec0566a8eff10a487125513e2f40253d385d49e


Detailed log of new commits:

Author: kgv
Date: Mon Aug 8 21:42:23 2016 +0300

    adjust test cases

(0056577)
kgv   
2016-08-08 21:53   
class Motion_BaseContainer : public Standard_Transient
NCollection_Handle<Motion_BaseContainer> myContainer;

Why NCollection_Handle is used here?

vanimation anAnim1 -play

Animation without FPS makes small sense.

Motion_AnimationTimeline::Start() does not suggest how this API can be used in real application. Start() is expected to draw a single frame and to start the timer, so that application will "Update()" when required to redraw the frame (by timer in GUI or by handling user input).
(0056578)
kgv   
2016-08-08 21:54   
Documentation of critical functionality in the patch is just missing.
(0056598)
git   
2016-08-09 18:29   
Branch CR25382_1 has been updated by aba.

SHA-1: 6c78710208fc29d47fe4f0b4d8e183e5f3f35cdf


Detailed log of new commits:

Author: aba
Date: Tue Aug 9 18:30:54 2016 +0300

    1) Added documentation to all Motion classes
    
    2) Remarks

(0056599)
git   
2016-08-09 21:32   
Branch CR25382_1 has been updated by aba.

SHA-1: 120a486ff56d80b292a0b376af3efe9b90126af8


Detailed log of new commits:

Author: aba
Date: Tue Aug 9 21:34:10 2016 +0300

    1) Added fps option to vanimation command
    
    2) Motion_AnimationTimeline: added Update method to update one frame; Start methods evaluate timer and Update the first frame now

(0056600)
git   
2016-08-10 09:10   
Branch CR25382_1 has been updated by aba.

SHA-1: 7aff4c80500131ba37616670b34ce5e9ac19de35


Detailed log of new commits:

Author: aba
Date: Wed Aug 10 09:10:47 2016 +0300

    Moved graphic camera parameter and interpolator to separate files;
    
    corrected v3d motion scale testcase

(0056620)
git   
2016-08-10 17:40   
Branch CR25382_1 has been updated by aba.

SHA-1: 015224d8c88113bc7fd355618a9222e1b9b29060


Detailed log of new commits:

Author: aba
Date: Wed Aug 10 17:41:43 2016 +0300

    Remarks:
    
    1) Added Motion_AnimationState
    2) Corrected v3d/motion/fps test case
    3) Corrected Motion_AnimationTimeline::Update
    4) Updates vanimation test

(0056623)
git   
2016-08-10 18:26   
Branch CR25382_2 has been created by aba.

SHA-1: 12134a79e4c70edef8f0a5383fb1803a38a674c9


Detailed log of new commits:

Author: aba
Date: Mon Aug 8 19:28:05 2016 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability
    
    -Added TKMotion toolkit - it allows to perform animated elements
    -Added vanimation test command and test cases into tests/v3d/motion.
(0056629)
git   
2016-08-11 09:58   
Branch CR25382_3 has been created by aba.

SHA-1: ec69140abcadd7f44072f0c55b96a46c6fd3b725


Detailed log of new commits:

Author: aba
Date: Thu Aug 11 09:58:34 2016 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability:
    
    1) Added Motion_VideoRecorder class
    2) Added record option to vanimation command
    3) Added motion/record testcase
(0056636)
git   
2016-08-11 11:31   
Branch CR25382_3 has been updated forcibly by aba.

SHA-1: 3b4639d89ed2257ec00cee01fdecab8dc014119e
(0056687)
git   
2016-08-12 16:15   
Branch CR25382_3 has been updated forcibly by aba.

SHA-1: e1a8ab026882f88abb05fbb7728a1f1a9dfc7434
(0058759)
git   
2016-10-15 17:10   
Branch CR25382_3 has been updated forcibly by kgv.

SHA-1: acd90877e405fe0d056812c77b5181d2d57a6b7d
(0059621)
git   
2016-10-29 19:13   
Branch CR25382_4 has been created by kgv.

SHA-1: db0808175326f9faa7b99a3b32712e41dd3ce0dd


Detailed log of new commits:

Author: aba
Date: Sat Oct 29 19:12:19 2016 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability
    
    Image_VideoRecorder - added new class for video recording using FFmpeg framework.
    Draw Harness command vanimation has been extended with new options for video recording.
    New optional dependency has been introduced - CSF_FFmpeg.
(0059622)
kgv   
2016-10-29 19:15   
Patch is ready for review.
(0059626)
git   
2016-10-31 12:16   
Branch CR25382_4 has been updated forcibly by kgv.

SHA-1: 7055bf281a8e050ea1f4060af117c8ff425a7e98
(0059627)
git   
2016-10-31 12:18   
Branch CR25382_4 has been updated forcibly by kgv.

SHA-1: 6f9d30411e620ccbec4d088a47d148e047fff8d9
(0059634)
san   
2016-10-31 12:51   
Branch CR25382_4 reviewed without remarks, ready for testing.
(0059635)
git   
2016-10-31 14:02   
Branch CR25382_4 has been updated forcibly by kgv.

SHA-1: 90a1a09a14c75d8a90b09f1c6097aaea0aa9f619
(0059636)
kgv   
2016-10-31 14:03   
(edited on: 2016-10-31 14:04)
The following pre-built FFmpeg libraries can be used for testing:
http://download.sview.ru/win/dependencies/ffmpeg-3.1-i686-w64-mingw32-4.9.2-lgpl.7z [^]
http://download.sview.ru/win/dependencies/ffmpeg-3.1-x86_64-w64-mingw32-4.9.2-lgpl.7z [^]
http://download.sview.ru/mac/dependencies/ffmpeg-3.1-osx-lgpl.tar.gz [^]
http://download.sview.ru/apk/dependencies/ffmpeg-3.1-aarch64-linux-android-4.9.x-lgpl.7z [^]
http://download.sview.ru/apk/dependencies/ffmpeg-3.1-arm-linux-androideabi-4.9.x-lgpl.7z [^]

Builds by MinGW can be used for Visual Studio.
Test case is not needed.

(0059637)
git   
2016-10-31 14:37   
Branch CR25382_4 has been updated forcibly by kgv.

SHA-1: 1dec4bae32cca80eee5562052148183eda9c9ff7
(0059911)
kgv   
2016-11-07 09:55   
Note, that new dependency is not expected to be enabled in official OCCT builds within nearest release.
(0060569)
git   
2016-11-19 09:50   
Branch CR25382_4 has been updated forcibly by kgv.

SHA-1: 6043937cf13429822f80517e29f3098803e29cc3
(0060997)
san   
2016-12-01 19:34   
Now that 7.1.0 has been released, can you please proceed to testing and integration of this feature?
(0063370)
san   
2017-02-02 15:51   
What is the status of this issue? The patch was ready more than 2 months ago...
(0063407)
git   
2017-02-03 15:40   
Branch CR25382_4 has been updated by apn.

SHA-1: 850616ae9b392c5ba316a24df015dd1f4ae4586d


Detailed log of new commits:

Author: apn
Date: Fri Feb 3 15:40:35 2017 +0300

    Corrections in CMake procedure

(0063508)
git   
2017-02-07 19:23   
Branch CR25382_4 has been updated forcibly by apn.

SHA-1: 23fcbbfa038829b31df9699bad91801ba8275dc8
(0063698)
git   
2017-02-08 15:05   
Branch CR25382_4 has been updated forcibly by apn.

SHA-1: dbbb0e9fe2828975c7aeddfefdb890d395c4e20b
(0063717)
git   
2017-02-08 20:23   
Branch CR25382_4 has been updated by apn.

SHA-1: 74fbcdd177b1f1366a3ceeff178c6fba53cc008b


Detailed log of new commits:

Author: apn
Date: Wed Feb 8 20:23:19 2017 +0300

    Modify ffmpeg.cmake for MacOS

(0063723)
apn   
2017-02-09 11:33   
There are following compilation errors:
win32 vc10/vc11/vc12/vc14
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_4/view/OCCT%20compile/job/CR25382_4_master-OCCT-Windows-32-VC14-opt-compile/1/parsed_console/ [^]
avutil.lib(dbqvbs00201.o) : error LNK2026: module unsafe for SAFESEH image.
\CR25382_4_master\Windows-32-VC14-opt\OCCT\build\win32\vc14\bin\TKService.dll : fatal error LNK1281: Unable to generate SAFESEH image.

win64 vc10/vc11
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_4/view/OCCT%20compile/job/CR25382_4_master-OCCT-Windows-64-VC10-opt-compile/1/parsed_console/ [^]
\occt-3rdparty\windows-64-vc10\ffmpeg-3.1-lgpl-64\include\libavutil\common.h(34): fatal error C1083: Cannot open include file: 'inttypes.h': No such file or directory

Linux (Debian70-64. Debian60-64, CentoOS60-64, etc)
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_4/view/OCCT%20compile/job/CR25382_4_master-OCCT-Debian70-64-opt-compile/1/parsed_console/ [^]
Building CXX object src/TKService/CMakeFiles/TKService.dir/__/Image/Image_VideoRecorder.cxx.o
In file included from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/avutil.h:288:0,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/samplefmt.h:24,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavcodec/avcodec.h:31,
                 from /dn54/builds/CR25382_4_master/Debian70-64-opt/OCCT/src/Image/Image_VideoRecorder.cxx:30:
/dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h:30:2: error: #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS

In file included from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/avutil.h:288:0,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/samplefmt.h:24,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavcodec/avcodec.h:31,
                 from /dn54/builds/CR25382_4_master/Debian70-64-opt/OCCT/src/Image/Image_VideoRecorder.cxx:30:
/dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h: In function 'int32_t av_clipl_int32_c(int64_t)':
/dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h:205:47: error: 'UINT64_C' was not declared in this scope

3rd-party used:
\\master\projects\occt-3rdparty\occt700products\ffmpeg-3.1-lgpl-32
\\master\projects\occt-3rdparty\occt700products\ffmpeg-3.1-lgpl-64
\\virtex\dn29\PRODUCTS\maintenance\opencascade-6.7.1\Debian70-64\ffmpeg-3.1
...
\\virtex\dn29\PRODUCTS\maintenance\opencascade-6.7.1\Debian60-64\ffmpeg-3.1
(0065255)
git   
2017-04-17 12:34   
Branch CR25382_5 has been created by kgv.

SHA-1: 6abbbf997d6227624698ca9c48807923966a6b31


Detailed log of new commits:

Author: aba
Date: Tue Feb 7 18:38:28 2017 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability
    
    Image_VideoRecorder - added new class for video recording using FFmpeg framework.
    Draw Harness command vanimation has been extended with new options for video recording.
    New optional dependency has been introduced - CSF_FFmpeg.
(0065258)
git   
2017-04-17 14:11   
Branch CR25382_5 has been updated forcibly by kgv.

SHA-1: 556636941a38f7253ca9563180aeed3230bdedf0
(0065260)
git   
2017-04-17 14:53   
Branch CR25382_5 has been updated forcibly by kgv.

SHA-1: c70f569d7075f90bc43f3d05fdb4022257a85b9d
(0065261)
git   
2017-04-17 15:00   
Branch CR25382_5 has been updated forcibly by kgv.

SHA-1: 165f4c7e8acc173611af9f5268342443cf46f04f
(0065263)
git   
2017-04-17 15:27   
Branch CR25382_5 has been updated forcibly by kgv.

SHA-1: 32494b4dae7bb8a40d323792099bc1934322ea29
(0065272)
kgv   
2017-04-17 19:30   
Please check updated patch.
Note the patch might require updates in CMake procedures since 0028335 (Configuration, Cmake - 3rdparty library names present in two places and aren't sync with each other).

\occt-3rdparty\windows-64-vc10\ffmpeg-3.1-lgpl-64\include\libavutil\common.h(34): fatal error C1083: 
Cannot open include file: 'inttypes.h': No such file or directory

This is a problem of msvc10, not OCCT - versions before msvc11 have not "inttypes.h" header file.
I have uploaded a fresh build ffmpeg-3.3-lgpl-32/ffmpeg-3.3-lgpl-64 with workaround applied in FFmpeg headers (just comment #include <inttypes.h>).

 /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h:30:2: 
error: #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS

Should be fixed now.
(0065583)
git   
2017-04-26 20:08   
Branch CR25382_5 has been updated forcibly by apn.

SHA-1: e353250577102da3860eaa99ecebeaf1fd445bbd
(0066155)
git   
2017-05-16 16:52   
Branch CR25382_5 has been updated forcibly by kgv.

SHA-1: 6a6331a6b2c4661e533a56b66d89ed8830f3bfb4
(0066157)
git   
2017-05-16 18:01   
Branch CR25382_5 has been updated forcibly by kgv.

SHA-1: 411ae1b4428e6530d7737e5dd972220a0a4ac5a2
(0066161)
kgv   
2017-05-16 18:26   
CMake compilation has been checked and updated.
Please test the patch.
(0067920)
git   
2017-07-03 08:51   
Branch CR25382_5 has been updated forcibly by kgv.

SHA-1: 1b96c9ce904bed53eef46b726a04333871c6cdf4
(0068649)
git   
2017-07-24 19:01   
Branch CR25382_5 has been updated forcibly by apn.

SHA-1: 537e8abb0cf076d5bfd814aa9b9029824b2efb4c
(0068653)
git   
2017-07-24 20:43   
Branch CR25382_5 has been updated by apn.

SHA-1: 90eec065dd0f2f0699b8674dbe0c69368e5d1afc


Detailed log of new commits:

Author: apn
Date: Mon Jul 24 20:43:25 2017 +0300

    Add environment variables for ffmpeg (cmake configuration)

(0068664)
apn   
2017-07-25 12:46   
There are following compile errors:

CentOS64-64, Debian60-64, Debian70-64,:
In file included from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/avutil.h:288:0,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/samplefmt.h:24,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavcodec/avcodec.h:31,
                 from /dn54/builds/CR25382_5_master/Debian70-64-opt/OCCT/build/src/TKService/cotire/TKService_CXX_prefix.cxx:33,
                 from /dn54/builds/CR25382_5_master/Debian70-64-opt/OCCT/build/src/TKService/cotire/TKService_CXX_prefix.hxx:4:
/dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h:30:2: error: #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS

In file included from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/avutil.h:288:0,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/samplefmt.h:24,
                 from /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavcodec/avcodec.h:31,
                 from /dn54/builds/CR25382_5_master/Debian70-64-opt/OCCT/build/src/TKService/cotire/TKService_CXX_prefix.cxx:33,
                 from /dn54/builds/CR25382_5_master/Debian70-64-opt/OCCT/build/src/TKService/cotire/TKService_CXX_prefix.hxx:4:
/dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h: In function 'int32_t av_clipl_int32_c(int64_t)':
/dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h:205:47: error: 'UINT64_C' was not declared in this scope

Debian80-64, CentOS73-64, Fedora22-64, Fedora24-64, Ubuntu1604-64, MacOS:
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_dict_free(AVDictionary**)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_strerror(int, char*, unsigned long)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_image_alloc(unsigned char**, int*, int, int, AVPixelFormat, int)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avcodec_find_encoder_by_name(char const*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_frame_free(AVFrame**)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_interleaved_write_frame(AVFormatContext*, AVPacket*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `sws_scale(SwsContext*, unsigned char const* const*, int const*, int, int, unsigned char* const*, int const*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `sws_getContext(int, int, AVPixelFormat, int, int, AVPixelFormat, int, SwsFilter*, SwsFilter*, double const*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_init_packet(AVPacket*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avio_close(AVIOContext*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_register_all()'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_rescale_q_rnd(long, AVRational, AVRational, AVRounding)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_frame_alloc()'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avio_open(AVIOContext**, char const*, int)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avcodec_find_encoder(AVCodecID)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_rescale_q(long, AVRational, AVRational)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `sws_freeContext(SwsContext*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avformat_alloc_output_context2(AVFormatContext**, AVOutputFormat*, char const*, char const*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avformat_new_stream(AVFormatContext*, AVCodec const*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avcodec_close(AVCodecContext*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avformat_write_header(AVFormatContext*, AVDictionary**)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avcodec_get_name(AVCodecID)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_dict_set(AVDictionary**, char const*, char const*, int)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avformat_free_context(AVFormatContext*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avcodec_encode_video2(AVCodecContext*, AVPacket*, AVFrame const*, int*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `avcodec_open2(AVCodecContext*, AVCodec const*, AVDictionary**)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_free(void*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_write_trailer(AVFormatContext*)'
../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_get_pix_fmt(char const*)'
collect2: error: ld returned 1 exit status

Windows64-vc11, Windows32-vc11:
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-Windows-64-VC11-opt-compile/3/parsed_console/ [^]
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-Windows-32-VC11-opt-compile/3/parsed_console/ [^]
(0068680)
git   
2017-07-25 15:57   
Branch CR25382_5 has been updated by kgv.

SHA-1: c30198da715ced7e1175d6d777503af07752670a


Detailed log of new commits:

Author: kgv
Date: Tue Jul 25 15:57:34 2017 +0300

    # occt_toolit.cmake - define also __STDC_CONSTANT_MACROS for PCH when using gcc

(0068681)
kgv   
2017-07-25 16:03   
> CentOS64-64, Debian60-64, Debian70-64,:
> /dn29/PRODUCTS/maintenance/opencascade-6.7.1/Debian70-64/ffmpeg-3.1/include/libavutil/common.h:30:2: error: #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
This is PCH-specific issue. I have pushed commit that should fix it.

> Debian80-64, CentOS73-64, Fedora22-64, Fedora24-64, Ubuntu1604-64, MacOS:
> ../../lin64/gcc/lib/libTKService.so.7.1.1: undefined reference to `av_dict_free(AVDictionary**)'
Please check why CMake does not add FFmpeg libraries to dependency list
defined by adm/cmake/occt_csf.cmake:
+if (USE_FFMPEG)
+  set (CSF_FFmpeg "avcodec avformat swscale avutil")


It seems that FFmpeg should be also added to OpenCASCADEConfig.cmake.in.

> Windows64-vc11, Windows32-vc11:
> http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-Windows-64-VC11-opt-compile/3/parsed_console/ [^]
> http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-Windows-32-VC11-opt-compile/3/parsed_console/ [^]
I have no idea what is wrong with vc11 - there is nothing in log pointing onto modified code.
Please check if it occurs only on this branch and if FFmpeg enabling/disabling affects the issue.
(0068733)
git   
2017-07-26 16:22   
Branch CR25382_5 has been updated by apn.

SHA-1: 47c2486e611b0f4551178005229d5bbcf0e06d08


Detailed log of new commits:

Author: apn
Date: Wed Jul 26 16:22:05 2017 +0300

    USE_FFMPEG was added to OpenCASCADEConfig.cmake.in.

(0068734)
apn   
2017-07-26 16:24   
Previous errors on Windows64/32-vc11 and with ffmpeg dependency were fixed after restart build (i dont know why).

There are new warnings on Linux:
CentOS64-64 (18 warnings):
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-CentOS64-64-opt-compile/5/warnings21Result/package.501966793/ [^]

CentOS73-64, Debian70-64, Debian80-64, Fedora22-64, etc (11 warnings):
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-CentOS73-64-opt-compile/5/warnings21Result/ [^]
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-Debian70-64-opt-compile/7/warnings21Result/ [^]

MacOS (1 warning):
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-MacOS-opt-compile/5/warnings9Result/ [^]
(0068741)
git   
2017-07-26 16:42   
Branch CR25382_5 has been updated by kgv.

SHA-1: 890c3e1dcb5e271916763488743d6c889a5f2854


Detailed log of new commits:

Author: kgv
Date: Wed Jul 26 16:42:36 2017 +0300

    # Fix structure NULLifying.

(0068742)
kgv   
2017-07-26 16:43   
Please try compilation of updated patch (re-testing is not needed).
(0068746)
apn   
2017-07-26 18:04   
Warnings remained on following platforms:
CentOS64-64
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-CentOS64-64-opt-compile/6/warnings21Result/new/ [^]
CentOS73-64
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-CentOS73-64-opt-compile/6/warnings21Result/new/ [^]
Debian70-64
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-Debian70-64-deb-compile/6/warnings21Result/new/ [^]
Debian80-64
http://jenkins-test-08.nnov.opencascade.com/view/CR25382_5_master/view/OCCT%20compile/job/CR25382_5_master-OCCT-Debian80-64-opt-compile/7/warnings21Result/new/ [^]
(0068747)
git   
2017-07-26 18:13   
Branch CR25382_5 has been updated by kgv.

SHA-1: 749994f94c65dd8c9945eec9a02cede151efbb09


Detailed log of new commits:

Author: kgv
Date: Wed Jul 26 18:13:51 2017 +0300

    # shut up gcc

(0068748)
kgv   
2017-07-26 18:14   
Please try updated patch.
(0068784)
git   
2017-07-27 12:53   
Branch CR25382_5 has been updated by apn.

SHA-1: 32cdb09de1dc64fc9a935a96afc76f7d7f58bb07


Detailed log of new commits:

Author: apn
Date: Thu Jul 27 12:53:00 2017 +0300

    # Added test case v3d/anim/videorecorder

(0068785)
apn   
2017-07-27 13:03   
Dear BugMaster,

Branch CR25382_5 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 749994f94c65dd8c9945eec9a02cede151efbb09

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)

Regressions/Differences:
Not detected

Testing cases:
v3d anim videorecorder - OK
http://occt-tests/CR25382_wnt_occt_test/v3d/anim/videorecorder.html [^]

Testing on Linux:
Total MEMORY difference: 93197467 / 92052017 [+1.24%]
Total CPU difference: 19280.95000000041 / 19421.550000000127 [-0.72%]

Testing on Windows:
Total MEMORY difference: 59117245 / 59120758 [-0.01%]
Total CPU difference: 18057.958155398846 / 17810.05696629893 [+1.39%]
(0068847)
git   
2017-07-28 17:03   
Branch CR25382_5 has been updated forcibly by apn.

SHA-1: 07e8524e4707a0dae7f029a42734889e8af60579
(0068923)
git   
2017-07-31 17:37   
Branch CR25382_6 has been created by kgv.

SHA-1: 08f8a1854d7bafc7b758d4ae0394fc3ef2b9fb46


Detailed log of new commits:

Author: kgv
Date: Mon Apr 17 15:27:45 2017 +0300

    0025382: Visualization, TKOpenGl - improved video recording capability
    
    Image_VideoRecorder - added new class for video recording using FFmpeg framework.
    Draw Harness command vanimation has been extended with new options for video recording.
    New optional dependency has been introduced - CSF_FFmpeg.
(0069599)
git   
2017-08-18 17:00   
Branch CR25382 has been deleted by kgv.

SHA-1: bece41e925f0d6848f5a21d67341f2a87845da93
(0069600)
git   
2017-08-18 17:00   
Branch CR25382_1 has been deleted by kgv.

SHA-1: 015224d8c88113bc7fd355618a9222e1b9b29060
(0069601)
git   
2017-08-18 17:00   
Branch CR25382_2 has been deleted by kgv.

SHA-1: 12134a79e4c70edef8f0a5383fb1803a38a674c9
(0069602)
git   
2017-08-18 17:00   
Branch CR25382_3 has been deleted by kgv.

SHA-1: acd90877e405fe0d056812c77b5181d2d57a6b7d
(0069603)
git   
2017-08-18 17:00   
Branch CR25382_4 has been deleted by kgv.

SHA-1: 74fbcdd177b1f1366a3ceeff178c6fba53cc008b
(0069604)
git   
2017-08-18 17:00   
Branch CR25382_5 has been deleted by kgv.

SHA-1: 07e8524e4707a0dae7f029a42734889e8af60579
(0069605)
git   
2017-08-18 17:00   
Branch CR25382_6 has been deleted by kgv.

SHA-1: 08f8a1854d7bafc7b758d4ae0394fc3ef2b9fb46