webrtc/modules/video_coding
Ilya Nikolaevskiy 00d0a0a1a9 Copy video frames metadata between encoded and plain frames in one place
Currently some video frames metadata like rotation or ntp timestamps are
copied in every encoder and decoder separately. This CL makes copying to
happen at a single place for send or receive side. This will make it
easier to add new metadata in the future.

Also, added some missing tests.

Bug: webrtc:10460
Change-Id: Ia49072c3041e75433f125a61050d2982b2bec1da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133346
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27719}
2019-04-23 14:31:03 +00:00
..
codecs Copy video frames metadata between encoded and plain frames in one place 2019-04-23 14:31:03 +00:00
include Delete method DecodedImageCallback::ReceivedDecodedReferenceFrame 2019-04-18 08:14:40 +00:00
test Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
utility Rename "UpdateLayerConfig" to "NextFrameConfig" 2019-04-17 11:59:07 +00:00
BUILD.gn Switch to RTC_LOG(LS_INFO) for non-perf VideoCodecTest text output. 2019-04-15 12:08:15 +00:00
codec_timer.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
codec_timer.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
decoder_database.cc Remove kVideoCodecUnknown from WebRTC. 2018-08-16 15:15:39 +00:00
decoder_database.h Refactoring PayloadRouter. 2018-07-17 14:46:15 +00:00
decoding_state_unittest.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
decoding_state.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
decoding_state.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
DEPS Prepare VideoProcessor for async simulcast support. 2018-03-08 17:41:13 +00:00
encoded_frame.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
encoded_frame.h Copy video frames metadata between encoded and plain frames in one place 2019-04-23 14:31:03 +00:00
fec_controller_default.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
fec_controller_default.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
fec_controller_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
fec_rate_table.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
frame_buffer2_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
frame_buffer2.cc Fix potential crash in FrameBuffer::IsCompleteSuperFrame 2019-04-23 10:05:11 +00:00
frame_buffer2.h Reland "Running FrameBuffer on task queue." 2019-04-11 15:41:28 +00:00
frame_buffer.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
frame_buffer.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
frame_object.cc Delete EncodedImage::GetBufferPaddingBytes 2019-03-14 09:08:19 +00:00
frame_object.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
generic_decoder.cc Copy video frames metadata between encoded and plain frames in one place 2019-04-23 14:31:03 +00:00
generic_decoder.h Copy video frames metadata between encoded and plain frames in one place 2019-04-23 14:31:03 +00:00
h264_sprop_parameter_sets_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
h264_sprop_parameter_sets.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
h264_sprop_parameter_sets.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
h264_sps_pps_tracker_unittest.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
h264_sps_pps_tracker.cc Delete redundant members from VCMPacket. 2019-02-20 14:39:10 +00:00
h264_sps_pps_tracker.h Remove clang:find_bad_constructs suppression from call:call. 2018-08-29 11:57:00 +00:00
histogram_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
histogram.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
histogram.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
inter_frame_delay.cc Remove unused method in VCMInterFrameDelay. 2019-04-03 07:35:28 +00:00
inter_frame_delay.h Remove unused method in VCMInterFrameDelay. 2019-04-03 07:35:28 +00:00
internal_defines.h Remove unused defines and methods in internal_defines.h 2019-01-28 10:31:40 +00:00
jitter_buffer_common.h Delete all logic related to VCMDecodeErrorMode 2019-01-16 15:41:07 +00:00
jitter_buffer_unittest.cc Delete unused class Vp9SsMap 2019-04-16 14:36:55 +00:00
jitter_buffer.cc Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
jitter_buffer.h Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
jitter_estimator_tests.cc Remove unused members in VCMJitterEstimator. 2019-04-08 12:27:47 +00:00
jitter_estimator.cc Remove unused members in VCMJitterEstimator. 2019-04-08 12:27:47 +00:00
jitter_estimator.h Remove unused members in VCMJitterEstimator. 2019-04-08 12:27:47 +00:00
loss_notification_controller_unittest.cc Create LossNotificationController 2019-02-22 10:20:14 +00:00
loss_notification_controller.cc Translate loss notifications and pass to encoder 2019-04-10 15:31:53 +00:00
loss_notification_controller.h Replacing SequencedTaskChecker with SequenceChecker. 2019-04-09 12:28:04 +00:00
media_opt_util.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
media_opt_util.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
nack_module_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
nack_module.cc Adds a field trial parameter to configure waiting time before sending Nack packets. 2018-11-02 14:56:52 +00:00
nack_module.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
OWNERS Make ilnik@ owner in video/ and modules/video_coding/ 2018-09-11 12:39:39 +00:00
packet_buffer.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
packet_buffer.h Rename "OnReceivedFrame" to "OnAssembledFrame" 2019-02-22 10:49:07 +00:00
packet.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
packet.h Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
receiver_unittest.cc Cleanup: Using DCHECK comparison macros for unit types. 2019-04-12 13:01:03 +00:00
receiver.cc Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
receiver.h Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
rtp_frame_reference_finder_unittest.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
rtp_frame_reference_finder.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
rtp_frame_reference_finder.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtt_filter.cc Fix typo in VCMRttFilter 2018-01-26 10:59:56 +00:00
rtt_filter.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
session_info_unittest.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
session_info.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
session_info.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
timestamp_map.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
timestamp_map.h Remove unimplemented function declarations VCMGenericDecoder::External and VCMTimestampMap::Reset. 2018-09-06 09:05:30 +00:00
timing_unittest.cc Remove unused functions in VCMTiming. 2018-01-17 14:47:10 +00:00
timing.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
timing.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
video_codec_initializer_unittest.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
video_codec_initializer.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
video_coding_defines.cc Delete method DecodedImageCallback::ReceivedDecodedReferenceFrame 2019-04-18 08:14:40 +00:00
video_coding_impl.cc Make VCMJitterBuffer::SetNackMode(kNack, -1, -1) the only mode 2019-04-11 14:29:42 +00:00
video_coding_impl.h Delete vcm::VideoReceiver methods Delay and SetRenderDelay. 2019-04-23 09:38:54 +00:00
video_packet_buffer_unittest.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
video_receiver_unittest.cc Make VCMJitterBuffer::SetNackMode(kNack, -1, -1) the only mode 2019-04-11 14:29:42 +00:00
video_receiver.cc Delete vcm::VideoReceiver methods Delay and SetRenderDelay. 2019-04-23 09:38:54 +00:00