Roll src/third_party/ffmpeg/ 3c7a09882..cdf4accee (3188 commits).

https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/3c7a09882102..cdf4acceee58

$ git log 3c7a09882..cdf4accee --date=short --no-merges --format='%ad %ae %s'
2016-11-17 wolenetz Enable windows Chrom* build including lavf/wavdec.c
2016-11-17 wolenetz Updating build configs for M56 roll.
2016-11-17 wolenetz Disable nvenc autodetection by configure in build_ffmpeg.py
2016-11-16 wolenetz Remove deprecated munge script
2016-11-16 wolenetz build_ffmpeg on win: ignore unresolved symbols when linking
2016-11-16 wolenetz Update win_env.sh vs_files folder
2016-11-16 wolenetz Enable mac build_ffmpeg of lavf/wavdec.c
2016-11-16 wolenetz Enable mac build_ffmpeg to find external libopus symbols
2016-11-15 wolenetz Return to previous mips minimum ISA logic in configure
2016-10-25 thakis win: Remove VS2013 checks now that we require VS2015.
2016-11-15 wolenetz Enable FLAC in all Chrom* ffmpeg brandings
2016-11-15 wolenetz Remove the downstream patch for WinXP support
2016-11-15 wolenetz Drop obsolete 'arm' android TARGET_ARCH
2016-11-15 wolenetz Force HAVE_POSIX_MEMALIGN to be 0 in config.h for android in build_ffmpeg.py
2016-11-15 wolenetz Force HAVE_VALGRIND_VALGRIND_H to be 0 in build_ffmpeg.py
2016-11-11 wolenetz Update chromium/ffmpeg.sigs
2016-11-03 wolenetz Fix UAF in lavf/matroskadec.c if matroska_parse_tracks() fails
2016-11-01 wolenetz Temporarily undeprecate old ffmpeg A/V decode API
2016-11-01 wolenetz Update generate_gn.py to ignore generated bsf_list.c and protocol_list.c
2016-11-01 wolenetz Include generated bsf_list.c and protocol_list.c in configs
2016-10-28 wolenetz Update chromium/patches/README w.r.t. sidx revert patch
2016-10-25 wolenetz Chromium patch and README updates
2016-10-25 thakis win: Remove VS2013 checks now that we require VS2015.
2016-10-25 cehoyos lavc/utvideoenc: Set bits_per_coded_sample for rgba.
2016-10-25 michael avcodec/interplayvideo: Check side data size before use
2016-10-25 michael avcodec/ffv1enc: Fix storing RGB48 without explicitly set level
2016-10-18 vittorio.giovara vf_colorspace: Add support for iec61966-2.1 (sRGB) transfer
2016-10-24 rsbultje vf_colorspace: don't spam console with warnings if range is unspecified.
2016-10-14 rsbultje vp9: change order of operations in adapt_prob().
2016-01-07 rodger.combs lavf/mov: reindent
2016-01-07 rodger.combs lavf/mov: improve `tref/chap` chapter handling
2016-10-24 rodger.combs lavf: add AV_DISPOSITION_TIMED_THUMBNAILS
2016-04-28 rodger.combs fate/hevc: add automatic bsf test
2016-04-15 rodger.combs fate/aac: add automatic bsf test
2016-04-15 rodger.combs fate/h264: make mp4toannexb test use auto-BSF
2016-09-09 rodger.combs lavf/rawenc: add automatic bitstream filtering for H264+HEVC
2016-04-07 rodger.combs lavf/movenc+dashenc: add automatic bitstream filtering
2016-04-07 rodger.combs lavf/dashenc: add deinit function
2016-04-07 rodger.combs lavf/movenc: add deinit function
2016-04-07 rodger.combs lavf/segment: fix writing separate header with auto BSF
2016-04-07 rodger.combs lavf/segment: add deinit function
2016-06-24 rodger.combs lavf/mux: add avformat_init_output
2016-10-24 rodger.combs MAINTAINERS: add myself for audiotoolbox
2016-10-03 rodger.combs ffprobe: report field order for video streams
2016-10-03 rodger.combs lavc/utils: avcodec_string: dump field order when known
2016-10-03 rodger.combs lavc/h264_parser: export field order in more cases
2016-09-20 rodger.combs lavc/parser: export field order if not already set
2016-10-23 u lavfi: remove 2 unused lavc includes
2016-10-23 michael avutil/x86/emms: Document the emms_c() vs alloc/free relation.
2016-10-22 Andreas.Cadhalpun faq: use relative links to own documentation
2016-10-10 zhouxiaoyong avcodec/mips: loongson optimize mmi load and store operators
2016-10-10 zhouxiaoyong avutil/mips: loongson add mmi utils header file
2016-10-22 carlos lavf/mpegts: add missed fixes to scte35 section callback
2016-10-22 philipl avcodec/cuvid: Allow reinitialization of decoder
2016-10-17 jamrial avformat/matroskaenc: write DisplayWidth and DisplayHeight elements only if they differ from PixelWidth and PixelHeight
2016-10-22 Andreas.Cadhalpun mpegts: handle AVMEDIA_TYPE_UNKNOWN correctly
2016-10-21 michael avutil/avassert: Add av_assertX_fpu()
2016-10-21 michael avcodec/snowenc: Clear MMX state after edge drawing and picture encode
2016-10-21 michael avcodec/mpegvideo_enc: Add missing emms_c() to clear MMX state after SIMD use
2016-10-21 michael avcodec/utils: Move emms_c() before memory allocation functions in avcodec_encode_video2()
2016-10-21 michael avcodec/cavsdec: Clear MMX state after MB decode loop
2016-10-21 michael avcodec/svq1enc: Clear MMX state after svq1_encode_plane()
2016-10-22 cehoyos lavf/rtpdec_g726: Map mime type G726 to g726le.
2016-10-20 kagami lavc/libvpxenc: fix -auto-alt-ref option type
2016-10-21 dalecurtis Enable libopus builds within build_ffmpeg.py
2016-10-13 Andreas.Cadhalpun doc: fix spelling errors
2016-10-18 carlos lavf/mpegts: SCTE-35 extraction from mpegts
2016-10-18 carlos lavc: add SCTE-35 CUI codec ID
2016-10-13 cus lavd/decklink_dec: fix indentation
2016-10-13 cus lavd/decklink_dec: add option to disable drawing bars on signal loss
2016-10-21 michael avformat/mxfdec: Check size to avoid integer overflow in mxf_read_utf16_string()
2016-10-21 michael avformat/mxfdec: Fix mixed declaration and code
2016-10-20 Andreas.Cadhalpun mpeg12dec: unref discarded picture from extradata
2016-10-20 Andreas.Cadhalpun cavsdec: unref frame before referencing again
2016-10-20 Andreas.Cadhalpun dcstr: fix division by zero
2016-10-20 Andreas.Cadhalpun aiff: check block_align in aiff_read_packet
2016-10-12 lq avcodec/vda: define av_vda_default_init2 when CONFIG_H264_VDA_HWACCEL equ 0
2016-10-12 oyama avformat/rtmpproto: Fix RTMP control message handling error in listen mode.
2016-10-21 michael avcodec/mpegvideo_enc: Clear mmx state in ff_mpv_reallocate_putbitbuffer()
2016-10-21 michael avcodec/utils: Clear MMX state before returning from avcodec_default_execute*()
2016-10-21 michael avcodec/dnxhdenc: Move allocation out of radix_sort()
2016-10-06 rodger.combs lavf/segment: decide whether to rename based on list URI
2016-10-10 protogonoi openssl: Support version 1.1.0.
2016-09-21 mindmark tests/fate: add mxf metadata streams test
2016-09-21 mindmark libavformat/mxfdec: add metadata streams for external referenced sourclips
2016-09-21 mindmark libavformat/mxfdec: don't assume first stream index to be primary
2016-09-21 mindmark libavformat/mxfdec: export track name metadata
2016-10-19 t.rapp avformat/mxfdec: Detect field_order based on video_line_map
2016-10-19 Andreas.Cadhalpun rsd: limit number of channels
2016-10-20 h.leppkes dxva2: fix surface selection when compiled with both d3d11va and dxva2
2016-10-12 lq avformat/flvenc: do not attempt to write duration and filesize when not seekable
2016-10-18 cehoyos lavc/sheervideo: Increase av_get_codec_tag_string() input buffer size.
2016-10-19 mfcc64 avfilter/firequalizer: use zero phase kernel
2016-10-19 mfcc64 avfilter/showcqt: add cscheme option
2016-10-19 cehoyos lavf/riff: Document the interleaving of VSM4 video.
2016-10-19 Andreas.Cadhalpun avformat: prevent triggering request_probe assert in ff_read_packet
2016-10-18 derek.buitenhuis FATE: Add test for muxing discontinuous MP4 fragments with large timestamps
2016-10-18 michael avformat/movenc: Skip duration check for discontinuous fragments
2016-10-18 jean lavf/mov: support gopro hero moments udta tag
2016-10-19 sven.c.dack avfilter/vf_scale_npp: select cubic and lanczos as alternative where super-sampling is not supported
(...)

Roll FFmpeg DEPS for M56

Includes FFmpeg support for Opus audio decode, though disabled in
  FFmpegAudioDecoder until OpusAudioDecoder is removed later.

Updates Chromium parsing and expectations of updated FFmpegUTCDate
  format (it changed from YYYY-MM-DD HH:MM:SS to
  YYYY-MM-DDTHH:MM:SS.xxxxxxZ) used by FFmpegDemuxer's
  ExtractTimelineOffset() helper and related tests. Now uses
  much more lenient base::Time::FromUTCString() for this conversion.

Includes changes to not use deprecated AVStream.codec:
  ScopedPtrAVFreeContext is used instead of ~FFmpegGlue() iterating over
    closing of deprecated AVStream.codec in each stream.
  FFmpegDemuxer, FFmpegDemuxerStream, and various ffmpeg_common updates
    to work using conversion from AVStream.codecpar. Note that
    AVCodecParameters does not include coded_width or coded_height
    information, and AVStream.parser's coded size fields are not
    populated by av_find_stream_info(). We just use the width and
    height as hints of coded size in AVStreamToVideoDecoderConfig().
    AVStreamToVideoDecoderConfig() is also updated to allow 1 less
    invalid extradata case (see bug 517163).
  FFmpeg*BitStreamConverter, callers and related tests changed to use
    AVCodecParameters instead of AVCodecContext.
  AudioFileReader, MediaFileChecker, AudioVideoMetadataExtractor updated
    to work using conversion from AVStream.codecpar. Note that
    AVCodecContext built from an AVCodecParameters does not have its
    time_base populated until after avcodec_open2(), so
    AudioFileReader::SeekForTesting() uses AVStream.time_base instead.
  FakeMediaSource changed to use AVStreamToAVCodecContext helper intead
  of deprecated AVStream.codec, and to use AVFrame.pts instead of
  deprecated AVFrame.pkt_pts.

Updates regressed FFmpeg regression tests:
  Cr222754, CR234630b no longer get PIPELINE_OK when starting the
  pipeline. Test expectations updated.

BUG=591845,517163,264459,93887,590401,604451,590440,661350

Review-Url: https://codereview.chromium.org/2497603003
Cr-Commit-Position: refs/heads/master@{#433075}
27 files changed