Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa'
authorJames Almer <jamrial@gmail.com>
Thu, 30 Nov 2017 00:06:49 +0000 (21:06 -0300)
committerJames Almer <jamrial@gmail.com>
Thu, 30 Nov 2017 00:06:49 +0000 (21:06 -0300)
* commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa':
  stereo3d: Support view type for frame sequence type

Merged-by: James Almer <jamrial@gmail.com>
1  2 
doc/APIchanges
libavcodec/h264_sei.c
libavcodec/h264_sei.h
libavcodec/h264_slice.c
libavcodec/hevc_sei.c
libavcodec/hevc_sei.h
libavcodec/hevcdec.c
libavfilter/vf_framepack.c
libavutil/stereo3d.h
libavutil/version.h
tests/ref/fate/vp8-alpha

diff --cc doc/APIchanges
@@@ -15,48 -13,13 +15,51 @@@ libavutil:     2017-10-2
  
  API changes, most recent first:
  
 -2017-xx-xx - xxxxxxx - lavu 56.7.0 - stereo3d.h
++2017-xx-xx - xxxxxxx - lavu 56.4.100 / 56.7.0 - stereo3d.h
+   Add view field to AVStereo3D structure and AVStereo3DView enum.
 -2017-xx-xx - xxxxxxx - lavc 58.5.0 - avcodec.h
 +2017-xx-xx - xxxxxxx - lavc 58.6.100 - avcodec.h
 +  Add const to AVCodecContext.hwaccel.
 +
 +2017-11-xx - xxxxxxx - lavc 58.5.100 - avcodec.h
 +  Deprecate user visibility of the AVHWAccel structure and the functions
 +  av_register_hwaccel() and av_hwaccel_next().
 +
 +2017-11-xx - xxxxxxx - lavc 58.4.100 - avcodec.h
 +  Add AVCodecHWConfig and avcodec_get_hw_config().
 +
 +2017-11-22 - 3650cb2dfa - lavu 55.3.100 - opencl.h
 +  Remove experimental OpenCL API (av_opencl_*).
 +
 +2017-11-22 - b25d8ef0a7 - lavu 55.2.100 - hwcontext.h hwcontext_opencl.h
 +  Add AV_HWDEVICE_TYPE_OPENCL and a new installed header with
 +  OpenCL-specific hwcontext definitions.
 +
 +2017-11-22 - a050f56c09 - lavu 55.1.100 - pixfmt.h
 +  Add AV_PIX_FMT_OPENCL.
 +
 +2017-11-11 - 48e4eda11d - lavc 58.3.100 - avcodec.h
    Add avcodec_get_hw_frames_parameters().
  
 -2017-xx-xx - xxxxxxx - lavu 56.6.0 - pixdesc.h
 +-------- 8< --------- FFmpeg 3.4 was cut here -------- 8< ---------
 +
 +2017-09-28 - b6cf66ae1c - lavc 57.106.104 - avcodec.h
 +  Add AV_PKT_DATA_A53_CC packet side data, to export closed captions
 +
 +2017-09-27 - 7aa6b8a68f - lavu 55.77.101 / lavu 55.31.1 - frame.h
 +  Allow passing the value of 0 (meaning "automatic") as the required alignment
 +  to av_frame_get_buffer().
 +
 +2017-09-27 - 522f877086 - lavu 55.77.100 / lavu 55.31.0 - cpu.h
 +  Add av_cpu_max_align() for querying maximum required data alignment.
 +
 +2017-09-26 - b1cf151c4d - lavc 57.106.102 - avcodec.h
 +  Deprecate AVCodecContext.refcounted_frames. This was useful for deprecated
 +  API only (avcodec_decode_video2/avcodec_decode_audio4). The new decode APIs
 +  (avcodec_send_packet/avcodec_receive_frame) always work with reference
 +  counted frames.
 +
 +2017-09-21 - 6f15f1cdc8 - lavu 55.76.100 / 56.6.0 - pixdesc.h
    Add av_color_range_from_name(), av_color_primaries_from_name(),
    av_color_transfer_from_name(), av_color_space_from_name(), and
    av_chroma_location_from_name().
@@@ -313,24 -306,24 +313,25 @@@ static int decode_buffering_period(H264
  static int decode_frame_packing_arrangement(H264SEIFramePacking *h,
                                              GetBitContext *gb)
  {
 -    get_ue_golomb(gb);              // frame_packing_arrangement_id
 -    h->present = !get_bits1(gb);
 +    h->frame_packing_arrangement_id          = get_ue_golomb_long(gb);
 +    h->frame_packing_arrangement_cancel_flag = get_bits1(gb);
 +    h->present = !h->frame_packing_arrangement_cancel_flag;
  
      if (h->present) {
 -        h->arrangement_type = get_bits(gb, 7);
 -        h->quincunx_subsampling           = get_bits1(gb);
 +        h->frame_packing_arrangement_type = get_bits(gb, 7);
 +        h->quincunx_sampling_flag         = get_bits1(gb);
          h->content_interpretation_type    = get_bits(gb, 6);
  
-         // the following skips: spatial_flipping_flag, frame0_flipped_flag,
-         // field_views_flag, current_frame_is_frame0_flag,
+         // spatial_flipping_flag, frame0_flipped_flag, field_views_flag
+         skip_bits(gb, 3);
+         h->current_frame_is_frame0_flag = get_bits1(gb);
          // frame0_self_contained_flag, frame1_self_contained_flag
-         skip_bits(gb, 6);
+         skip_bits(gb, 2);
  
 -        if (!h->quincunx_subsampling && h->arrangement_type != 5)
 +        if (!h->quincunx_sampling_flag && h->frame_packing_arrangement_type != 5)
              skip_bits(gb, 16);      // frame[01]_grid_position_[xy]
          skip_bits(gb, 8);           // frame_packing_arrangement_reserved_byte
 -        get_ue_golomb(gb);          // frame_packing_arrangement_repetition_period
 +        h->frame_packing_arrangement_repetition_period = get_ue_golomb_long(gb);
      }
      skip_bits1(gb);                 // frame_packing_arrangement_extension_flag
  
@@@ -119,12 -105,10 +119,13 @@@ typedef struct H264SEIBufferingPeriod 
  
  typedef struct H264SEIFramePacking {
      int present;
 -    int arrangement_type;
 +    int frame_packing_arrangement_id;
 +    int frame_packing_arrangement_cancel_flag;  ///< is previous arrangement canceled, -1 if never received
 +    H264_SEI_FpaType frame_packing_arrangement_type;
 +    int frame_packing_arrangement_repetition_period;
      int content_interpretation_type;
 -    int quincunx_subsampling;
 +    int quincunx_sampling_flag;
+     int current_frame_is_frame0_flag;
  } H264SEIFramePacking;
  
  typedef struct H264SEIDisplayOrientation {
@@@ -1233,7 -1112,13 +1233,14 @@@ static int h264_export_frame_props(H264
  
          if (fp->content_interpretation_type == 2)
              stereo->flags = AV_STEREO3D_FLAG_INVERT;
 -        if (fp->arrangement_type == 5) {
++        if (fp->frame_packing_arrangement_type == 5) {
+             if (fp->current_frame_is_frame0_flag)
+                 stereo->view = AV_STEREO3D_VIEW_LEFT;
+             else
+                 stereo->view = AV_STEREO3D_VIEW_RIGHT;
+         }
 +        }
      }
  
      if (h->sei.display_orientation.present &&
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
   * @{
   */
  
 -#define LIBAVUTIL_VERSION_MAJOR 56
 -#define LIBAVUTIL_VERSION_MINOR  7
 -#define LIBAVUTIL_VERSION_MICRO  0
 +#define LIBAVUTIL_VERSION_MAJOR  56
- #define LIBAVUTIL_VERSION_MINOR   3
++#define LIBAVUTIL_VERSION_MINOR   4
 +#define LIBAVUTIL_VERSION_MICRO 100
  
  #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                 LIBAVUTIL_VERSION_MINOR, \
index 4922d52,0000000..cc096c6
mode 100644,000000..100644
--- /dev/null
@@@ -1,125 -1,0 +1,125 @@@
- 0,          0,          0,       33,     2108, 0x59b92a34, S=2,     1900, 0x8fb3adc5,        8, 0x00000000
 +#tb 0: 1/1000
 +#media_type 0: video
 +#codec_id 0: vp8
 +#dimensions 0: 320x213
 +#sar 0: 1/1
++0,          0,          0,       33,     2108, 0x59b92a34, S=2,     1900, 0x8fb3adc5,       12, 0x00000000
 +0,         32,         32,       33,      142, 0x2f2a3fed, F=0x0, S=1,      160, 0xa13346af
 +0,         65,         65,       33,      157, 0x17804767, F=0x0, S=1,      209, 0x64115f15
 +0,         99,         99,       33,      206, 0x537262ca, F=0x0, S=1,      317, 0x44a09dd0
 +0,        132,        132,       33,      259, 0x73ff74b6, F=0x0, S=1,      384, 0x2ee2c588
 +0,        165,        165,       33,      320, 0x0fcf8ce4, F=0x0, S=1,      415, 0xff68c953
 +0,        199,        199,       33,      377, 0x8fffb5f5, F=0x0, S=1,      475, 0x4166f3eb
 +0,        232,        232,       33,      407, 0xe476c19e, F=0x0, S=1,      193, 0x3ff75489
 +0,        265,        265,       33,      539, 0x90202334, F=0x0, S=1,      681, 0x776656b0
 +0,        299,        299,       33,      560, 0xc6e2168d, F=0x0, S=1,      585, 0xddc81b8a
 +0,        332,        332,       33,      597, 0x201a32a7, F=0x0, S=1,      574, 0x8baa1d65
 +0,        365,        365,       33,      770, 0xab2b8891, F=0x0, S=1,      666, 0xcd8e51eb
 +0,        399,        399,       33,      708, 0xc2386711, F=0x0, S=1,      706, 0x046b6444
 +0,        432,        432,       33,      905, 0x7211c52d, F=0x0, S=1,      814, 0x5e288def
 +0,        465,        465,       33,      770, 0xda4f8574, F=0x0, S=1,      829, 0xa0e8a949
 +0,        499,        499,       33,      955, 0xf9a1d77a, F=0x0, S=1,      857, 0x9b63b955
 +0,        532,        532,       33,      970, 0xff4de39a, F=0x0, S=1,      153, 0x3b00416c
 +0,        565,        565,       33,      978, 0x12bcf81f, F=0x0, S=1,     1181, 0xce175555
 +0,        599,        599,       33,     1233, 0x2903744a, F=0x0, S=1,      860, 0x737eb566
 +0,        632,        632,       33,     1118, 0x7f274f50, F=0x0, S=1,      933, 0xb669c6b6
 +0,        665,        665,       33,      941, 0x6bffd4b1, F=0x0, S=1,     1058, 0x07581cee
 +0,        699,        699,       33,     1598, 0xc007219f, F=0x0, S=1,      939, 0x2c0bdc45
 +0,        732,        732,       33,     1218, 0x25d962b6, F=0x0, S=1,     1090, 0x96482341
 +0,        765,        765,       33,     1200, 0x86b85be3, F=0x0, S=1,      189, 0x3f085309
 +0,        799,        799,       33,     1329, 0x298a848a, F=0x0, S=1,     1426, 0x6ea3df12
 +0,        832,        832,       33,     1500, 0xe437edec, F=0x0, S=1,     1244, 0x32836b8d
 +0,        865,        865,       33,     1288, 0xc4447dd5, F=0x0, S=1,     1289, 0x06a57b0f
 +0,        899,        899,       33,     1281, 0xb5bf7e9f, F=0x0, S=1,     1227, 0xd96d5697
 +0,        932,        932,       33,     1372, 0x09be9014, F=0x0, S=1,     1556, 0x2630fbff
 +0,        965,        965,       33,     1238, 0x42ce6316, F=0x0, S=1,     1287, 0x1d3084f6
 +0,        999,        999,       33,     1655, 0xb94b45c2, F=0x0, S=1,     1494, 0x34dbd1a4
 +0,       1032,       1032,       33,     1164, 0xf6b93ad0, F=0x0, S=1,     1337, 0xba6d9673
 +0,       1065,       1065,       33,     1084, 0x58c50fb5, F=0x0, S=1,     1384, 0x3fabb82b
 +0,       1099,       1099,       33,     1151, 0x0b3f3359, F=0x0, S=1,     1353, 0x08e2a1d7
 +0,       1132,       1132,       33,     1277, 0xa3ae77e1, F=0x0, S=1,     1409, 0xf65cb9f7
 +0,       1165,       1165,       33,      782, 0xdcf671ff, F=0x0, S=1,     1408, 0x01e2ac53
 +0,       1199,       1199,       33,      926, 0xe913c286, F=0x0, S=1,     1320, 0x32e38e42
 +0,       1232,       1232,       33,      970, 0x3d86e5ae, F=0x0, S=1,     1608, 0x40b52618
 +0,       1265,       1265,       33,     1353, 0xe4f197b2, F=0x0, S=1,     1272, 0xf1d272a5
 +0,       1299,       1299,       33,      685, 0x629b4ce4, F=0x0, S=1,     1257, 0x14845de9
 +0,       1332,       1332,       33,      743, 0x6f1172a3, F=0x0, S=1,     1260, 0xa6c66fda
 +0,       1365,       1365,       33,      789, 0x94fc84cd, F=0x0, S=1,     1009, 0x7daaf2b0
 +0,       1399,       1399,       33,     1460, 0x668adb82, F=0x0, S=1,      944, 0x44b6ccf5
 +0,       1432,       1432,       33,      766, 0x49c884ef, F=0x0, S=1,      996, 0x8646e6dd
 +0,       1465,       1465,       33,     1037, 0x24831498, F=0x0, S=1,      983, 0x14a9e7a6
 +0,       1499,       1499,       33,      943, 0x1f53d180, F=0x0, S=1,     1107, 0x02f72acb
 +0,       1532,       1532,       33,     1152, 0xbf6a35ae, F=0x0, S=1,     1026, 0xd57afda0
 +0,       1565,       1565,       33,      730, 0x42806abf, F=0x0, S=1,     1029, 0xfb0402d5
 +0,       1599,       1599,       33,      975, 0xa5ffec57, F=0x0, S=1,     1081, 0xe2890cea
 +0,       1632,       1632,       33,      970, 0xbe8ee224, F=0x0, S=1,     1151, 0x7b0d3b20
 +0,       1665,       1665,       33,     1012, 0x20c6f0d8, F=0x0, S=1,      979, 0xc25cd69c
 +0,       1699,       1699,       33,      874, 0x1a2fb4da, F=0x0, S=1,      943, 0xdb2dc9f8
 +0,       1732,       1732,       33,      869, 0xab0caf3d, F=0x0, S=1,      934, 0x48b9bfcc
 +0,       1765,       1765,       33,      863, 0xd8caa2e5, F=0x0, S=1,      874, 0x0b34b026
 +0,       1799,       1799,       33,     1246, 0x47866cdc, F=0x0, S=1,      818, 0x0c908eeb
 +0,       1832,       1832,       33,      742, 0xa6296ac1, F=0x0, S=1,      921, 0x97b6b053
 +0,       1865,       1865,       33,      828, 0x0b568d7a, F=0x0, S=1,      969, 0x3314dbfa
 +0,       1899,       1899,       33,      825, 0x6d329394, F=0x0, S=1,      982, 0x5f66e68c
 +0,       1932,       1932,       33,      836, 0x8ace8dfb, F=0x0, S=1,      929, 0x9ffdc2fd
 +0,       1965,       1965,       33,     1774, 0xd4686726, F=0x0, S=1,      909, 0x11a9c07a
 +0,       1999,       1999,       33,     1803, 0x08c879ce, F=0x0, S=1,     1525, 0x1e11f02f
 +0,       2032,       2032,       33,      518, 0x7c32fc72, F=0x0, S=1,      785, 0xfc1f792a
 +0,       2065,       2065,       33,      790, 0x3dac8aa0, F=0x0, S=1,      876, 0x0918c88d
 +0,       2099,       2099,       33,      927, 0x4feccb24, F=0x0, S=1,     1059, 0xbcaa05c7
 +0,       2132,       2132,       33,      835, 0x29d39266, F=0x0, S=1,      980, 0x4913e409
 +0,       2165,       2165,       33,      951, 0xc1dddd12, F=0x0, S=1,     1041, 0x0541047e
 +0,       2199,       2199,       33,      876, 0x2f6eb89d, F=0x0, S=1,      949, 0x2d56c53b
 +0,       2232,       2232,       33,      959, 0xf0dedabd, F=0x0, S=1,     1022, 0x8d33f5fa
 +0,       2265,       2265,       33,      860, 0x9274ab39, F=0x0, S=1,     1061, 0x289c0132
 +0,       2299,       2299,       33,      863, 0x7058ba30, F=0x0, S=1,      940, 0x1f32d4a3
 +0,       2332,       2332,       33,     1021, 0xcabdf84f, F=0x0, S=1,      887, 0xda8ab95e
 +0,       2365,       2365,       33,      897, 0x9867c8e8, F=0x0, S=1,      840, 0xd93eaaf5
 +0,       2399,       2399,       33,      897, 0x6a16b5db, F=0x0, S=1,      977, 0x7b77dc9b
 +0,       2432,       2432,       33,      953, 0xe9b4cf1f, F=0x0, S=1,      921, 0x75a8ca45
 +0,       2465,       2465,       33,      847, 0x0335ad37, F=0x0, S=1,     1000, 0x2691f3bd
 +0,       2499,       2499,       33,      902, 0x3360b315, F=0x0, S=1,     1008, 0xd5e1deb6
 +0,       2532,       2532,       33,      881, 0xf5309d59, F=0x0, S=1,     1113, 0xdbef3065
 +0,       2565,       2565,       33,      974, 0x7c2de3ce, F=0x0, S=1,     1086, 0x365626bb
 +0,       2599,       2599,       33,      974, 0xf42bd9f5, F=0x0, S=1,     1039, 0xa7e9060d
 +0,       2632,       2632,       33,     1029, 0x7c33f4d0, F=0x0, S=1,     1041, 0xf4affa59
 +0,       2665,       2665,       33,      881, 0x9021a565, F=0x0, S=1,     1039, 0xc1e00521
 +0,       2699,       2699,       33,     1157, 0xe1c136f7, F=0x0, S=1,      917, 0x357ac7d3
 +0,       2732,       2732,       33,      649, 0xdffb3cb7, F=0x0, S=1,      976, 0xa386e05e
 +0,       2765,       2765,       33,      758, 0xb67875f3, F=0x0, S=1,     1041, 0xae4e0a63
 +0,       2799,       2799,       33,     1105, 0x8ffb1a26, F=0x0, S=1,      962, 0x211ddc5e
 +0,       2832,       2832,       33,      866, 0xa60eb2d9, F=0x0, S=1,      929, 0xe9e4c84b
 +0,       2865,       2865,       33,      912, 0xcd34bf9b, F=0x0, S=1,      946, 0xfce9d359
 +0,       2899,       2899,       33,      868, 0x5651a343, F=0x0, S=1,      809, 0x624a8ef9
 +0,       2932,       2932,       33,      997, 0xfa66eaeb, F=0x0, S=1,      992, 0xc913e5e2
 +0,       2965,       2965,       33,     1111, 0x3f272497, F=0x0, S=1,     1007, 0xf78ee6a7
 +0,       2999,       2999,       33,      842, 0xe442999f, F=0x0, S=1,      972, 0x25a0d25c
 +0,       3032,       3032,       33,     1030, 0x6f97ffad, F=0x0, S=1,      993, 0x4059fd6b
 +0,       3065,       3065,       33,     1176, 0x66e64926, F=0x0, S=1,      951, 0x2762cdf1
 +0,       3099,       3099,       33,      803, 0xfd1699cb, F=0x0, S=1,      959, 0x5cf9d56c
 +0,       3132,       3132,       33,      972, 0x1cdff00e, F=0x0, S=1,     1023, 0xeaf20900
 +0,       3165,       3165,       33,      907, 0x17f8acca, F=0x0, S=1,     1054, 0xeb010c4d
 +0,       3199,       3199,       33,      915, 0x3569b545, F=0x0, S=1,      987, 0x73b2e159
 +0,       3232,       3232,       33,     1021, 0x14c5076a, F=0x0, S=1,     1007, 0x6c4bf7f0
 +0,       3265,       3265,       33,      837, 0xbf86b0ef, F=0x0, S=1,      963, 0xf472d31a
 +0,       3299,       3299,       33,      885, 0x1caac123, F=0x0, S=1,     1052, 0x2b7bfd20
 +0,       3332,       3332,       33,     1355, 0x299e8d3c, F=0x0, S=1,      858, 0x2bbca3f0
 +0,       3365,       3365,       33,      784, 0xb0bd7e9d, F=0x0, S=1,      969, 0xc865dc00
 +0,       3399,       3399,       33,      991, 0xbc7ddda9, F=0x0, S=1,     1028, 0x801b00a6
 +0,       3432,       3432,       33,      986, 0xb356f6b1, F=0x0, S=1,     1056, 0x8b840add
 +0,       3465,       3465,       33,      978, 0x94a3e87e, F=0x0, S=1,     1018, 0xe766fa52
 +0,       3499,       3499,       33,      976, 0x55ddd14a, F=0x0, S=1,      992, 0x58a9ddfe
 +0,       3532,       3532,       33,     1241, 0x1ec867f7, F=0x0, S=1,      966, 0xa329e84f
 +0,       3565,       3565,       33,      975, 0xecf5dbb3, F=0x0, S=1,      899, 0xa7539f4d
 +0,       3599,       3599,       33,     1129, 0xb7243037, F=0x0, S=1,     1057, 0xbd0d10bd
 +0,       3632,       3632,       33,      913, 0xe5f1d03d, F=0x0, S=1,     1092, 0xeb9621f8
 +0,       3665,       3665,       33,      943, 0x87d0ed78, F=0x0, S=1,     1057, 0x079c1054
 +0,       3699,       3699,       33,      917, 0x536cc3fd, F=0x0, S=1,      946, 0xd2b9d0e2
 +0,       3732,       3732,       33,      892, 0x4dffb1e2, F=0x0, S=1,      930, 0x70c9cc40
 +0,       3765,       3765,       33,      957, 0x1a98e71c, F=0x0, S=1,      719, 0x6fec614a
 +0,       3799,       3799,       33,      893, 0xf405b2c3, F=0x0, S=1,      821, 0x63529cab
 +0,       3832,       3832,       33,      978, 0xa0a8d5f6, F=0x0, S=1,      745, 0x3c616219
 +0,       3865,       3865,       33,      887, 0xfa7cb65d, F=0x0, S=1,      768, 0xb8f07885
 +0,       3899,       3899,       33,      867, 0xd808ade7, F=0x0, S=1,      783, 0xf82b6b9a
 +0,       3932,       3932,       33,     1068, 0x6f8b135a, F=0x0, S=1,      807, 0x52028d50
 +0,       3965,       3965,       33,     2010, 0x536fe0b6, F=0x0, S=1,     1512, 0x690aeb55