samsung / 360tools Goto Github PK
View Code? Open in Web Editor NEWThe 360tools package is software for VR video processing experiments. The software includes both 360 video conversion and quality metrics functionality
License: Other
The 360tools package is software for VR video processing experiments. The software includes both 360 video conversion and quality metrics functionality
License: Other
when i do 360tools_metric, and the results show "QM_ID=1 8.82 8.64 8.56". could you tell me what the three numbers behind QM_ID mean?
On master, compiled with -fsanitize=address:
# 360tools_conv -i $FILE -o /tmp/out -w 1 -h 1 -f 0 -l 1 -m 1
==155340==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges [0x61b000000080,0x61b0000000a0) and [0x61b000000082, 0x61b0000000a2) overlap
#0 0x4b88e2 in __asan_memcpy /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_interceptors.cc:453
#1 0x51bd55 in pad_erp_plane_10b /tmp/360tools/build/x86_linux/../../src/360tools_erp.c:254:3
#2 0x51bd55 in s360_pad_erp /tmp/360tools/build/x86_linux/../../src/360tools_erp.c:299
#3 0x51b0d6 in s360_erp_to_cpp /tmp/360tools/build/x86_linux/../../src/360tools_erp.c:108:3
#4 0x50c658 in main /tmp/360tools/build/x86_linux/../../app/360tools_conv/360tools_conv.c:478:9
#5 0x7f1f0ca67680 in __libc_start_main /var/tmp/portage/sys-libs/glibc-2.23-r4/work/glibc-2.23/csu/../csu/libc-start.c:289
#6 0x419ac8 in _start (/usr/bin/360tools_conv+0x419ac8)
0x61b000000080 is located 0 bytes inside of 1536-byte region [0x61b000000080,0x61b000000680)
allocated by thread T0 here:
#0 0x4cf478 in __interceptor_malloc /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_malloc_linux.cc:66
#1 0x51050e in s360_img_create /tmp/360tools/build/x86_linux/../../src/360tools_img.c:76:21
#2 0x50c1df in main /tmp/360tools/build/x86_linux/../../app/360tools_conv/360tools_conv.c:369:9
#3 0x7f1f0ca67680 in __libc_start_main /var/tmp/portage/sys-libs/glibc-2.23-r4/work/glibc-2.23/csu/../csu/libc-start.c:289
0x61b000000082 is located 2 bytes inside of 1536-byte region [0x61b000000080,0x61b000000680)
allocated by thread T0 here:
#0 0x4cf478 in __interceptor_malloc /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_malloc_linux.cc:66
#1 0x51050e in s360_img_create /tmp/360tools/build/x86_linux/../../src/360tools_img.c:76:21
#2 0x50c1df in main /tmp/360tools/build/x86_linux/../../app/360tools_conv/360tools_conv.c:369:9
#3 0x7f1f0ca67680 in __libc_start_main /var/tmp/portage/sys-libs/glibc-2.23-r4/work/glibc-2.23/csu/../csu/libc-start.c:289
SUMMARY: AddressSanitizer: memcpy-param-overlap /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_interceptors.cc:453 in __asan_memcpy
==155340==ABORTING
It is reproducible here with any file, i.e. no special crafted file needed.
1.The ERP video I used is:
2.Get the TSP projection video through the following command.
Command used for TSP projection:
Video with TSP projection:
3.Back-project the obtained TSP video.
Command used for TSP back projection
Video with TSP back projection:
Why is the ERP video before projection different from the ERP video after back projection?
Hi,
I have a question about the two parameters pitch and yaw. To my point of view, applying these two parameters should result in a rotated projection with certain pitch and yaw angle.
Therefore, when I use the command line bellow to generate a cubemap projection with a yaw angle (180 degree) and a default pitch angle (90 degree), it seems that your code does not work.
./360tools_conv -i ERP.yuv -o ERP2CMP.yuv -w 3840 -h 1920 -f 3 -l 3840 -m 2880 -n 1 -x 1 -y 1 -p 90 -t 180
Or maybe I have the wrong comprehension on these two parameters.
Thank you very much!
Regards,
Lan
Hi,
I get a buffer overflow. On one of my machines it works (arch linux 64 bit) on another it doesn't (Ubuntu 16.04 64 bit).
bin/360tools_conv
-i argument should be set
< Usage >
-c, --config [STRING] (optional)
: config file name
-i, --input [STRING]
: input file name
-o, --output [STRING]
: output file name
-w, --width [INTEGER]
: width of input image
-h, --height [INTEGER]
: height of input image
*** buffer overflow detected ***: bin/360tools_conv terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fdb8aef57e5]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7fdb8af9656c]
/lib/x86_64-linux-gnu/libc.so.6(+0x116570)[0x7fdb8af94570]
/lib/x86_64-linux-gnu/libc.so.6(+0x115ad9)[0x7fdb8af93ad9]
/lib/x86_64-linux-gnu/libc.so.6(_IO_default_xsputn+0x80)[0x7fdb8aef96b0]
/lib/x86_64-linux-gnu/libc.so.6(_IO_vfprintf+0x139b)[0x7fdb8aecc50b]
/lib/x86_64-linux-gnu/libc.so.6(__vsprintf_chk+0x84)[0x7fdb8af93b64]
/lib/x86_64-linux-gnu/libc.so.6(__sprintf_chk+0x7d)[0x7fdb8af93abd]
bin/360tools_conv[0x401e6d]
bin/360tools_conv[0x400fff]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fdb8ae9e830]
bin/360tools_conv[0x401a69]
======= Memory map: ========
00400000-00422000 r-xp 00000000 00:2b 16771822 /360/360tools/bin/360tools_conv
00621000-00622000 r--p 00021000 00:2b 16771822 /360/360tools/bin/360tools_conv
00622000-00625000 rw-p 00022000 00:2b 16771822 /360/360tools/bin/360tools_conv
00625000-00627000 rw-p 00000000 00:00 0
00d28000-00d49000 rw-p 00000000 00:00 0 [heap]
7fdb8ac68000-7fdb8ac7e000 r-xp 00000000 08:02 1704466 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fdb8ac7e000-7fdb8ae7d000 ---p 00016000 08:02 1704466 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fdb8ae7d000-7fdb8ae7e000 rw-p 00015000 08:02 1704466 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fdb8ae7e000-7fdb8b03d000 r-xp 00000000 08:02 1716177 /lib/x86_64-linux-gnu/libc-2.23.so
7fdb8b03d000-7fdb8b23d000 ---p 001bf000 08:02 1716177 /lib/x86_64-linux-gnu/libc-2.23.so
7fdb8b23d000-7fdb8b241000 r--p 001bf000 08:02 1716177 /lib/x86_64-linux-gnu/libc-2.23.so
7fdb8b241000-7fdb8b243000 rw-p 001c3000 08:02 1716177 /lib/x86_64-linux-gnu/libc-2.23.so
7fdb8b243000-7fdb8b247000 rw-p 00000000 00:00 0
7fdb8b247000-7fdb8b34f000 r-xp 00000000 08:02 1708481 /lib/x86_64-linux-gnu/libm-2.23.so
7fdb8b34f000-7fdb8b54e000 ---p 00108000 08:02 1708481 /lib/x86_64-linux-gnu/libm-2.23.so
7fdb8b54e000-7fdb8b54f000 r--p 00107000 08:02 1708481 /lib/x86_64-linux-gnu/libm-2.23.so
7fdb8b54f000-7fdb8b550000 rw-p 00108000 08:02 1708481 /lib/x86_64-linux-gnu/libm-2.23.so
7fdb8b550000-7fdb8b576000 r-xp 00000000 08:02 1716145 /lib/x86_64-linux-gnu/ld-2.23.so
7fdb8b74b000-7fdb8b74e000 rw-p 00000000 00:00 0
7fdb8b772000-7fdb8b775000 rw-p 00000000 00:00 0
7fdb8b775000-7fdb8b776000 r--p 00025000 08:02 1716145 /lib/x86_64-linux-gnu/ld-2.23.so
7fdb8b776000-7fdb8b777000 rw-p 00026000 08:02 1716145 /lib/x86_64-linux-gnu/ld-2.23.so
7fdb8b777000-7fdb8b778000 rw-p 00000000 00:00 0
7ffff92a9000-7ffff92ca000 rw-p 00000000 00:00 0 [stack]
7ffff930f000-7ffff9311000 r--p 00000000 00:00 0 [vvar]
7ffff9311000-7ffff9313000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted (core dumped)
/360/360tools
Hello, I use this code on Linux, make and run:
./360tools_metric -w 4096 -h 2048 -f 1 -o ../Video02-150Frame/video02-Re.jpg -q 1 -l 4096-m 2048 -t 1 -r ../Video02-150Frame/video02-3MB-264.jpg -n 1 -x 1
then the result is:
QM_ID=1 -nan -nan -nan
both distorted image and reference image are same width and height, same Equirectangular projection, and I don't know what's wrong.
Hi there,
I have seen the transformations that 360tools do and I see how powerful it is.
However I am developing a project and I would like to extract a viewport from a 360 video frame? Does this tool do this conversion?
I have studied the code and I have not found it.
Could you please help me?
Regards,
Dario
I tred to calculate CPP-PSNR of two ERP sequences but of different size (i.e, 3840x1920 and 3328x1664). The software throws an error. I debug into it and see it fails at resampling process (using lanczos).
how to use the file(sphere_655362.txt)?
why the number of point is 655362?
Hi,
I use the following command line to generate a cubemap projection.
./360tools_conv -i ERP.yuv -o CMP.yuv -w 3840 -h 1920 -f 3 -l 3840 -m 2880 -n 1
The layout of CMP should be like:
+--------+--------+--------+--------+ 1
| | | | |
| | 1 | | |
| | | | |
+--------+--------+--------+--------+ H/3
| | | | |
| 2 | 3 | 4 | 5 |
| | | | |
+--------+--------+--------+--------+ H/3*2
| | | | |
| | 6 | | |
| | | | |
+--------+--------+--------+--------+
1 W/4 W/2 W/4*3
For my input YUV file, the width and height of each square of CMP should be 960. Therefore, the value of output Y(1:960, 1:960) should be 0. But this square indeed has non-zero value on the edge of the square:
The same problem occurs in other square:
Why did this happened?
Regards,
Lan
It's possible a more extensive explanation of the input parameters? like num_vertical_segments affects the output transformations?
Ty in advance
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.