Changeset 211046 in webkit


Ignore:
Timestamp:
Jan 23, 2017 11:32:37 AM (7 years ago)
Author:
commit-queue@webkit.org
Message:

[WebRTC] Make VP8 optional in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167257

Patch by Youenn Fablet <youennf@gmail.com> on 2017-01-23
Reviewed by Darin Adler.

Source/ThirdParty/libwebrtc:

Reusing strategy used to have VP9 optional for VP8 codec.

  • CMakeLists.txt: Updated tocompile and link vp8_noop.cc
  • Source/webrtc/media/engine/webrtcvideoengine2.cc:
  • Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h:
  • Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
  • Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc: Added.
  • Source/webrtc/video/video_encoder.cc:

Tools:

  • Scripts/webkitpy/libwebrtc/generate_cmake.py:

(CMakeGenerator.remove_libvpx): Adding vp8_noop.cc to the build system.

Location:
trunk
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/ThirdParty/libwebrtc/CMakeLists.txt

    r211009 r211046  
    156156    ${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/video_receiver.cc
    157157    ${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/video_sender.cc
     158    ${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc
    158159    ${LIBWEBRTC_INPUT_DIR}/webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc)
    159160add_library(WebrtcModulesVideo_CodingVideo_Coding STATIC ${WebrtcModulesVideo_CodingVideo_Coding_SOURCES})
     
    42194220CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/packet.cc.o
    42204221CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/timestamp_map.cc.o
     4222CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc.o
    42214223CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/inter_frame_delay.cc.o
    42224224CMakeFiles/WebrtcModulesVideo_CodingVideo_Coding.dir/Source/webrtc/modules/video_coding/h264_sps_pps_tracker.cc.o
  • trunk/Source/ThirdParty/libwebrtc/ChangeLog

    r211009 r211046  
     12017-01-23  Youenn Fablet  <youennf@gmail.com>
     2
     3        [WebRTC] Make VP8 optional in libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167257
     5
     6        Reviewed by Darin Adler.
     7
     8        Reusing strategy used to have VP9 optional for VP8 codec.
     9
     10        * CMakeLists.txt: Updated tocompile and link vp8_noop.cc
     11        * Source/webrtc/media/engine/webrtcvideoengine2.cc:
     12        * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h:
     13        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
     14        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc: Added.
     15        * Source/webrtc/video/video_encoder.cc:
     16
    1172017-01-20  Youenn Fablet  <youennf@gmail.com>
    218
  • trunk/Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/webrtcvideoengine2.cc

    r210942 r211046  
    116116    RTC_DCHECK(factory_ != NULL);
    117117    // If it's a codec type we can simulcast, create a wrapped encoder.
     118#ifndef RTC_DISABLE_VP8
     119    ASSERT(webrtc::VP8Encoder::IsSupported());
    118120    if (CodecNamesEq(codec.name.c_str(), kVp8CodecName)) {
    119121      return new webrtc::SimulcastEncoderAdapter(
    120122          new EncoderFactoryAdapter(factory_));
    121123    }
     124#endif
    122125    webrtc::VideoEncoder* encoder = factory_->CreateVideoEncoder(codec);
    123126    if (encoder) {
     
    431434std::vector<VideoCodec> DefaultVideoCodecList() {
    432435  std::vector<VideoCodec> codecs;
    433   AddCodecAndMaybeRtxCodec(
     436  if (webrtc::VP8Encoder::IsSupported() && webrtc::VP8Decoder::IsSupported()) {
     437    AddCodecAndMaybeRtxCodec(
    434438      MakeVideoCodecWithDefaultFeedbackParams(kDefaultVp8PlType, kVp8CodecName),
    435439      &codecs);
     440  }
    436441  if (webrtc::VP9Encoder::IsSupported() && webrtc::VP9Decoder::IsSupported()) {
    437442    AddCodecAndMaybeRtxCodec(MakeVideoCodecWithDefaultFeedbackParams(
  • trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h

    r210942 r211046  
    2020class VP8Encoder : public VideoEncoder {
    2121 public:
     22  static bool IsSupported();
    2223  static VP8Encoder* Create();
    2324
     
    2728class VP8Decoder : public VideoDecoder {
    2829 public:
     30  static bool IsSupported();
    2931  static VP8Decoder* Create();
    3032
  • trunk/Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc

    r210942 r211046  
    104104}  // namespace
    105105
     106bool VP8Encoder::IsSupported() {
     107  return true;
     108}
     109
    106110VP8Encoder* VP8Encoder::Create() {
    107111  return new VP8EncoderImpl();
     112}
     113
     114bool VP8Decoder::IsSupported() {
     115  return true;
    108116}
    109117
  • trunk/Source/ThirdParty/libwebrtc/Source/webrtc/video/video_encoder.cc

    r210942 r211046  
    4040      return H264Encoder::IsSupported();
    4141    case kVp8:
    42       return true;
     42      return VP8Encoder::IsSupported();
    4343    case kVp9:
    4444      return VP9Encoder::IsSupported();
  • trunk/Tools/ChangeLog

    r211045 r211046  
     12017-01-23  Youenn Fablet  <youennf@gmail.com>
     2
     3        [WebRTC] Make VP8 optional in libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167257
     5
     6        Reviewed by Darin Adler.
     7
     8        * Scripts/webkitpy/libwebrtc/generate_cmake.py:
     9        (CMakeGenerator.remove_libvpx): Adding vp8_noop.cc to the build system.
     10
    1112017-01-23  Jer Noble  <jer.noble@apple.com>
    212
  • trunk/Tools/Scripts/webkitpy/libwebrtc/generate_cmake.py

    r211009 r211046  
    282282        target["defines"].append("RTC_DISABLE_VP8")
    283283        target["defines"].append("RTC_DISABLE_VP9")
     284        target["sources"].append("//webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc")
     285        target["source_outputs"]["//webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc"] = ["obj/webrtc/modules/video_coding/webrtc_vp8/vp8_noop.o"]
    284286        target["sources"].append("//webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc")
    285287        target["source_outputs"]["//webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc"] = ["obj/webrtc/modules/video_coding/webrtc_vp9/vp9_noop.o"]
Note: See TracChangeset for help on using the changeset viewer.