[FFmpeg-devel] H.261 and H.263 RTP broken?
Alexandre FERRIEUX - FT/RD/SIRP/ASF/SOFTL
alexandre.ferrieux
Thu Jan 29 14:44:21 CET 2009
Martin Lindhe wrote:
> Alexandre FERRIEUX - FT/RD/SIRP/ASF/SOFTL wrote:
>> Luca Abeni wrote:
>>>
>>> I heard of other people working on H.263 over RTP in the past, but noone
>>> ever posted a patch (AFAIK).
>>
>> OK here is my little contribution. With this I correctly receive
>> H263/RTP streams from a mobile phone. Forgive the naive style and
>> overall bad quality, I'm a beginner with ffmpeg internals and I really
>> thought somebody more knowledgeable would take over :-}
>
> I updated your patch against HEAD and made it compile.
> I can verity this patch makes H263 RTP decoding working correctly in my
> scenario aswell (recieving H263 video from a SIP softphone).
>
> The patch should be cleaned up some but it does implement what is needed
> for H263 video over RTP in ffmpeg!
>
> Great job Alexandre
Thanks Martin.
I see you righteously removed the need to get the M bit from the RTP
layer (which is the subject of a nearby post and patch). This is indeed
possible thanks to the following lines that were previously committed to
rtpdec.c:
+ case CODEC_ID_H263:
+ case CODEC_ID_H263P:
st->need_parsing = AVSTREAM_PARSE_FULL;
With this you can also remove my alternate implementation, which is
still there named "bad_h263_handle_packet". An d if you remove it, you
can also get rid of the big PayloadContext (which is only needed in this
extra-buffering implementation).
The reason I had done this initially was my ignorance of
AVSTREAM_PARSE_FULL. After a bit of education thanks to Luca and
Michael, I see this was an overkill (that would make sense for a codec
where RTP-level packetization is the only way to parse the bitstream,
like with the DTX packets in G729B).
Best regards,
-Alex
More information about the ffmpeg-devel
mailing list