float value = cv::randu<float>();\r
cv::Mat src(1, 1, CV_32FC1, Scalar::all((float)value));\r
test_values(src);\r
- src.~Mat();\r
}\r
}\r
\r
float value = cv::randu<float>();\r
cv::Mat src(1, 1, CV_64FC1, Scalar::all((double)value));\r
test_values(src);\r
- src.~Mat();\r
}\r
}\r
\r
else src.at<double>(k, j) = src.at<double>(j, k) = cv::randu<double>();\r
\r
if (!test_values(src)) return false;\r
-\r
- src.~Mat();\r
}\r
\r
return true;\r
*/
bool CvCapture_FFMPEG::reopen()
{
- if ( filename==NULL ) return false;
+ /*if ( filename==NULL ) return false;
#if LIBAVFORMAT_BUILD > 4628
avcodec_close( video_st->codec );
#endif
#if LIBAVFORMAT_BUILD < CALC_FFMPEG_VERSION(53, 24, 2)
av_close_input_file(ic);
+ av_open_input_file(&ic, filename, )
#else
avformat_close_input(&ic);
+ avformat_open_input(&ic, filename, NULL, NULL);
#endif
- // reopen video
- avformat_open_input(&ic, filename, NULL, NULL);
#if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(53, 6, 0)
#if LIBAVFORMAT_BUILD < CALC_FFMPEG_VERSION(53, 24, 2)
avformat_find_stream_info(ic);
// reset framenumber to zero
frame_number = 0;
- picture_pts=0;
+ picture_pts=0;*/
return true;
}
if(video_stream >= 0) valid = true;
// perform check if source is seekable via ffmpeg's seek function av_seek_frame(...)
- err = av_seek_frame(ic, video_stream, 10, 0);
+ /*err = av_seek_frame(ic, video_stream, 10, 0);
if (err < 0)
{
filename=(char*)malloc(strlen(_filename)+1);
int64_t ts = video_st->first_dts;
int flags = AVSEEK_FLAG_FRAME | AVSEEK_FLAG_BACKWARD;
av_seek_frame(ic, video_stream, ts, flags);
- }
+ }*/
exit_func:
if( !valid )
if( !video_st ) return 0;
// double frameScale = av_q2d (video_st->time_base) * av_q2d (video_st->r_frame_rate);
- int64_t timestamp;
- timestamp = picture_pts;
+ //int64_t timestamp;
+ //timestamp = picture_pts;
switch( property_id )
{
AVStream * video_st;
int input_pix_fmt;
Image_FFMPEG temp_image;
+ bool ok;
#if defined(HAVE_FFMPEG_SWSCALE)
struct SwsContext *img_convert_ctx;
#endif
#if defined(HAVE_FFMPEG_SWSCALE)
img_convert_ctx = 0;
#endif
+ ok = false;
}
/**
// TODO -- do we need to account for latency here?
/* write the trailer, if any */
- av_write_trailer(oc);
+ if(ok && oc)
+ av_write_trailer(oc);
// free pictures
#if LIBAVFORMAT_BUILD > 4628
}
/* write the stream header, if any */
- avformat_write_header(oc, NULL);
-
+ err=avformat_write_header(oc, NULL);
+ if(err < 0)
+ {
+ close();
+ remove(filename);
+ return false;
+ }
+ ok = true;
return true;
}
{\r
stringstream s; s << codec;\r
\r
+ if( format == "mov" && codec == CV_FOURCC('M', 'P', 'G', '2'))\r
+ putchar('$');\r
+\r
cv::VideoWriter writer("test_video_"+s.str()+"."+format, codec, 25, cv::Size(640, 480), false);\r
\r
for (int i = 0; i < framecount; ++i)\r
\r
writer << mat;\r
}\r
-\r
- writer.~VideoWriter();\r
}\r
\r
void CV_PositioningTest::run(int)\r