Reland "Move allocation and rtp conversion logic out of payload router."

This reverts commit c2406e4eaf7703c6c64d21318186adda791e09fd.

Reason for revert: Reland by removing the conflict with the broken CL.

Original change's description:
> Revert "Move allocation and rtp conversion logic out of payload router."
> 
> This reverts commit 1da4d79ba3275b3fa48cad3b2c0949e0d3b7afe7.
> 
> Reason for revert: Need to revert https://webrtc-review.googlesource.com/c/src/+/88220
> 
> This causes a merge conflict. So need to revert this first.
> 
> Original change's description:
> > Move allocation and rtp conversion logic out of payload router.
> > 
> > Makes it easier to write tests, and allows for moving rtp module
> > ownership into the payload router in the future.
> > 
> > The RtpPayloadParams class is split into declaration and definition and
> > moved into separate files.
> > 
> > Bug: webrtc:9517
> > Change-Id: I8700628edff19abcacfe8d3a20e4ba7476f712ad
> > Reviewed-on: https://webrtc-review.googlesource.com/88564
> > Commit-Queue: Stefan Holmer <stefan@webrtc.org>
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#23983}
> 
> TBR=sprang@webrtc.org,stefan@webrtc.org,srte@webrtc.org
> 
> Change-Id: I342c4bf483d975c87c706fe7f76f44e2dc60fe4c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9517
> Reviewed-on: https://webrtc-review.googlesource.com/88821
> Reviewed-by: JT Teh <jtteh@webrtc.org>
> Commit-Queue: JT Teh <jtteh@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23991}

TBR=sprang@webrtc.org,stefan@webrtc.org,srte@webrtc.org,lliuu@webrtc.org,jtteh@webrtc.org,tkchin@webrtc.org

Change-Id: I154145cdbc668feee86dbe78860147a6954fee6c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9517
Reviewed-on: https://webrtc-review.googlesource.com/89020
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23996}
diff --git a/call/payload_router.h b/call/payload_router.h
index 8885458..c62bc75 100644
--- a/call/payload_router.h
+++ b/call/payload_router.h
@@ -15,6 +15,7 @@
 #include <vector>
 
 #include "api/video_codecs/video_encoder.h"
+#include "call/rtp_payload_params.h"
 #include "common_types.h"  // NOLINT(build/include)
 #include "modules/rtp_rtcp/source/rtp_video_header.h"
 #include "rtc_base/constructormagic.h"
@@ -26,12 +27,6 @@
 class RTPFragmentationHeader;
 class RtpRtcp;
 
-// Currently only VP8/VP9 specific.
-struct RtpPayloadState {
-  int16_t picture_id = -1;
-  uint8_t tl0_pic_idx = 0;
-};
-
 // PayloadRouter routes outgoing data to the correct sending RTP module, based
 // on the simulcast layer in RTPVideoHeader.
 class PayloadRouter : public EncodedImageCallback {
@@ -63,8 +58,6 @@
   void OnBitrateAllocationUpdated(const VideoBitrateAllocation& bitrate);
 
  private:
-  class RtpPayloadParams;
-
   void UpdateModuleSendingState() RTC_EXCLUSIVE_LOCKS_REQUIRED(crit_);
 
   rtc::CriticalSection crit_;