AVIF images with AOM Decoder problem - the error AOM_CODEC_UNSUP_BITSTREAM is returned on all images - decoder

This question is for those familiar with the AVIF image format, and AOM Decoder.
While trying to open any AVIF image at all via the AOM decoder, which I built on Windows via Visual Studio 2019, I always get the error AOM_CODEC_UNSUP_BITSTREAM.
I traced it to the function decoder_peek_si_internal(), and the line of code that is returning the error is:
if (frame_marker != AOM_FRAME_MARKER) return AOM_CODEC_UNSUP_BITSTREAM;
frame_marker is always 0 on all the AVIF images I tested this with.
Can anyone please shed some light?
Thanks in advance.

Related

Error loading DBPedia Turtle in Virtuoso with Docker

I downloaded DBPedia turtle-files with their extraction framework (https://github.com/dbpedia/extraction-framework).
Then I used the docker image tenforce/virtuoso:1.3.2-virtuoso7.2.2 after extracting all ttl.bz2 to a toLoad folder.
After the full load, I checked isql with select * from DB.DBA.LOAD_LIST; and got an error from one of the files:
2 2019.2.2 11:31.43 69876000 2019.2.2 11:31.44 521623000 0 NULL 37000
[Vectorized Turtle loader] SP029: TURTLE RDF loader, line 172395:
syntax error
The virtuoso endpoint (http://localhost:8890/sparql) is online, but the queries don't return correct results.
Do you know what I can do to correct this error?
UPDATE: newer tenforce/virtuoso:1.3.2-virtuoso7.2.5.1 and openlink/virtuoso-opensource-7 were also tested giving the same result.
UPDATE 2: Line 172395 of that file seems ok: <http://pt.dbpedia.org/resource/Reino_de_Roma> <http://dbpedia.org/ontology/governmentType> <http://pt.dbpedia.org/resource/Monarquia> <http://pt.wikipedia.org/wiki/Reino_de_Roma?oldid=53119289&ns=0> .
As I said in your duplicate post on github --
I would start by using tenforce/virtuoso:latest or tenforce/virtuoso:virtuoso7.2.5 or tenforce/virtuoso:1.3.2-virtuoso7.2.5, all of which should be based on Virtuoso 7.2.5.1 (from August 2018), rather than the rather elderly tenforce/virtuoso:1.3.2-virtuoso7.2.2 which is based on the similarly elderly Virtuoso 7.2.2 (from December 2015).

How to setup jpeglib with MS Visual C++ 2010 Express

I try to use the well known "jpeglib" now available in version 9.
Overview: I am a programming starter in C using MS Visual C++ 2010 Express and read a C-book finally. My goal is to compress a RGB(.bmp)-file into JPEG. So I downloaded the jpeglib (v9), read all the install and so on *.txt-files. It was possible to compile the C-files to get cjpeg.exe, djpeg.exe, jpeg.lib and so on.
After this success I tried to use the example.c to get deeper into the jpeg and to control the compression. -> It did not work. Then I tried to use the jpeglib included in OpenCV. Same non working result, while the OpenCV code samples are compiled successfully.
I googled lots of samples, problem solutions and tips how to use jpeglib. Most helpful information I found here. But in the result I was still not able to compile my own jpeg-tool or example.c (rewriting the write_JPEG_file() function ).
Question: What in the basics could be wrong, when every other programmer just uses #include "jpeglib.h" in their codes to run the jpeg functions successfully? For me including this file seems not to be enough. Because of that I have to ask you and to relaunch a one year old Question that also did not helped solving my probs. I can not give you a specific error message because of multiple attempts to solve those issues.
Here is my current MS-VC++2010 config for using OpenCV 2.4.6:
C/C++ -> General -> Additional Include Directories:
C:\opencv\build\include
C:\opencv\build\include\opencv
C:\opencv\build\include\opencv2
C:\opencv\include
C:\opencv\include\opencv
C:\opencv\include\opencv2
C:\opencv\3rdparty\libjpeg
Linker -> General -> Additional Library Directories:
C:\opencv\build\x86\vc10\lib
Linker -> Input -> Additional Dependencies:
opencv_core246d.lib
opencv_imgproc246d.lib
opencv_highgui246d.lib
opencv_ml246d.lib
opencv_video246d.lib
opencv_features2d246d.lib
opencv_calib3d246d.lib
opencv_objdetect246d.lib
opencv_contrib246d.lib
opencv_legacy246d.lib
opencv_flann246d.lib
jpeg.lib [this I added into C:\opencv\build\x86\vc10\lib]
At last some threads I have already read:
Compressing IplImage to JPEG using libjpeg in OpenCV - 1
Compressing IplImage to JPEG using libjpeg in OpenCV - 2
Need help in reading JPEG file using libjpeg
how can i use jpeg_mem_src, jpeg_mem_dest in libjpeg-turbo?
If there is something missing you want to know I will do my best to add this information!
EDIT - Some error messages:
1>jpeg_coder.obj : error LNK2001: unresolved external symbol ""unsigned char * image_buffer" (?image_buffer##3PAEA)".
1>jpeg_coder.obj : error LNK2001: unresolved external symbol ""int image_height" (?image_height##3HA)".
1>jpeg_coder.obj : error LNK2001: unresolved external symbol """int image_width" (?image_width##3HA)".
First symbol should be typedefed in jpeglib.h as JSAMPLE FAR *JSAMPROW,
second and third are defined in rdjpgcom.c as unsigned int image_height, image_width;
Maybe, with a lot of luck, I figured out what is need to be done to get jpeglib running. In the current state I have to check and double check whether my problem solution is correct or not. At this point thank you very much for your attention for my issues. As soon as I am sure with the solution I will post it.
Problem Solution: I did not setup OpenCV correctly for using jpeglib. The mistake I made was to link the wrong *.lib-file. The proper file for linking is libjpegd.lib. Too bad that jpeglib v6.2 is included in OpenCV 2.4.6 instead of v9. The hint to add HAVE_JPEG to use jpeglib functions inside OpenCV I ignored completely. For now the problem is solved.
Problem Solution: I did not setup OpenCV correctly for using jpeglib. The mistake I made was to link the wrong *.lib-file.
The proper file for linking is libjpegd.lib.
Too bad that jpeglib v6.2 is included in OpenCV 2.4.6 instead of v9. The hint to add HAVE_JPEG to use jpeglib functions inside OpenCV I ignored completely. Thanks to all who tried solving this issue. For now the problem is solved.

Cannot get SURF example in EMGU.CV to work?

I am trying to detect a pattern shown in two images. Hence I have been trying to use the SURF algorithim found in emgu.CV, but the "SURFFeature" example that is given gives me the following error:
An unhandled exception of type 'Emgu.CV.Util.CvException' occurred in Emgu.CV.dll
Additional information: OpenCV: norm == NORM_L1 || norm == NORM_L2 || norm == NORM_HAMMING
Any ideas how to fix this?
When I try the "Hello World" example and the face detection example, both seem to work fine.
Thanks for any advice!
Fouad.
PS: Emgu.CV can be downloaded from here: http://www.emgu.com/wiki/index.php/Main_Page
Apparently the build was messed up.
http://www.emgu.com/bugs/show_bug.cgi?format=multiple&id=74
Aha, found it. The error here is in Emgu.Cv.Gpu/GpuBruteForceMatcher.cs lines 22 and 27.
Line 22 currently reads:
L2Dist,
It should read: L2Dist = 4,
Line 27 currently reads: HammingDist
It should read: HammingDist = 6
Rebuild the Emgu.CV.Gpu dll with those changes and it works.

opencv error: Null pointer(Null filename) in unknown function with facedetect. cpp

OpenCV includes face detection sample code. I tried to use facedetect.cpp from OpenCV 2.2 library in my application. However, I happened to a runtime problem
OpenCV error: Null pointer(Null filename) in unknown function, file..\..\..\..\ocv\opencv\modules\core\src\persistence.cpp,line 2571
I googled it and found lots of people ran across this problem, but without a good solution. This problem happened when code load .xml file. My solution is here:
const char *cascadeNameChar=cascadeName.c_str();
const char *nestedCascadeNameChar=nestedCascadeName.c_str();
......
if( !cvLoad( nestedCascadeNameChar ) )
if(!cascade.load(cascadeName))
Then it works for me. I run it on Visual Studio 2008.
Mates, I have figured out this problem. I used opencv2.2+Visual Studio 2008 when I happened to this problem. The Opencv2.2 is binary version I downloaded from http://sourceforge.net that have been compiled with respect to vc2010. I just now downloaded vc2010 and try my application with facedetect.cpp from opencv2.2 on it. It works! The runtime error with persistence.cpp is gone.

Simple OpenCV problem

Why I try to run the following OpenCV program, it shows the following error :
ERROR:
test_1.exe - Application Error
The application failed to initialize properly (0x80000003).
Click on OK to terminate the application.
CODE:
#include "cv.h"
#include "highgui.h"
int main()
{
IplImage *img = cvLoadImage("C:\\face.bmp");
cvSetImageROI(img, cvRect(100,100, 100, 100));
cvAddS(img, cvScalar(50), img);
cvResetImageROI(img);
cvShowImage("Test", img);
cvWaitKey(0);
return 0;
}
When i press F5(im using vs2008express), the program encounters a break point...i have attached a picture...dont know, whether, it will help or not.
Error Snapshot Link
It is not that, only this program is producing this error, but also any kind of image manipulation funciton containing (OpenCV)program is resulting in this sitution.
Such as : cvSmooth
one last thing, it there any dedicated OpenCV forum or sth like that?
I am an administrator.So, yes, ive the permission.
a version mismatch.
sorry, i didn't get it?Version mismatch with what?
But, i have found the error using dependency walker.
Warning: At least one module has an unresolved import due to a missing export
function in a delay-load dependent module.
and also found that, it is a common problem, and found some info in the FAQ of DW...
Why am I seeing a lot of applications where MPR.DLL shows up in red under
SHLWAPI.DLL because it is missing a function named WNetRestoreConnectionA?
I also get a "Warning: At least one module has an unresolved import due to
a missing export function in a delay-load dependent module" message.
Function name : WNetRestoreConnectionA
But there is no guideline about how to solve it. Though, they say, it is not a problem.
i googled a little and found a suggestion.It says,
Turn off your compilers setting to assume you are programming for Win9x.
(I just lost which setting but it is not that difficult, use a #define...)
But i have no idea, how to do that in Visual Studio 2008 express.
Any suggestion how to solve it...
This usually indicates a problem with a dll; either you don't have permission, or a version is mismatched. Try running as Administrator to see if it is a permissions problem. If that doesn't help, try using the Dependency Walker.

Resources