Commit Graph

636 Commits

Author SHA1 Message Date
eisneinechse
cfcddd13e5 Still not able to retreive the maximum dimensions supported by the
hardware (line 312 FFmegReader.cpp)
Now using defaults of 1950 * 1100 defined in lines 35,36
2018-09-13 12:37:32 -07:00
eisneinechse
a1ffa6b132 Removed one include 2018-09-11 20:30:56 -07:00
eisneinechse
4db2217f0d Fallback for hardware accelerated decode to software decode in case
the GPU can noy handle the dimensions of the frame.
Not yet working, va_config not yet set.
2018-09-11 20:18:11 -07:00
eisneinechse
f8fed171ce More code cleanup (easier to read)
Comment included with start of error handling
2018-09-09 12:57:04 -07:00
eisneinechse
aff1be93b8 Support for multiple input files 2018-09-09 10:54:31 -07:00
eisneinechse
c29bf21c75 Simplifications of FFmpegReader and start of setting parameters
per input file
2018-09-09 09:05:16 -07:00
eisneinechse
2a80ccacaa Let hw_de_on be visible to all versions of ffmpeg 2018-09-08 22:57:46 -07:00
eisneinechse
d6f52ead3b Only use the hw accel variables when ffmpeg >= 3.2 2018-09-08 22:30:16 -07:00
eisneinechse
e7c94e700a hide dx11 2018-09-08 22:19:41 -07:00
eisneinechse
36cbba2a3d More cleanup 2018-09-08 21:55:23 -07:00
eisneinechse
0191ff5dbb Further cleanup 2018-09-08 21:32:04 -07:00
eisneinechse
e7c1ced0da Cleanup import video hardware accelerated and first attempt with
nvidia cards.
Still no error handling when the dimensions of the video are too
large
2018-09-08 21:17:24 -07:00
eisneinechse
16c8302f48 Basic support for nvidia encode (decode later) 2018-09-08 16:53:53 -07:00
eisneinechse
f7dd2b18c3 First adjustment to later include NVENC (nvidia encoder) 2018-09-08 16:31:03 -07:00
eisneinechse
6925f6f7c2 Use the static scheduler in ordered clause. Otherwise OpenMP uses
a scheduler it thinks is best which can be dynamic or guided. Both
sometimes let other threads continue before the block is finished.
That will crash the program with high thread counts and a cache
that is not large enough to hold old enough frames, which leads
to a crash when in some cases like transitions two different
frames are used although one is no longer in the cache.
The static scheduler always waits until the block is finished
before enabling other threads.
2018-09-07 10:44:18 -07:00
eisneinechse
be979cd78c Accelerated encode now supported by Windows and Mac.
Only tested on Linux though due to absense of hardware/software.
Tested to compile on Ubuntu 14.04, 16.04, 18.04, and 18.10
Acceleration only available on systems with ffmpeg 3.2 and up
Very early code, work in progress.
Issues to be fixed soon:
 if hardware cannot decode because the size is too big it keeps trying.
 more interfaces supported like vdpau in Linux
 error handling
 user interface
Many commented lines of code are still in the source to help people start
who may want to help.
2018-09-06 08:28:50 -07:00
eisneinechse
063faefa69 Hardware acceleration for Windows and Mac, still disabled but code is there.
This should show where modifications are to be made to support Linux, Mac, and Windows
Only decoding, encoding will follow soon
2018-09-04 10:08:01 -07:00
eisneinechse
314177bceb Let the user choose which installed graphics card to use for
decoding HW_DE_DEVICE_SET and/or encoding HW_EN_DEVICE_SET
Possible options are /dev/dri/renderD128 for the first,
/dev/dri/renderD129 for the second, and so on.
2018-09-02 18:46:04 -07:00
eisneinechse
384b6e0bc3 Set limit of threads for OpenMP and ffmpeg by setting the environment
variables LIMIT_OMP_THREADS and LIMIT_FF_THREADS
If they are not set the normal values are used
2018-08-31 21:50:23 -07:00
eisneinechse
340803e31e Initial rudimentary support for hardware acceleration (encode and decode)
Only Linux vaapi for now
2018-08-31 21:36:23 -07:00
Jonathan Thomas
6b5e2d427b Moving omp taskwait to after the ProcessVideoPacket() method, since that is the only place it is useful. 2018-08-12 00:36:03 -05:00
Jonathan Thomas
8216795c33 Adding environment checking to enable/disable omp taskwait after each video/audio frame is processed. This is experimental for some users with crashes. 2018-08-12 00:15:23 -05:00
Jonathan Thomas
95abdcf66b FFmpeg4 support. Compile warnings fixes. Credit goes to many people, including ferdnyc, peterM, and other awesome folks! 2018-08-11 18:22:18 -05:00
Jonathan Thomas
526be42a8d Merge branch 'develop' into fix-install-paths 2018-08-08 02:19:09 -05:00
Jonathan Thomas
d11f14b0dc Merge branch 'develop' into fix-install-paths 2018-08-08 02:15:11 -05:00