Message ID | 20220322182511.7747-1-kevin@muxable.com |
---|---|
State | Accepted |
Commit | 8ae15b565533944d042d3caf25f7262e002e8953 |
Headers | show |
Series | [FFmpeg-devel] rtpenc_vp8: Use 15-bit PictureIDs | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_armv7_RPi4 | success | Make finished |
andriy/make_fate_armv7_RPi4 | success | Make fate finished |
andriy/make_aarch64_jetson | success | Make finished |
andriy/make_fate_aarch64_jetson | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Hi, ping on this patch? It's quite simple, happy to answer any questions. On Tue, Mar 22, 2022 at 2:25 PM <kevin@muxable.com> wrote: > From: Kevin Wang <kevmo314@gmail.com> > > 7-bit PictureIDs are not supported by WebRTC: > https://groups.google.com/g/discuss-webrtc/c/333-L02vuWA > > In practice, 15-bit PictureIDs offer better compatibility. > > Signed-off-by: Kevin Wang <kevin@muxable.com> > --- > libavformat/rtpenc_vp8.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libavformat/rtpenc_vp8.c b/libavformat/rtpenc_vp8.c > index 671d245758..655d44517e 100644 > --- a/libavformat/rtpenc_vp8.c > +++ b/libavformat/rtpenc_vp8.c > @@ -35,7 +35,8 @@ void ff_rtp_send_vp8(AVFormatContext *s1, const uint8_t > *buf, int size) > // partition id 0 > *s->buf_ptr++ = 0x90; > *s->buf_ptr++ = 0x80; // Picture id present > - *s->buf_ptr++ = s->frame_count++ & 0x7f; > + *s->buf_ptr++ = ((s->frame_count & 0x7f00) >> 8) | 0x80; > + *s->buf_ptr++ = s->frame_count++ & 0xff; > // Calculate the number of remaining bytes > header_size = s->buf_ptr - s->buf; > max_packet_size = s->max_payload_size - header_size; > -- > 2.34.1 > >
> On Mar 25, 2022, at 5:13 PM, Kevin Wang <kevin@muxable.com> wrote: > > Hi, ping on this patch? It's quite simple, happy to answer any questions. > > On Tue, Mar 22, 2022 at 2:25 PM <kevin@muxable.com> wrote: > >> From: Kevin Wang <kevmo314@gmail.com> >> >> 7-bit PictureIDs are not supported by WebRTC: >> https://groups.google.com/g/discuss-webrtc/c/333-L02vuWA >> >> In practice, 15-bit PictureIDs offer better compatibility. >> >> Signed-off-by: Kevin Wang <kevin@muxable.com> >> --- >> libavformat/rtpenc_vp8.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/libavformat/rtpenc_vp8.c b/libavformat/rtpenc_vp8.c >> index 671d245758..655d44517e 100644 >> --- a/libavformat/rtpenc_vp8.c >> +++ b/libavformat/rtpenc_vp8.c >> @@ -35,7 +35,8 @@ void ff_rtp_send_vp8(AVFormatContext *s1, const uint8_t >> *buf, int size) >> // partition id 0 >> *s->buf_ptr++ = 0x90; >> *s->buf_ptr++ = 0x80; // Picture id present >> - *s->buf_ptr++ = s->frame_count++ & 0x7f; >> + *s->buf_ptr++ = ((s->frame_count & 0x7f00) >> 8) | 0x80; >> + *s->buf_ptr++ = s->frame_count++ & 0xff; >> // Calculate the number of remaining bytes >> header_size = s->buf_ptr - s->buf; >> max_packet_size = s->max_payload_size - header_size; >> -- LGTM.
On Tue, 22 Mar 2022, kevin@muxable.com wrote: > From: Kevin Wang <kevmo314@gmail.com> > > 7-bit PictureIDs are not supported by WebRTC: > https://groups.google.com/g/discuss-webrtc/c/333-L02vuWA > > In practice, 15-bit PictureIDs offer better compatibility. > > Signed-off-by: Kevin Wang <kevin@muxable.com> > --- > libavformat/rtpenc_vp8.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libavformat/rtpenc_vp8.c b/libavformat/rtpenc_vp8.c > index 671d245758..655d44517e 100644 > --- a/libavformat/rtpenc_vp8.c > +++ b/libavformat/rtpenc_vp8.c > @@ -35,7 +35,8 @@ void ff_rtp_send_vp8(AVFormatContext *s1, const uint8_t *buf, int size) > // partition id 0 > *s->buf_ptr++ = 0x90; > *s->buf_ptr++ = 0x80; // Picture id present > - *s->buf_ptr++ = s->frame_count++ & 0x7f; > + *s->buf_ptr++ = ((s->frame_count & 0x7f00) >> 8) | 0x80; > + *s->buf_ptr++ = s->frame_count++ & 0xff; > // Calculate the number of remaining bytes > header_size = s->buf_ptr - s->buf; > max_packet_size = s->max_payload_size - header_size; > -- > 2.34.1 LGTM, thanks! // Martin
diff --git a/libavformat/rtpenc_vp8.c b/libavformat/rtpenc_vp8.c index 671d245758..655d44517e 100644 --- a/libavformat/rtpenc_vp8.c +++ b/libavformat/rtpenc_vp8.c @@ -35,7 +35,8 @@ void ff_rtp_send_vp8(AVFormatContext *s1, const uint8_t *buf, int size) // partition id 0 *s->buf_ptr++ = 0x90; *s->buf_ptr++ = 0x80; // Picture id present - *s->buf_ptr++ = s->frame_count++ & 0x7f; + *s->buf_ptr++ = ((s->frame_count & 0x7f00) >> 8) | 0x80; + *s->buf_ptr++ = s->frame_count++ & 0xff; // Calculate the number of remaining bytes header_size = s->buf_ptr - s->buf; max_packet_size = s->max_payload_size - header_size;