|
@@ -44,13 +44,22 @@ int fingerprintFromFFAVFrame(FILE *file, AVFrame *frame, char buf[64]) {
|
|
|
|
|
|
int width = frame->width;
|
|
|
int height = frame->height;
|
|
|
+ printf("fingerprintFromFFAVFrame -1\n");
|
|
|
cv::Mat img(height, width, CV_8UC3);
|
|
|
+ printf("fingerprintFromFFAVFrame -2\n");
|
|
|
int cvLinesizes[1];
|
|
|
cvLinesizes[0] = img.step1();
|
|
|
+ printf("fingerprintFromFFAVFrame -3\n");
|
|
|
SwsContext *conversion = sws_getContext(width, height, (AVPixelFormat) frame->format, width, height,
|
|
|
AVPixelFormat::AV_PIX_FMT_BGR24, SWS_FAST_BILINEAR, NULL, NULL, NULL);
|
|
|
- sws_scale(conversion, frame->data, frame->linesize, 0, height, &img.data, cvLinesizes);
|
|
|
- sws_freeContext(conversion);
|
|
|
+ if (conversion){
|
|
|
+ sws_scale(conversion, frame->data, frame->linesize, 0, height, &img.data, cvLinesizes);
|
|
|
+ sws_freeContext(conversion);
|
|
|
+ } else {
|
|
|
+ printf("sws_getContext init error .");
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+ printf("fingerprintFromFFAVFrame -4\n");
|
|
|
if (img.empty()) {
|
|
|
printf("image is empty.");
|
|
|
return NULL;
|