aomanalyzer icon indicating copy to clipboard operation
aomanalyzer copied to clipboard

Failed to load java script decoder from AOM analyzer

Open shihuade opened this issue 6 years ago • 13 comments

following the build instruction from build step in step 4, AOM analyzer failed to load the javascript decoder inspect.js.

AOM decoder commit ID(master branch): a07a3b2854e7b743adba13bca8adc9a993403075 Analyzer download from Mac 1.1

shihuade avatar Feb 08 '18 14:02 shihuade

Does the problem persist if you use this decoder an this video file.

Were you able to compile the inspect.js successfully? Can you paste your console output?

mbebenita avatar Feb 08 '18 20:02 mbebenita

@mbebenita

  1. I install the emsdk from offical website emsdk for Mac and update/install/activate/setup env path info based on instruction

  2. and building aomdec with emsdk followed build step

the comand I build with cmake is

cmake .. -DENABLE_CCACHE=1
-DAOM_TARGET_CPU=generic
-DENABLE_DOCS=0
-DCONFIG_ACCOUNTING=1
-DCONFIG_INSPECTION=1
-DCONFIG_MULTITHREAD=0
-DCONFIG_RUNTIME_CPU_DETECT=0
-DCONFIG_UNIT_TESTS=0
-DCONFIG_WEBM_IO=0
-DCMAKE_TOOLCHAIN_FILE=../../EmSDK/emsdk-portable-latest/emscripten/1.37.33/cmake/Modules/Platform/Emscripten.cmake

  1. and the output is

-- Found Git: /usr/bin/git (found version "2.14.3 (Apple Git-98)") -- Found Perl: /usr/bin/perl (found version "5.18.2") -- Looking for pthread_create -- Looking for pthread_create - found -- Found Threads: TRUE
-- Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES wxWidgets_INCLUDE_DIRS) --- aom_configure: Detected CPU: generic Running C compiler test: inline_check_1 -- Performing Test C_TEST_COMPILED -- Performing Test C_TEST_COMPILED - Success Running CXX compiler test: inline_check_1 -- Performing Test CXX_TEST_COMPILED -- Performing Test CXX_TEST_COMPILED - Success Running C compiler test: pthread_check -- Performing Test C_TEST_COMPILED -- Performing Test C_TEST_COMPILED - Success Running CXX compiler test: pthread_check -- Performing Test CXX_TEST_COMPILED -- Performing Test CXX_TEST_COMPILED - Success Running C compiler test: unistd_check -- Performing Test C_TEST_COMPILED -- Performing Test C_TEST_COMPILED - Success Running CXX compiler test: unistd_check -- Performing Test CXX_TEST_COMPILED -- Performing Test CXX_TEST_COMPILED - Success Running C compiler test: fenv_check -- Performing Test C_TEST_COMPILED -- Performing Test C_TEST_COMPILED - Failed C Compiler test fenv_check failed. CMake Warning at build/cmake/util.cmake:78 (message): --- Cannot find ccache, ENABLE_CCACHE ignored. Call Stack (most recent call first): build/cmake/aom_configure.cmake:200 (set_compiler_launcher) CMakeLists.txt:67 (include)

Checking C compiler flag support for: -std=c99 -- Performing Test HAVE_C_FLAG -- Performing Test HAVE_C_FLAG - Success Checking C compiler flag support for: -Wall -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wall -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wdisabled-optimization -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wdisabled-optimization -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wextra -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wextra -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wfloat-conversion -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wfloat-conversion -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wimplicit-function-declaration -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wimplicit-function-declaration -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wlogical-op -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Failed Checking C++ compiler flag support for: -Wlogical-op -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Failed Checking C compiler flag support for: -Wpointer-arith -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wpointer-arith -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wsign-compare -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wsign-compare -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wstack-usage=320000 -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Failed Checking C++ compiler flag support for: -Wstack-usage=320000 -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Failed Checking C compiler flag support for: -Wstring-conversion -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wstring-conversion -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wtype-limits -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wtype-limits -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wuninitialized -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wuninitialized -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wunused -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wunused -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wvla -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wvla -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wshorten-64-to-32 -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wshadow -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wundef -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C compiler flag support for: -Wno-unused-function -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -Wno-unused-function -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -D_LARGEFILE_SOURCE -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -D_LARGEFILE_SOURCE -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success Checking C compiler flag support for: -D_FILE_OFFSET_BITS=64 -- Performing Test C_FLAG_SUPPORTED -- Performing Test C_FLAG_SUPPORTED - Success Checking C++ compiler flag support for: -D_FILE_OFFSET_BITS=64 -- Performing Test CXX_FLAG_SUPPORTED -- Performing Test CXX_FLAG_SUPPORTED - Success -- Found PythonInterp: /usr/bin/python (found version "2.7.10") Checking C compiler flag support for: -std=c++11 -- Performing Test HAVE_CXX_FLAG -- Performing Test HAVE_CXX_FLAG - Success -- Configuring done -- Generating done -- Build files have been written to: /Users/edward.shi/project/AOM/aom/javascript_build

  1. and then make inspect to generate example/inspect.js

shihuade avatar Feb 11 '18 03:02 shihuade

  1. when calling AOM analyzer with below command: /Applications/AOMAnalyzer.app/Contents/MacOS/AOMAnalyzer --frames 1 --dev examples/inspect.js examples/Test.ivf

the output looks like

2018-02-11 14:08:09.087 AOMAnalyzer[36627:860846] IMKInputSession [0x7ffc1c6c9240 presentFunctionRowItemTextInputViewWithEndpoint:completionHandler:] : [self textInputContext]=0x0 NO NSRemoteViewController to client, NSError=Error Domain=NSCocoaErrorDomain Code=4097 "connection from pid 0" UserInfo={NSDebugDescription=connection from pid 0}, com.apple.inputmethod.EmojiFunctionRowItem

shihuade avatar Feb 11 '18 06:02 shihuade

screen shot 2018-02-08 at 8 27 12 pm

shihuade avatar Feb 11 '18 06:02 shihuade

the file path looks like: file:/// wiht 3 "/", is it correct?

shihuade avatar Feb 11 '18 06:02 shihuade

How about the errors in the browser console? With the --dev flag, you should be able to see the Chrome DevTools and see what the console errors are.

Can you upload the inspect.js and .ivf files somewhere so I can take a look?

mbebenita avatar Feb 11 '18 09:02 mbebenita

Hi mbebenita, got same error as shihuade. Built the inspect.js successfully, but the analyzer cannot load. The analyzer works fine on the decoder and input file provided by you. Uploaded the inspect.js and input file. test.zip

rogerzhou-github avatar Feb 23 '18 21:02 rogerzhou-github

Thanks @rogerzhou-github, it looks like for some reason your inspect.js file doesn't export the UTF8ToString function that the analyzer expects. How did you build the inspect.js file? Using the directions in the AV1 code base?

mbebenita avatar Feb 24 '18 00:02 mbebenita

@rogerzhou-github what version of Emscripten do you have? According to the docs, the function is exported by Emscripten. Also, how did you install Emscripten?

mbebenita avatar Feb 24 '18 00:02 mbebenita

@rogerzhou-github looks like Emscripten has changed the list of exported functions, I'll have to add UTF8ToString to EXTRA_EXPORTED_RUNTIME_METHODS in the AOM repo.

mbebenita avatar Feb 24 '18 01:02 mbebenita

@mbebenita I am using 1.37.34. Which emscripten version are you using? An older version of emsdk may work. BTW, please let me know after you add the support in the AOM repo. Thanks!

rogerzhou-github avatar Feb 26 '18 18:02 rogerzhou-github

@mbebenita, I went back to 1.36.14, and it works.

rogerzhou-github avatar Feb 26 '18 22:02 rogerzhou-github

Hi, also got an issue in loading decoder. The analyzer still loading decoders. I tried both emscripten 1.38.6 and 1.36.14. I tried the decoder and the input file provided by you and got a black screen on analyzer. image image

alibertb avatar Jul 10 '18 10:07 alibertb