On Wed, Nov 23, 2016 at 3:25 AM, Anton Khirnov <[email protected]> wrote:
> Quoting Vittorio Giovara (2016-11-15 18:07:34)
>> Signed-off-by: Vittorio Giovara <[email protected]>
>> ---
>> Updated for yaw, pitch, roll type change.
>> Vittorio
>>
>>  avprobe.c            | 28 ++++++++++++++++++++++++++++
>>  doc/APIchanges       |  4 ++++
>>  libavcodec/avcodec.h |  6 ++++++
>>  libavcodec/utils.c   |  1 +
>>  libavcodec/version.h |  4 ++--
>>  libavformat/dump.c   | 36 ++++++++++++++++++++++++++++++++++++
>>  6 files changed, 77 insertions(+), 2 deletions(-)
>>
>> diff --git a/avprobe.c b/avprobe.c
>> index ff28a0b..f2e8d72 100644
>> --- a/avprobe.c
>> +++ b/avprobe.c
>> @@ -27,6 +27,7 @@
>>  #include "libavutil/display.h"
>>  #include "libavutil/opt.h"
>>  #include "libavutil/pixdesc.h"
>> +#include "libavutil/spherical.h"
>>  #include "libavutil/stereo3d.h"
>>  #include "libavutil/dict.h"
>>  #include "libavutil/libm.h"
>> @@ -766,6 +767,7 @@ static void show_stream(InputFile *ifile, InputStream 
>> *ist)
>>          for (i = 0; i < stream->nb_side_data; i++) {
>>              const AVPacketSideData* sd = &stream->side_data[i];
>>              AVStereo3D *stereo;
>> +            AVSphericalMapping *spherical;
>>
>>              switch (sd->type) {
>>              case AV_PKT_DATA_DISPLAYMATRIX:
>> @@ -786,6 +788,32 @@ static void show_stream(InputFile *ifile, InputStream 
>> *ist)
>>                            !!(stereo->flags & AV_STEREO3D_FLAG_INVERT));
>>                  probe_object_footer("stereo3d");
>>                  break;
>> +            case AV_PKT_DATA_SPHERICAL:
>> +                spherical = (AVSphericalMapping *)sd->data;
>> +                probe_object_header("spherical");
>> +
>> +                if (spherical->projection == AV_SPHERICAL_EQUIRECTANGULAR)
>> +                    probe_str("projection", "equirectangular");
>> +                else if (spherical->projection == AV_SPHERICAL_CUBEMAP)
>> +                    probe_str("projection", "cubemap");
>> +                else
>> +                    probe_str("projection", "unknown");
>> +
>> +                probe_object_header("orientation");
>> +                probe_int("yaw", ((double)spherical->yaw) / (1 << 16));
>> +                probe_int("pitch", ((double)spherical->pitch) / (1 << 16));
>> +                probe_int("roll", ((double)spherical->roll) / (1 << 16));
>> +                probe_object_footer("orientation");
>
> Aren't those only valid for equirectangular projection?

no they are valid for anything mapped onto a sphere
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to