webrtc/modules/video_coding
Sergey Silkin bd0954e83f Encode key frame when enabling upper layer.
Request key frame when upper spatial layer is enabled dynamically
and inter-layer prediction is disabled or limited to key pictures.

This is needed to force encoder to produce RTP compatible bitstream
where temporal prediction is limited to the same spatial layer.

Bug: webrtc:9217
Change-Id: I4fc1e3f067689ba7b5c6bd1f5af922a0637f03d7
Reviewed-on: https://webrtc-review.googlesource.com/73580
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23102}
2018-05-03 13:22:01 +00:00
..
codecs Encode key frame when enabling upper layer. 2018-05-03 13:22:01 +00:00
include Delete nack_enabled flag in encoder configuration. 2018-05-02 16:05:27 +00:00
test Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
utility Make quality scaler downscale faster. 2018-04-25 09:08:21 +00:00
BUILD.gn Remove H264 CHP field trial code. 2018-05-02 13:42:37 +00:00
codec_timer.cc Fix chromium warnings for SdpVideoFormat. 2018-03-27 08:11:21 +00:00
codec_timer.h Fix chromium warnings for SdpVideoFormat. 2018-03-27 08:11:21 +00:00
decoder_database.cc Split VCMCodecDataBase into VCMEncoderDataBase and VCMDecoderDataBase. 2018-02-21 09:49:06 +00:00
decoder_database.h Split VCMCodecDataBase into VCMEncoderDataBase and VCMDecoderDataBase. 2018-02-21 09:49:06 +00:00
decoding_state.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
decoding_state.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
decoding_state_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
DEPS Prepare VideoProcessor for async simulcast support. 2018-03-08 17:41:13 +00:00
encoded_frame.cc Create public EncodedFrame interface. 2018-02-21 16:24:15 +00:00
encoded_frame.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
encoder_database.cc New equality operators, for structs related to webrtc::VideoCodec. 2018-03-19 15:54:21 +00:00
encoder_database.h Delete payload_type from VCMEncoderDatabase and vcm::VideoSender. 2018-03-16 13:43:01 +00:00
fec_controller_default.cc Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
fec_controller_default.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
fec_controller_unittest.cc Make fec controller plug-able. 2018-01-22 11:48:16 +00:00
fec_rate_table.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
frame_buffer.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
frame_buffer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
frame_buffer2.cc Fix chromium warnings for SdpVideoFormat. 2018-03-27 08:11:21 +00:00
frame_buffer2.h Fix chromium warnings for SdpVideoFormat. 2018-03-27 08:11:21 +00:00
frame_buffer2_unittest.cc Moved FrameKey to api/video/encoded_frame.h and renamed it to VideoLayerFrameId. 2018-03-19 15:13:11 +00:00
frame_object.cc Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
frame_object.h Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
generic_decoder.cc Revert "VCMGenericDecoder threading updates for all but Android." 2018-02-21 19:39:29 +00:00
generic_decoder.h Revert "VCMGenericDecoder threading updates for all but Android." 2018-02-21 19:39:29 +00:00
generic_encoder.cc Move BitrateAllocation to api/ and rename it VideoBitrateAllocation 2018-04-23 15:31:27 +00:00
generic_encoder.h Move BitrateAllocation to api/ and rename it VideoBitrateAllocation 2018-04-23 15:31:27 +00:00
generic_encoder_unittest.cc Reland In GenericEncoder enable timing frames for encoders with internal source 2018-04-04 13:38:10 +00:00
h264_sprop_parameter_sets.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
h264_sprop_parameter_sets.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sprop_parameter_sets_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sps_pps_tracker.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
h264_sps_pps_tracker.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sps_pps_tracker_unittest.cc Move SPS/PPS/IDR requirement from RtpFrameObject to PacketBuffer. 2017-11-06 12:04:46 +00:00
histogram.cc Move sequence_number_utils.h to rtc_base/ 2017-10-25 12:33:57 +00:00
histogram.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
histogram_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
inter_frame_delay.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
inter_frame_delay.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
internal_defines.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer.cc Move FALLTHROUGH macro to a separate header, and give it an RTC_ prefix 2018-02-05 11:24:59 +00:00
jitter_buffer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer_common.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer_unittest.cc Remove unused mocks of process thread 2017-09-28 07:57:28 +00:00
jitter_estimator.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
jitter_estimator.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_estimator_tests.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
media_opt_util.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
media_opt_util.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
media_optimization.cc Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
media_optimization.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
nack_fec_tables.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
nack_module.cc Simplify RtpVideoStreamReceiver::NotifyReceiverOfFecPacket. 2018-03-23 14:34:48 +00:00
nack_module.h Simplify RtpVideoStreamReceiver::NotifyReceiverOfFecPacket. 2018-03-23 14:34:48 +00:00
nack_module_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
OWNERS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
packet.cc Cleanup of unused RTP structs and packetizer for stereo codec 2018-01-25 01:25:56 +00:00
packet.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
packet_buffer.cc Moved FrameKey to api/video/encoded_frame.h and renamed it to VideoLayerFrameId. 2018-03-19 15:13:11 +00:00
packet_buffer.h Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
qp_parser.cc Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
qp_parser.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
receiver.cc Make Frame buffer not drop frames unnecessary 2018-02-27 16:31:29 +00:00
receiver.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
receiver_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rtp_frame_reference_finder.cc VP9 temporal index bounds check. 2018-05-03 12:00:41 +00:00
rtp_frame_reference_finder.h Renamed FrameObject to EncodedFrame. 2018-02-22 16:12:48 +00:00
rtp_frame_reference_finder_unittest.cc VP9 temporal index bounds check. 2018-05-03 12:00:41 +00:00
rtt_filter.cc Fix typo in VCMRttFilter 2018-01-26 10:59:56 +00:00
rtt_filter.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
session_info.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
session_info.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
session_info_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
timestamp_map.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
timestamp_map.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
timing.cc Move timestamp_extrapolator.h to rtc_base/time/ 2018-03-22 14:36:44 +00:00
timing.h Make Frame buffer not drop frames unnecessary 2018-02-27 16:31:29 +00:00
timing_unittest.cc Remove unused functions in VCMTiming. 2018-01-17 14:47:10 +00:00
video_codec_initializer.cc Delete nack_enabled flag in encoder configuration. 2018-05-02 16:05:27 +00:00
video_codec_initializer_unittest.cc Delete nack_enabled flag in encoder configuration. 2018-05-02 16:05:27 +00:00
video_coding_defines.cc Fix chromium warnings for SdpVideoFormat. 2018-03-27 08:11:21 +00:00
video_coding_impl.cc Remove TemporalLayersFactory and associated classes 2018-03-21 10:20:48 +00:00
video_coding_impl.h Delete payload_type from VCMEncoderDatabase and vcm::VideoSender. 2018-03-16 13:43:01 +00:00
video_packet_buffer_unittest.cc Add dropped frames metric on the receive side 2018-02-21 15:34:25 +00:00
video_receiver.cc Reland "Reduce locking in VideoReceiver and check the threading model." 2018-02-22 18:03:45 +00:00
video_receiver_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
video_sender.cc Move BitrateAllocation to api/ and rename it VideoBitrateAllocation 2018-04-23 15:31:27 +00:00
video_sender_unittest.cc Move BitrateAllocation to api/ and rename it VideoBitrateAllocation 2018-04-23 15:31:27 +00:00