Git Product home page Git Product logo

360tools's People

Contributors

kpchoi avatar minjung978 avatar nolyn avatar vladzakharchenko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

360tools's Issues

The result of metric is -nan

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.

What does the result mean

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?

memcpy-param-overlap in pad_erp_plane_10b (60tools_erp.c)

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.

transform360 AVOptions

It's possible a more extensive explanation of the input parameters? like num_vertical_segments affects the output transformations?

Ty in advance

the cubemap projection

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

buffer overflow in print_usage of 360tools_conv

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

the implementation of pitch and yaw

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

Viewport from 360 video frame.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.