webrtc/modules/video_coding
Ilya Nikolaevskiy 4fb12b0cae Reland "Copy video frames metadata between encoded and plain frames in one place"
Reland with fixes.

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.

Original Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133346

Bug: webrtc:10460
Change-Id: Ia71198685de7fbd990704b575231cdce94dc0645
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134961
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27828}
2019-05-02 13:29:14 +00:00
..
codecs Reland "Copy video frames metadata between encoded and plain frames in one place" 2019-05-02 13:29:14 +00:00
include Delete WebRtcRTPHeader, this struct is no longer used. 2019-04-25 14:36:30 +00:00
test Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
utility Rename "UpdateLayerConfig" to "NextFrameConfig" 2019-04-17 11:59:07 +00:00
BUILD.gn Add fix for 8-bit H264 HDR content 2019-04-25 11:44:50 +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.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
decoding_state_unittest.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +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 Reland "Copy video frames metadata between encoded and plain frames in one place" 2019-05-02 13:29:14 +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_buffer.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
frame_buffer.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
frame_buffer2.cc Wait for keyframe after decoding error. 2019-05-02 12:52:55 +00:00
frame_buffer2.h Wait for keyframe after decoding error. 2019-05-02 12:52:55 +00:00
frame_buffer2_unittest.cc Wait for keyframe after decoding error. 2019-05-02 12:52:55 +00:00
frame_object.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
frame_object.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
generic_decoder.cc Reland "Copy video frames metadata between encoded and plain frames in one place" 2019-05-02 13:29:14 +00:00
generic_decoder.h Reland "Copy video frames metadata between encoded and plain frames in one place" 2019-05-02 13:29:14 +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_sprop_parameter_sets_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +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
h264_sps_pps_tracker_unittest.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +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
histogram_unittest.cc 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.cc Add ability to cap the video jitter estimate to a max value. 2019-04-24 16:03:15 +00:00
jitter_buffer.h Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
jitter_buffer_common.h Delete all logic related to VCMDecodeErrorMode 2019-01-16 15:41:07 +00:00
jitter_buffer_unittest.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
jitter_estimator.cc Delete unused methods of VCMJitterEstimator 2019-04-26 15:21:09 +00:00
jitter_estimator.h Delete unused methods of VCMJitterEstimator 2019-04-26 15:21:09 +00:00
jitter_estimator_tests.cc Add ability to cap the video jitter estimate to a max value. 2019-04-24 16:03:15 +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
loss_notification_controller_unittest.cc Create LossNotificationController 2019-02-22 10:20:14 +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.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
nack_module_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
OWNERS Make ilnik@ owner in video/ and modules/video_coding/ 2018-09-11 12:39:39 +00:00
packet.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
packet.h Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
packet_buffer.cc ManageFrameH264 for temporal layers (PART 3/3) 2019-05-02 09:26:25 +00:00
packet_buffer.h Rename "OnReceivedFrame" to "OnAssembledFrame" 2019-02-22 10:49:07 +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
receiver_unittest.cc Cleanup: Using DCHECK comparison macros for unit types. 2019-04-12 13:01:03 +00:00
rtp_frame_reference_finder.cc ManageFrameH264 for temporal layers (PART 3/3) 2019-05-02 09:26:25 +00:00
rtp_frame_reference_finder.h ManageFrameH264 for temporal layers (PART 3/3) 2019-05-02 09:26:25 +00:00
rtp_frame_reference_finder_unittest.cc ManageFrameH264 for temporal layers (PART 3/3) 2019-05-02 09:26:25 +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.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
session_info.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
session_info_unittest.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +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.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
timing_unittest.cc Remove unused functions in VCMTiming. 2018-01-17 14:47:10 +00:00
video_codec_initializer.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
video_codec_initializer_unittest.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 Delete WebRtcRTPHeader, this struct is no longer used. 2019-04-25 14:36:30 +00:00
video_coding_impl.h Change vcm::VideoReceiver::IncomingPacket to not use WebRtcRTPHeader 2019-04-25 10:15:39 +00:00
video_packet_buffer_unittest.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
video_receiver.cc Change vcm::VideoReceiver::IncomingPacket to not use WebRtcRTPHeader 2019-04-25 10:15:39 +00:00
video_receiver_unittest.cc Change vcm::VideoReceiver::IncomingPacket to not use WebRtcRTPHeader 2019-04-25 10:15:39 +00:00