New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 661350 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 777555



Sign in to add a comment

Re-deprecate ffmpeg avcodec_decode_audio4 and avcodec_decode_video2

Project Member Reported by wolenetz@chromium.org, Nov 1 2016

Issue description

During current FFmpeg M56 roll work ( bug 591845 ), these two methods are now deprecated in upstream but are temporarily undeprecated in our Chromium ffmpeg downstream.

This bug tracks updating our Chromium downstream to instead use avcodec_send_packet() and avcodec_receive_frame().

 
Need to confirm with Chrom* WebRTC folks, but it doesn't look like Chrom* calls the also-deprecated *encode* APIs directly. Note that the *new* encode API actually emulates in some cases using the old API, so deprecation warnings occur within compile of autorename_libavcodec_utils.o (these aren't errors though, since they're internal in ffmpeg):

In file included from ../../third_party/ffmpeg/libavcodec/autorename_libavcodec_utils.c:2:
../../third_party/ffmpeg/libavcodec/utils.c:2951:15: warning: 'avcodec_encode_video2' is deprecated [-Wdeprecated-declarations]
        ret = avcodec_encode_video2(avctx, avctx->internal->buffer_pkt,
              ^
../../third_party/ffmpeg/libavcodec/utils.c:1960:25: note: 'avcodec_encode_video2' has been explicitly marked deprecated here
int attribute_align_arg avcodec_encode_video2(AVCodecContext *avctx,
                        ^
../../third_party/ffmpeg/libavcodec/utils.c:2954:15: warning: 'avcodec_encode_audio2' is deprecated [-Wdeprecated-declarations]
        ret = avcodec_encode_audio2(avctx, avctx->internal->buffer_pkt,
              ^
../../third_party/ffmpeg/libavcodec/utils.c:1808:25: note: 'avcodec_encode_audio2' has been explicitly marked deprecated here
int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx,
                        ^
2 warnings generated.

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6

commit cfd33cef4f1a51ba612d28504c6f76e1dfe588a6
Author: wolenetz <wolenetz@chromium.org>
Date: Fri Nov 18 03:49:09 2016

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}

[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/DEPS
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/chrome/test/data/extensions/api_test/media_galleries/media_metadata/test.js
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/base/audio_video_metadata_extractor.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/base/audio_video_metadata_extractor_unittest.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/base/media_file_checker.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/cast/test/fake_media_source.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/cast/test/fake_media_source.h
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/ffmpeg/ffmpeg_common.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/ffmpeg/ffmpeg_common.h
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/ffmpeg/ffmpeg_common_unittest.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/ffmpeg/ffmpeg_regression_tests.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/audio_file_reader.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/audio_file_reader.h
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_aac_bitstream_converter.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_aac_bitstream_converter.h
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_audio_decoder.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_demuxer.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_demuxer_unittest.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_glue.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_glue_unittest.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.h
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_h265_to_annex_b_bitstream_converter.cc
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/filters/ffmpeg_h265_to_annex_b_bitstream_converter.h
[modify] https://crrev.com/cfd33cef4f1a51ba612d28504c6f76e1dfe588a6/media/test/pipeline_integration_test.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 29 2016

Labels: merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a5a5be6147fa4c83d3010e9ef8c6617e232d9019

commit a5a5be6147fa4c83d3010e9ef8c6617e232d9019
Author: Matt Wolenetz <wolenetz@chromium.org>
Date: Tue Nov 29 23:35:12 2016

To M56: 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}
(cherry picked from commit cfd33cef4f1a51ba612d28504c6f76e1dfe588a6)

Review URL: https://codereview.chromium.org/2534193003 .

Cr-Commit-Position: refs/branch-heads/2924@{#172}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/DEPS
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/chrome/test/data/extensions/api_test/media_galleries/media_metadata/test.js
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/base/audio_video_metadata_extractor.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/base/audio_video_metadata_extractor_unittest.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/base/media_file_checker.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/cast/test/fake_media_source.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/cast/test/fake_media_source.h
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/ffmpeg/ffmpeg_common.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/ffmpeg/ffmpeg_common.h
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/ffmpeg/ffmpeg_common_unittest.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/ffmpeg/ffmpeg_regression_tests.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/audio_file_reader.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/audio_file_reader.h
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_aac_bitstream_converter.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_aac_bitstream_converter.h
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_audio_decoder.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_demuxer.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_demuxer_unittest.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_glue.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_glue_unittest.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter.h
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_h265_to_annex_b_bitstream_converter.cc
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/filters/ffmpeg_h265_to_annex_b_bitstream_converter.h
[modify] https://crrev.com/a5a5be6147fa4c83d3010e9ef8c6617e232d9019/media/test/pipeline_integration_test.cc

Labels: -M-56 M-57
Blockedon: -591845
Blocking: 673919
Cc: dalecur...@chromium.org wolenetz@chromium.org
Owner: hubbe@chromium.org
=> hubbe@ to take a look at re-deprecating the old {en,de}code API usage in M-57 ffmpeg roll ( bug 673919 ).
Owner: liber...@chromium.org
=> liberato@'s doing the M-57 roll instead.
Frank, if this doesn't fit on your plate for M-57, please re-assign back to me. IMHO, this re-deprecation is lower-pri at the moment. Don't let it block the M-57 roll by itself.
Cc: liber...@chromium.org
Labels: -M-57 -merge-merged-2924 M-58
Owner: hubbe@chromium.org
Over to hubbe@ per discussion for doing during M-58 roll.

Comment 9 by hubbe@chromium.org, Mar 11 2017

Cc: hubbe@chromium.org
Owner: tguilbert@chromium.org
Unfortunately I did not get around to this during my roll.
Rolling along...

Blocking: -673919 777555
Labels: -M-58 M-64
Owner: dalecur...@chromium.org
Components: Blink>WebRTC
+WebRTC folks since https://cs.chromium.org/chromium/src/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc will need to be converted too.

https://chromium-review.googlesource.com/c/chromium/src/+/738626 shows what this looks like if any of the WebRTC folk want to pick this up (see FFmpegDecodingLoop).
Cc: hbos@chromium.org
cc:hbos directly for c#11 too.

Comment 13 by hbos@chromium.org, Oct 30 2017

Cc: sprang@chromium.org
cc:sprang for c#11.
Cc: ssilkin@chromium.org
cc:ssilkin for c#11
Project Member

Comment 15 by bugdroid1@chromium.org, Nov 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/cd88e5b9db99ed1eddd27d264b49d56244607e83

commit cd88e5b9db99ed1eddd27d264b49d56244607e83
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Thu Nov 02 17:47:43 2017

Cleanup unused sigs, add av_frame_clone() sig.

Prepares the way for deprecating the old decoder APIs in
favor of the new ones. WebRTC still uses the old FFmpeg
decoder API and it's unclear if the third party project
can depend on the new APIs yet.

BUG= 661350 
TEST=none

Change-Id: Icaa64d868139cb895a0b27cc61edf6fcfb09e8dd
Reviewed-on: https://chromium-review.googlesource.com/745315
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>

[modify] https://crrev.com/cd88e5b9db99ed1eddd27d264b49d56244607e83/chromium/ffmpeg.sigs

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/c33a5ee8e7b013b43e7fa9e0224857abc21564c2

commit c33a5ee8e7b013b43e7fa9e0224857abc21564c2
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Thu Nov 02 20:09:50 2017

Add send/receive frame function signatures for Windows.

BUG= 661350 
TEST=none

Change-Id: I53fa74c19bcdeb22734dd65a87ca8b23b52f06f7
Reviewed-on: https://chromium-review.googlesource.com/752032
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>

[modify] https://crrev.com/c33a5ee8e7b013b43e7fa9e0224857abc21564c2/chromium/ffmpeg.sigs

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f57237995f7921b4dcd8855f1f6fe98874218d2

commit 9f57237995f7921b4dcd8855f1f6fe98874218d2
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Fri Nov 03 04:55:26 2017

Switch to new ffmpeg decoder APIs.

The old avcodec_decode_xxx APIs for audio and video are
deprecated. So switch to the new generic send packet +
receive frame APIs. These are generic enough that I was
able to create a new FFmpegDecodingLoop class which now
powers all of our ffmpeg based decoders.

Requires DEPS Roll src/third_party/ffmpeg/ f9e8b4275..c33a5ee8e (7 commits)
    
https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/f9e8b4275837..c33a5ee8e7b0
    
$ git log f9e8b4275..c33a5ee8e --date=short --no-merges --format='%ad %ae %s'
2017-11-02 dalecurtis Add send/receive frame function signatures for Windows.
2017-10-30 dalecurtis Cleanup unused sigs, add av_frame_clone() sig.
2017-10-31 dalecurtis Revert intmath.h changes, seem no longer necessary.
2017-10-31 dalecurtis Remove xcode hack file; no longer needed.
2017-10-25 dalecurtis Remove SUINT customization from flacdsp, already done in internal.h
2017-10-24 chcunningham Update FFmpeg configuration to add common support for mp3/mov.
2017-10-23 dalecurtis Fix erroneous presubmit when README is after affected files.

BUG= 661350 
TEST=all existing tests pass.

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I454a601734d511627d5be11ee15f679a50be37c2
Reviewed-on: https://chromium-review.googlesource.com/738626
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513690}
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/DEPS
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/cast/test/fake_media_source.cc
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/cast/test/fake_media_source.h
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.h
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.h
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/ffmpeg/BUILD.gn
[add] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/ffmpeg/ffmpeg_decoding_loop.cc
[add] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/ffmpeg/ffmpeg_decoding_loop.h
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/audio_file_reader.cc
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/audio_file_reader.h
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/ffmpeg_audio_decoder.cc
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/ffmpeg_audio_decoder.h
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/ffmpeg_video_decoder.cc
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/ffmpeg_video_decoder.h
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/ffmpeg_video_decoder_unittest.cc
[modify] https://crrev.com/9f57237995f7921b4dcd8855f1f6fe98874218d2/media/filters/media_file_checker.cc

Last one to cleanup is WebRTC. ssilkin, hobs, sprang. Can one of you own this? We're carrying patches on top of upstream ffmpeg that we'd like to remove.
Owner: ssilkin@chromium.org
=>ssilkin@ per c#19.
Owner: dalecur...@chromium.org
WebRTC is switched to new API.
Thanks ssilkin@, when do you expect to roll WebRTC into Chromium?
Looks like auto-roller needs to be kicked, https://webrtc-chromium-roll.skia.org/ ssiokin@, sprang@, or hbos@ can you kick one? I don't seem to have permission to do so :(
There were some problems with the bot. But the change is rolled eventually. https://webrtc.googlesource.com/src.git/+log/5c24c67fd263..8c34a824b458
Status: Fixed (was: Assigned)

Sign in to add a comment