Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
5a85f1b6
Commit
5a85f1b6
authored
Jul 23, 2013
by
Vladislav Vinogradov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
renamed gpucodec namespace -> cudacodec
parent
8282f6eb
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
87 additions
and
87 deletions
+87
-87
gpucodec.hpp
modules/gpucodec/include/opencv2/gpucodec.hpp
+2
-2
perf_video.cpp
modules/gpucodec/perf/perf_video.cpp
+3
-3
cuvid_video_source.cpp
modules/gpucodec/src/cuvid_video_source.cpp
+10
-10
cuvid_video_source.hpp
modules/gpucodec/src/cuvid_video_source.hpp
+1
-1
ffmpeg_video_source.cpp
modules/gpucodec/src/ffmpeg_video_source.cpp
+6
-6
ffmpeg_video_source.hpp
modules/gpucodec/src/ffmpeg_video_source.hpp
+1
-1
frame_queue.cpp
modules/gpucodec/src/frame_queue.cpp
+4
-4
frame_queue.hpp
modules/gpucodec/src/frame_queue.hpp
+1
-1
thread.cpp
modules/gpucodec/src/thread.cpp
+7
-7
thread.hpp
modules/gpucodec/src/thread.hpp
+2
-2
video_decoder.cpp
modules/gpucodec/src/video_decoder.cpp
+2
-2
video_decoder.hpp
modules/gpucodec/src/video_decoder.hpp
+1
-1
video_parser.cpp
modules/gpucodec/src/video_parser.cpp
+5
-5
video_parser.hpp
modules/gpucodec/src/video_parser.hpp
+1
-1
video_reader.cpp
modules/gpucodec/src/video_reader.cpp
+5
-5
video_source.cpp
modules/gpucodec/src/video_source.cpp
+10
-10
video_source.hpp
modules/gpucodec/src/video_source.hpp
+1
-1
video_writer.cpp
modules/gpucodec/src/video_writer.cpp
+17
-17
test_video.cpp
modules/gpucodec/test/test_video.cpp
+3
-3
frame_source.cpp
modules/superres/src/frame_source.cpp
+2
-2
video_reader.cpp
samples/gpu/video_reader.cpp
+1
-1
video_writer.cpp
samples/gpu/video_writer.cpp
+2
-2
No files found.
modules/gpucodec/include/opencv2/gpucodec.hpp
View file @
5a85f1b6
...
...
@@ -50,7 +50,7 @@
#include "opencv2/core/gpu.hpp"
namespace
cv
{
namespace
gpu
codec
{
namespace
cv
{
namespace
cuda
codec
{
////////////////////////////////// Video Encoding //////////////////////////////////
...
...
@@ -201,6 +201,6 @@ public:
CV_EXPORTS
Ptr
<
VideoReader
>
createVideoReader
(
const
String
&
filename
);
CV_EXPORTS
Ptr
<
VideoReader
>
createVideoReader
(
const
Ptr
<
RawVideoSource
>&
source
);
}}
// namespace cv { namespace
gpu
codec {
}}
// namespace cv { namespace
cuda
codec {
#endif
/* __OPENCV_GPUCODEC_HPP__ */
modules/gpucodec/perf/perf_video.cpp
View file @
5a85f1b6
...
...
@@ -75,7 +75,7 @@ PERF_TEST_P(FileName, VideoReader, Values("gpu/video/768x576.avi", "gpu/video/19
if
(
PERF_RUN_GPU
())
{
cv
::
Ptr
<
cv
::
gpucodec
::
VideoReader
>
d_reader
=
cv
::
gpu
codec
::
createVideoReader
(
inputFile
);
cv
::
Ptr
<
cv
::
cudacodec
::
VideoReader
>
d_reader
=
cv
::
cuda
codec
::
createVideoReader
(
inputFile
);
cv
::
cuda
::
GpuMat
frame
;
...
...
@@ -119,7 +119,7 @@ PERF_TEST_P(FileName, VideoWriter, Values("gpu/video/768x576.avi", "gpu/video/19
if
(
PERF_RUN_GPU
())
{
cv
::
Ptr
<
cv
::
gpu
codec
::
VideoWriter
>
d_writer
;
cv
::
Ptr
<
cv
::
cuda
codec
::
VideoWriter
>
d_writer
;
cv
::
cuda
::
GpuMat
d_frame
;
...
...
@@ -131,7 +131,7 @@ PERF_TEST_P(FileName, VideoWriter, Values("gpu/video/768x576.avi", "gpu/video/19
d_frame
.
upload
(
frame
);
if
(
d_writer
.
empty
())
d_writer
=
cv
::
gpu
codec
::
createVideoWriter
(
outputFile
,
frame
.
size
(),
FPS
);
d_writer
=
cv
::
cuda
codec
::
createVideoWriter
(
outputFile
,
frame
.
size
(),
FPS
);
startTimer
();
next
();
d_writer
->
write
(
d_frame
);
...
...
modules/gpucodec/src/cuvid_video_source.cpp
View file @
5a85f1b6
...
...
@@ -46,10 +46,10 @@
#ifdef HAVE_NVCUVID
using
namespace
cv
;
using
namespace
cv
::
gpu
codec
;
using
namespace
cv
::
gpu
codec
::
detail
;
using
namespace
cv
::
cuda
codec
;
using
namespace
cv
::
cuda
codec
::
detail
;
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::
CuvidVideoSource
(
const
String
&
fname
)
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::
CuvidVideoSource
(
const
String
&
fname
)
{
CUVIDSOURCEPARAMS
params
;
std
::
memset
(
&
params
,
0
,
sizeof
(
CUVIDSOURCEPARAMS
));
...
...
@@ -74,37 +74,37 @@ cv::gpucodec::detail::CuvidVideoSource::CuvidVideoSource(const String& fname)
format_
.
height
=
vidfmt
.
coded_height
;
}
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::~
CuvidVideoSource
()
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::~
CuvidVideoSource
()
{
cuvidDestroyVideoSource
(
videoSource_
);
}
FormatInfo
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::
format
()
const
FormatInfo
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::
format
()
const
{
return
format_
;
}
void
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::
start
()
void
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::
start
()
{
cuSafeCall
(
cuvidSetVideoSourceState
(
videoSource_
,
cudaVideoState_Started
)
);
}
void
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::
stop
()
void
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::
stop
()
{
cuSafeCall
(
cuvidSetVideoSourceState
(
videoSource_
,
cudaVideoState_Stopped
)
);
}
bool
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::
isStarted
()
const
bool
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::
isStarted
()
const
{
return
(
cuvidGetVideoSourceState
(
videoSource_
)
==
cudaVideoState_Started
);
}
bool
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::
hasError
()
const
bool
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::
hasError
()
const
{
return
(
cuvidGetVideoSourceState
(
videoSource_
)
==
cudaVideoState_Error
);
}
int
CUDAAPI
cv
::
gpu
codec
::
detail
::
CuvidVideoSource
::
HandleVideoData
(
void
*
userData
,
CUVIDSOURCEDATAPACKET
*
packet
)
int
CUDAAPI
cv
::
cuda
codec
::
detail
::
CuvidVideoSource
::
HandleVideoData
(
void
*
userData
,
CUVIDSOURCEDATAPACKET
*
packet
)
{
CuvidVideoSource
*
thiz
=
static_cast
<
CuvidVideoSource
*>
(
userData
);
...
...
modules/gpucodec/src/cuvid_video_source.hpp
View file @
5a85f1b6
...
...
@@ -50,7 +50,7 @@
#include "opencv2/gpucodec.hpp"
#include "video_source.hpp"
namespace
cv
{
namespace
gpu
codec
{
namespace
detail
namespace
cv
{
namespace
cuda
codec
{
namespace
detail
{
class
CuvidVideoSource
:
public
VideoSource
...
...
modules/gpucodec/src/ffmpeg_video_source.cpp
View file @
5a85f1b6
...
...
@@ -46,8 +46,8 @@
#ifdef HAVE_NVCUVID
using
namespace
cv
;
using
namespace
cv
::
gpu
codec
;
using
namespace
cv
::
gpu
codec
::
detail
;
using
namespace
cv
::
cuda
codec
;
using
namespace
cv
::
cuda
codec
::
detail
;
namespace
{
...
...
@@ -95,7 +95,7 @@ namespace
}
}
cv
::
gpu
codec
::
detail
::
FFmpegVideoSource
::
FFmpegVideoSource
(
const
String
&
fname
)
:
cv
::
cuda
codec
::
detail
::
FFmpegVideoSource
::
FFmpegVideoSource
(
const
String
&
fname
)
:
stream_
(
0
)
{
CV_Assert
(
init_MediaStream_FFMPEG
()
);
...
...
@@ -115,18 +115,18 @@ cv::gpucodec::detail::FFmpegVideoSource::FFmpegVideoSource(const String& fname)
format_
.
height
=
height
;
}
cv
::
gpu
codec
::
detail
::
FFmpegVideoSource
::~
FFmpegVideoSource
()
cv
::
cuda
codec
::
detail
::
FFmpegVideoSource
::~
FFmpegVideoSource
()
{
if
(
stream_
)
release_InputMediaStream_FFMPEG_p
(
stream_
);
}
FormatInfo
cv
::
gpu
codec
::
detail
::
FFmpegVideoSource
::
format
()
const
FormatInfo
cv
::
cuda
codec
::
detail
::
FFmpegVideoSource
::
format
()
const
{
return
format_
;
}
bool
cv
::
gpu
codec
::
detail
::
FFmpegVideoSource
::
getNextPacket
(
unsigned
char
**
data
,
int
*
size
,
bool
*
bEndOfFile
)
bool
cv
::
cuda
codec
::
detail
::
FFmpegVideoSource
::
getNextPacket
(
unsigned
char
**
data
,
int
*
size
,
bool
*
bEndOfFile
)
{
int
endOfFile
;
...
...
modules/gpucodec/src/ffmpeg_video_source.hpp
View file @
5a85f1b6
...
...
@@ -48,7 +48,7 @@
struct
InputMediaStream_FFMPEG
;
namespace
cv
{
namespace
gpu
codec
{
namespace
detail
{
namespace
cv
{
namespace
cuda
codec
{
namespace
detail
{
class
FFmpegVideoSource
:
public
RawVideoSource
{
...
...
modules/gpucodec/src/frame_queue.cpp
View file @
5a85f1b6
...
...
@@ -45,7 +45,7 @@
#ifdef HAVE_NVCUVID
cv
::
gpu
codec
::
detail
::
FrameQueue
::
FrameQueue
()
:
cv
::
cuda
codec
::
detail
::
FrameQueue
::
FrameQueue
()
:
endOfDecode_
(
0
),
framesInQueue_
(
0
),
readPosition_
(
0
)
...
...
@@ -54,7 +54,7 @@ cv::gpucodec::detail::FrameQueue::FrameQueue() :
std
::
memset
((
void
*
)
isFrameInUse_
,
0
,
sizeof
(
isFrameInUse_
));
}
bool
cv
::
gpu
codec
::
detail
::
FrameQueue
::
waitUntilFrameAvailable
(
int
pictureIndex
)
bool
cv
::
cuda
codec
::
detail
::
FrameQueue
::
waitUntilFrameAvailable
(
int
pictureIndex
)
{
while
(
isInUse
(
pictureIndex
))
{
...
...
@@ -68,7 +68,7 @@ bool cv::gpucodec::detail::FrameQueue::waitUntilFrameAvailable(int pictureIndex)
return
true
;
}
void
cv
::
gpu
codec
::
detail
::
FrameQueue
::
enqueue
(
const
CUVIDPARSERDISPINFO
*
picParams
)
void
cv
::
cuda
codec
::
detail
::
FrameQueue
::
enqueue
(
const
CUVIDPARSERDISPINFO
*
picParams
)
{
// Mark the frame as 'in-use' so we don't re-use it for decoding until it is no longer needed
// for display
...
...
@@ -99,7 +99,7 @@ void cv::gpucodec::detail::FrameQueue::enqueue(const CUVIDPARSERDISPINFO* picPar
}
while
(
!
isEndOfDecode
());
}
bool
cv
::
gpu
codec
::
detail
::
FrameQueue
::
dequeue
(
CUVIDPARSERDISPINFO
&
displayInfo
)
bool
cv
::
cuda
codec
::
detail
::
FrameQueue
::
dequeue
(
CUVIDPARSERDISPINFO
&
displayInfo
)
{
AutoLock
autoLock
(
mtx_
);
...
...
modules/gpucodec/src/frame_queue.hpp
View file @
5a85f1b6
...
...
@@ -49,7 +49,7 @@
#include <nvcuvid.h>
namespace
cv
{
namespace
gpu
codec
{
namespace
detail
namespace
cv
{
namespace
cuda
codec
{
namespace
detail
{
class
FrameQueue
...
...
modules/gpucodec/src/thread.cpp
View file @
5a85f1b6
...
...
@@ -45,7 +45,7 @@
#ifdef HAVE_NVCUVID
using
namespace
cv
::
gpu
codec
::
detail
;
using
namespace
cv
::
cuda
codec
::
detail
;
#ifdef WIN32
...
...
@@ -67,7 +67,7 @@ namespace
}
}
class
cv
::
gpu
codec
::
detail
::
Thread
::
Impl
class
cv
::
cuda
codec
::
detail
::
Thread
::
Impl
{
public
:
Impl
(
Thread
::
Func
func
,
void
*
userData
)
...
...
@@ -120,7 +120,7 @@ namespace
}
}
class
cv
::
gpu
codec
::
detail
::
Thread
::
Impl
class
cv
::
cuda
codec
::
detail
::
Thread
::
Impl
{
public
:
Impl
(
Thread
::
Func
func
,
void
*
userData
)
...
...
@@ -148,17 +148,17 @@ private:
#endif
cv
::
gpu
codec
::
detail
::
Thread
::
Thread
(
Func
func
,
void
*
userData
)
:
cv
::
cuda
codec
::
detail
::
Thread
::
Thread
(
Func
func
,
void
*
userData
)
:
impl_
(
new
Impl
(
func
,
userData
))
{
}
void
cv
::
gpu
codec
::
detail
::
Thread
::
wait
()
void
cv
::
cuda
codec
::
detail
::
Thread
::
wait
()
{
impl_
->
wait
();
}
void
cv
::
gpu
codec
::
detail
::
Thread
::
sleep
(
int
ms
)
void
cv
::
cuda
codec
::
detail
::
Thread
::
sleep
(
int
ms
)
{
#ifdef WIN32
::
Sleep
(
ms
);
...
...
@@ -167,7 +167,7 @@ void cv::gpucodec::detail::Thread::sleep(int ms)
#endif
}
template
<>
void
cv
::
Ptr
<
cv
::
gpu
codec
::
detail
::
Thread
::
Impl
>::
delete_obj
()
template
<>
void
cv
::
Ptr
<
cv
::
cuda
codec
::
detail
::
Thread
::
Impl
>::
delete_obj
()
{
if
(
obj
)
delete
obj
;
}
...
...
modules/gpucodec/src/thread.hpp
View file @
5a85f1b6
...
...
@@ -46,7 +46,7 @@
#include "opencv2/core.hpp"
namespace
cv
{
namespace
gpu
codec
{
namespace
detail
{
namespace
cv
{
namespace
cuda
codec
{
namespace
detail
{
class
Thread
{
...
...
@@ -68,7 +68,7 @@ private:
}}}
namespace
cv
{
template
<>
void
Ptr
<
cv
::
gpu
codec
::
detail
::
Thread
::
Impl
>::
delete_obj
();
template
<>
void
Ptr
<
cv
::
cuda
codec
::
detail
::
Thread
::
Impl
>::
delete_obj
();
}
#endif // __THREAD_WRAPPERS_HPP__
modules/gpucodec/src/video_decoder.cpp
View file @
5a85f1b6
...
...
@@ -45,7 +45,7 @@
#ifdef HAVE_NVCUVID
void
cv
::
gpu
codec
::
detail
::
VideoDecoder
::
create
(
const
FormatInfo
&
videoFormat
)
void
cv
::
cuda
codec
::
detail
::
VideoDecoder
::
create
(
const
FormatInfo
&
videoFormat
)
{
release
();
...
...
@@ -104,7 +104,7 @@ void cv::gpucodec::detail::VideoDecoder::create(const FormatInfo& videoFormat)
cuSafeCall
(
cuvidCreateDecoder
(
&
decoder_
,
&
createInfo_
)
);
}
void
cv
::
gpu
codec
::
detail
::
VideoDecoder
::
release
()
void
cv
::
cuda
codec
::
detail
::
VideoDecoder
::
release
()
{
if
(
decoder_
)
{
...
...
modules/gpucodec/src/video_decoder.hpp
View file @
5a85f1b6
...
...
@@ -49,7 +49,7 @@
#include "opencv2/core/private.gpu.hpp"
#include "opencv2/gpucodec.hpp"
namespace
cv
{
namespace
gpu
codec
{
namespace
detail
namespace
cv
{
namespace
cuda
codec
{
namespace
detail
{
class
VideoDecoder
...
...
modules/gpucodec/src/video_parser.cpp
View file @
5a85f1b6
...
...
@@ -45,7 +45,7 @@
#ifdef HAVE_NVCUVID
cv
::
gpu
codec
::
detail
::
VideoParser
::
VideoParser
(
VideoDecoder
*
videoDecoder
,
FrameQueue
*
frameQueue
)
:
cv
::
cuda
codec
::
detail
::
VideoParser
::
VideoParser
(
VideoDecoder
*
videoDecoder
,
FrameQueue
*
frameQueue
)
:
videoDecoder_
(
videoDecoder
),
frameQueue_
(
frameQueue
),
unparsedPackets_
(
0
),
hasError_
(
false
)
{
CUVIDPARSERPARAMS
params
;
...
...
@@ -62,7 +62,7 @@ cv::gpucodec::detail::VideoParser::VideoParser(VideoDecoder* videoDecoder, Frame
cuSafeCall
(
cuvidCreateVideoParser
(
&
parser_
,
&
params
)
);
}
bool
cv
::
gpu
codec
::
detail
::
VideoParser
::
parseVideoData
(
const
unsigned
char
*
data
,
size_t
size
,
bool
endOfStream
)
bool
cv
::
cuda
codec
::
detail
::
VideoParser
::
parseVideoData
(
const
unsigned
char
*
data
,
size_t
size
,
bool
endOfStream
)
{
CUVIDSOURCEDATAPACKET
packet
;
std
::
memset
(
&
packet
,
0
,
sizeof
(
CUVIDSOURCEDATAPACKET
));
...
...
@@ -96,7 +96,7 @@ bool cv::gpucodec::detail::VideoParser::parseVideoData(const unsigned char* data
return
!
frameQueue_
->
isEndOfDecode
();
}
int
CUDAAPI
cv
::
gpu
codec
::
detail
::
VideoParser
::
HandleVideoSequence
(
void
*
userData
,
CUVIDEOFORMAT
*
format
)
int
CUDAAPI
cv
::
cuda
codec
::
detail
::
VideoParser
::
HandleVideoSequence
(
void
*
userData
,
CUVIDEOFORMAT
*
format
)
{
VideoParser
*
thiz
=
static_cast
<
VideoParser
*>
(
userData
);
...
...
@@ -128,7 +128,7 @@ int CUDAAPI cv::gpucodec::detail::VideoParser::HandleVideoSequence(void* userDat
return
true
;
}
int
CUDAAPI
cv
::
gpu
codec
::
detail
::
VideoParser
::
HandlePictureDecode
(
void
*
userData
,
CUVIDPICPARAMS
*
picParams
)
int
CUDAAPI
cv
::
cuda
codec
::
detail
::
VideoParser
::
HandlePictureDecode
(
void
*
userData
,
CUVIDPICPARAMS
*
picParams
)
{
VideoParser
*
thiz
=
static_cast
<
VideoParser
*>
(
userData
);
...
...
@@ -148,7 +148,7 @@ int CUDAAPI cv::gpucodec::detail::VideoParser::HandlePictureDecode(void* userDat
return
true
;
}
int
CUDAAPI
cv
::
gpu
codec
::
detail
::
VideoParser
::
HandlePictureDisplay
(
void
*
userData
,
CUVIDPARSERDISPINFO
*
picParams
)
int
CUDAAPI
cv
::
cuda
codec
::
detail
::
VideoParser
::
HandlePictureDisplay
(
void
*
userData
,
CUVIDPARSERDISPINFO
*
picParams
)
{
VideoParser
*
thiz
=
static_cast
<
VideoParser
*>
(
userData
);
...
...
modules/gpucodec/src/video_parser.hpp
View file @
5a85f1b6
...
...
@@ -51,7 +51,7 @@
#include "frame_queue.hpp"
#include "video_decoder.hpp"
namespace
cv
{
namespace
gpu
codec
{
namespace
detail
namespace
cv
{
namespace
cuda
codec
{
namespace
detail
{
class
VideoParser
...
...
modules/gpucodec/src/video_reader.cpp
View file @
5a85f1b6
...
...
@@ -44,12 +44,12 @@
using
namespace
cv
;
using
namespace
cv
::
cuda
;
using
namespace
cv
::
gpu
codec
;
using
namespace
cv
::
cuda
codec
;
#ifndef HAVE_NVCUVID
Ptr
<
VideoReader
>
cv
::
gpu
codec
::
createVideoReader
(
const
String
&
)
{
throw_no_cuda
();
return
Ptr
<
VideoReader
>
();
}
Ptr
<
VideoReader
>
cv
::
gpu
codec
::
createVideoReader
(
const
Ptr
<
RawVideoSource
>&
)
{
throw_no_cuda
();
return
Ptr
<
VideoReader
>
();
}
Ptr
<
VideoReader
>
cv
::
cuda
codec
::
createVideoReader
(
const
String
&
)
{
throw_no_cuda
();
return
Ptr
<
VideoReader
>
();
}
Ptr
<
VideoReader
>
cv
::
cuda
codec
::
createVideoReader
(
const
Ptr
<
RawVideoSource
>&
)
{
throw_no_cuda
();
return
Ptr
<
VideoReader
>
();
}
#else // HAVE_NVCUVID
...
...
@@ -208,7 +208,7 @@ namespace
}
}
Ptr
<
VideoReader
>
cv
::
gpu
codec
::
createVideoReader
(
const
String
&
filename
)
Ptr
<
VideoReader
>
cv
::
cuda
codec
::
createVideoReader
(
const
String
&
filename
)
{
CV_Assert
(
!
filename
.
empty
()
);
...
...
@@ -227,7 +227,7 @@ Ptr<VideoReader> cv::gpucodec::createVideoReader(const String& filename)
return
new
VideoReaderImpl
(
videoSource
);
}
Ptr
<
VideoReader
>
cv
::
gpu
codec
::
createVideoReader
(
const
Ptr
<
RawVideoSource
>&
source
)
Ptr
<
VideoReader
>
cv
::
cuda
codec
::
createVideoReader
(
const
Ptr
<
RawVideoSource
>&
source
)
{
Ptr
<
detail
::
VideoSource
>
videoSource
(
new
detail
::
RawVideoSourceWrapper
(
source
));
return
new
VideoReaderImpl
(
videoSource
);
...
...
modules/gpucodec/src/video_source.cpp
View file @
5a85f1b6
...
...
@@ -46,50 +46,50 @@
#ifdef HAVE_NVCUVID
using
namespace
cv
;
using
namespace
cv
::
gpu
codec
;
using
namespace
cv
::
gpu
codec
::
detail
;
using
namespace
cv
::
cuda
codec
;
using
namespace
cv
::
cuda
codec
::
detail
;
bool
cv
::
gpu
codec
::
detail
::
VideoSource
::
parseVideoData
(
const
unsigned
char
*
data
,
size_t
size
,
bool
endOfStream
)
bool
cv
::
cuda
codec
::
detail
::
VideoSource
::
parseVideoData
(
const
unsigned
char
*
data
,
size_t
size
,
bool
endOfStream
)
{
return
videoParser_
->
parseVideoData
(
data
,
size
,
endOfStream
);
}
cv
::
gpu
codec
::
detail
::
RawVideoSourceWrapper
::
RawVideoSourceWrapper
(
const
Ptr
<
RawVideoSource
>&
source
)
:
cv
::
cuda
codec
::
detail
::
RawVideoSourceWrapper
::
RawVideoSourceWrapper
(
const
Ptr
<
RawVideoSource
>&
source
)
:
source_
(
source
)
{
CV_Assert
(
!
source_
.
empty
()
);
}
cv
::
gpucodec
::
FormatInfo
cv
::
gpu
codec
::
detail
::
RawVideoSourceWrapper
::
format
()
const
cv
::
cudacodec
::
FormatInfo
cv
::
cuda
codec
::
detail
::
RawVideoSourceWrapper
::
format
()
const
{
return
source_
->
format
();
}
void
cv
::
gpu
codec
::
detail
::
RawVideoSourceWrapper
::
start
()
void
cv
::
cuda
codec
::
detail
::
RawVideoSourceWrapper
::
start
()
{
stop_
=
false
;
hasError_
=
false
;
thread_
=
new
Thread
(
readLoop
,
this
);
}
void
cv
::
gpu
codec
::
detail
::
RawVideoSourceWrapper
::
stop
()
void
cv
::
cuda
codec
::
detail
::
RawVideoSourceWrapper
::
stop
()
{
stop_
=
true
;
thread_
->
wait
();
thread_
.
release
();
}
bool
cv
::
gpu
codec
::
detail
::
RawVideoSourceWrapper
::
isStarted
()
const
bool
cv
::
cuda
codec
::
detail
::
RawVideoSourceWrapper
::
isStarted
()
const
{
return
!
stop_
;
}
bool
cv
::
gpu
codec
::
detail
::
RawVideoSourceWrapper
::
hasError
()
const
bool
cv
::
cuda
codec
::
detail
::
RawVideoSourceWrapper
::
hasError
()
const
{
return
hasError_
;
}
void
cv
::
gpu
codec
::
detail
::
RawVideoSourceWrapper
::
readLoop
(
void
*
userData
)
void
cv
::
cuda
codec
::
detail
::
RawVideoSourceWrapper
::
readLoop
(
void
*
userData
)
{
RawVideoSourceWrapper
*
thiz
=
static_cast
<
RawVideoSourceWrapper
*>
(
userData
);
...
...
modules/gpucodec/src/video_source.hpp
View file @
5a85f1b6
...
...
@@ -48,7 +48,7 @@
#include "opencv2/gpucodec.hpp"
#include "thread.hpp"
namespace
cv
{
namespace
gpu
codec
{
namespace
detail
namespace
cv
{
namespace
cuda
codec
{
namespace
detail
{
class
VideoParser
;
...
...
modules/gpucodec/src/video_writer.cpp
View file @
5a85f1b6
...
...
@@ -45,20 +45,20 @@
using
namespace
cv
;
using
namespace
cv
::
cuda
;
using
namespace
cv
::
gpu
codec
;
using
namespace
cv
::
cuda
codec
;
#if !defined(HAVE_NVCUVID) || !defined(WIN32)
cv
::
gpu
codec
::
EncoderParams
::
EncoderParams
()
{
throw_no_cuda
();
}
cv
::
gpu
codec
::
EncoderParams
::
EncoderParams
(
const
String
&
)
{
throw_no_cuda
();
}
void
cv
::
gpu
codec
::
EncoderParams
::
load
(
const
String
&
)
{
throw_no_cuda
();
}
void
cv
::
gpu
codec
::
EncoderParams
::
save
(
const
String
&
)
const
{
throw_no_cuda
();
}
cv
::
cuda
codec
::
EncoderParams
::
EncoderParams
()
{
throw_no_cuda
();
}
cv
::
cuda
codec
::
EncoderParams
::
EncoderParams
(
const
String
&
)
{
throw_no_cuda
();
}
void
cv
::
cuda
codec
::
EncoderParams
::
load
(
const
String
&
)
{
throw_no_cuda
();
}
void
cv
::
cuda
codec
::
EncoderParams
::
save
(
const
String
&
)
const
{
throw_no_cuda
();
}
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
String
&
,
Size
,
double
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
String
&
,
Size
,
double
,
const
EncoderParams
&
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
String
&
,
Size
,
double
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
String
&
,
Size
,
double
,
const
EncoderParams
&
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
,
Size
,
double
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
,
Size
,
double
,
const
EncoderParams
&
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
,
Size
,
double
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
,
Size
,
double
,
const
EncoderParams
&
,
SurfaceFormat
)
{
throw_no_cuda
();
return
Ptr
<
VideoWriter
>
();
}
#else // !defined HAVE_CUDA || !defined WIN32
...
...
@@ -811,7 +811,7 @@ namespace
///////////////////////////////////////////////////////////////////////////
// EncoderParams
cv
::
gpu
codec
::
EncoderParams
::
EncoderParams
()
cv
::
cuda
codec
::
EncoderParams
::
EncoderParams
()
{
P_Interval
=
3
;
IDR_Period
=
15
;
...
...
@@ -834,12 +834,12 @@ cv::gpucodec::EncoderParams::EncoderParams()
DisableSPSPPS
=
0
;
}
cv
::
gpu
codec
::
EncoderParams
::
EncoderParams
(
const
String
&
configFile
)
cv
::
cuda
codec
::
EncoderParams
::
EncoderParams
(
const
String
&
configFile
)
{
load
(
configFile
);
}
void
cv
::
gpu
codec
::
EncoderParams
::
load
(
const
String
&
configFile
)
void
cv
::
cuda
codec
::
EncoderParams
::
load
(
const
String
&
configFile
)
{
FileStorage
fs
(
configFile
,
FileStorage
::
READ
);
CV_Assert
(
fs
.
isOpened
()
);
...
...
@@ -865,7 +865,7 @@ void cv::gpucodec::EncoderParams::load(const String& configFile)
read
(
fs
[
"DisableSPSPPS"
],
DisableSPSPPS
,
0
);
}
void
cv
::
gpu
codec
::
EncoderParams
::
save
(
const
String
&
configFile
)
const
void
cv
::
cuda
codec
::
EncoderParams
::
save
(
const
String
&
configFile
)
const
{
FileStorage
fs
(
configFile
,
FileStorage
::
WRITE
);
CV_Assert
(
fs
.
isOpened
()
);
...
...
@@ -894,24 +894,24 @@ void cv::gpucodec::EncoderParams::save(const String& configFile) const
///////////////////////////////////////////////////////////////////////////
// createVideoWriter
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
String
&
fileName
,
Size
frameSize
,
double
fps
,
SurfaceFormat
format
)
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
String
&
fileName
,
Size
frameSize
,
double
fps
,
SurfaceFormat
format
)
{
Ptr
<
EncoderCallBack
>
encoderCallback
(
new
EncoderCallBackFFMPEG
(
fileName
,
frameSize
,
fps
));
return
createVideoWriter
(
encoderCallback
,
frameSize
,
fps
,
format
);
}
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
String
&
fileName
,
Size
frameSize
,
double
fps
,
const
EncoderParams
&
params
,
SurfaceFormat
format
)
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
String
&
fileName
,
Size
frameSize
,
double
fps
,
const
EncoderParams
&
params
,
SurfaceFormat
format
)
{
Ptr
<
EncoderCallBack
>
encoderCallback
(
new
EncoderCallBackFFMPEG
(
fileName
,
frameSize
,
fps
));
return
createVideoWriter
(
encoderCallback
,
frameSize
,
fps
,
params
,
format
);
}
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
encoderCallback
,
Size
frameSize
,
double
fps
,
SurfaceFormat
format
)
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
encoderCallback
,
Size
frameSize
,
double
fps
,
SurfaceFormat
format
)
{
return
new
VideoWriterImpl
(
encoderCallback
,
frameSize
,
fps
,
format
);
}
Ptr
<
VideoWriter
>
cv
::
gpu
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
encoderCallback
,
Size
frameSize
,
double
fps
,
const
EncoderParams
&
params
,
SurfaceFormat
format
)
Ptr
<
VideoWriter
>
cv
::
cuda
codec
::
createVideoWriter
(
const
Ptr
<
EncoderCallBack
>&
encoderCallback
,
Size
frameSize
,
double
fps
,
const
EncoderParams
&
params
,
SurfaceFormat
format
)
{
return
new
VideoWriterImpl
(
encoderCallback
,
frameSize
,
fps
,
params
,
format
);
}
...
...
modules/gpucodec/test/test_video.cpp
View file @
5a85f1b6
...
...
@@ -57,7 +57,7 @@ GPU_TEST_P(Video, Reader)
const
std
::
string
inputFile
=
std
::
string
(
cvtest
::
TS
::
ptr
()
->
get_data_path
())
+
"video/"
+
GET_PARAM
(
1
);
cv
::
Ptr
<
cv
::
gpucodec
::
VideoReader
>
reader
=
cv
::
gpu
codec
::
createVideoReader
(
inputFile
);
cv
::
Ptr
<
cv
::
cudacodec
::
VideoReader
>
reader
=
cv
::
cuda
codec
::
createVideoReader
(
inputFile
);
cv
::
cuda
::
GpuMat
frame
;
...
...
@@ -85,7 +85,7 @@ GPU_TEST_P(Video, Writer)
cv
::
VideoCapture
reader
(
inputFile
);
ASSERT_TRUE
(
reader
.
isOpened
());
cv
::
Ptr
<
cv
::
gpu
codec
::
VideoWriter
>
d_writer
;
cv
::
Ptr
<
cv
::
cuda
codec
::
VideoWriter
>
d_writer
;
cv
::
Mat
frame
;
cv
::
cuda
::
GpuMat
d_frame
;
...
...
@@ -98,7 +98,7 @@ GPU_TEST_P(Video, Writer)
d_frame
.
upload
(
frame
);
if
(
d_writer
.
empty
())
d_writer
=
cv
::
gpu
codec
::
createVideoWriter
(
outputFile
,
frame
.
size
(),
FPS
);
d_writer
=
cv
::
cuda
codec
::
createVideoWriter
(
outputFile
,
frame
.
size
(),
FPS
);
d_writer
->
write
(
d_frame
);
}
...
...
modules/superres/src/frame_source.cpp
View file @
5a85f1b6
...
...
@@ -222,7 +222,7 @@ namespace
private
:
String
fileName_
;
Ptr
<
gpu
codec
::
VideoReader
>
reader_
;
Ptr
<
cuda
codec
::
VideoReader
>
reader_
;
GpuMat
frame_
;
};
...
...
@@ -251,7 +251,7 @@ namespace
void
VideoFrameSource_GPU
::
reset
()
{
reader_
=
gpu
codec
::
createVideoReader
(
fileName_
);
reader_
=
cuda
codec
::
createVideoReader
(
fileName_
);
}
}
...
...
samples/gpu/video_reader.cpp
View file @
5a85f1b6
...
...
@@ -30,7 +30,7 @@ int main(int argc, const char* argv[])
cv
::
VideoCapture
reader
(
fname
);
cv
::
cuda
::
GpuMat
d_frame
;
cv
::
Ptr
<
cv
::
gpucodec
::
VideoReader
>
d_reader
=
cv
::
gpu
codec
::
createVideoReader
(
fname
);
cv
::
Ptr
<
cv
::
cudacodec
::
VideoReader
>
d_reader
=
cv
::
cuda
codec
::
createVideoReader
(
fname
);
cv
::
TickMeter
tm
;
std
::
vector
<
double
>
cpu_times
;
...
...
samples/gpu/video_writer.cpp
View file @
5a85f1b6
...
...
@@ -33,7 +33,7 @@ int main(int argc, const char* argv[])
cv
::
gpu
::
printShortCudaDeviceInfo
(
cv
::
gpu
::
getDevice
());
cv
::
VideoWriter
writer
;
cv
::
Ptr
<
cv
::
gpu
codec
::
VideoWriter
>
d_writer
;
cv
::
Ptr
<
cv
::
cuda
codec
::
VideoWriter
>
d_writer
;
cv
::
Mat
frame
;
cv
::
gpu
::
GpuMat
d_frame
;
...
...
@@ -68,7 +68,7 @@ int main(int argc, const char* argv[])
{
std
::
cout
<<
"Open GPU Writer"
<<
std
::
endl
;
d_writer
=
cv
::
gpu
codec
::
createVideoWriter
(
"output_gpu.avi"
,
frame
.
size
(),
FPS
);
d_writer
=
cv
::
cuda
codec
::
createVideoWriter
(
"output_gpu.avi"
,
frame
.
size
(),
FPS
);
}
d_frame
.
upload
(
frame
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment