#include "avformat.h"
#include "rtpdec_formats.h"
+#include "libavutil/attributes.h"
#include "libavutil/intreadwrite.h"
-static int h263_handle_packet(AVFormatContext *ctx,
- PayloadContext *data,
- AVStream *st,
- AVPacket * pkt,
- uint32_t * timestamp,
- const uint8_t * buf,
- int len, int flags)
+static av_cold int h263_init(AVFormatContext *ctx, int st_index,
+ PayloadContext *data)
+{
+ if (st_index < 0)
+ return 0;
+ ctx->streams[st_index]->need_parsing = AVSTREAM_PARSE_FULL;
+ return 0;
+}
+
+int ff_h263_handle_packet(AVFormatContext *ctx, PayloadContext *data,
+ AVStream *st, AVPacket *pkt, uint32_t *timestamp,
+ const uint8_t *buf, int len, uint16_t seq, int flags)
{
uint8_t *ptr;
uint16_t header;
RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler = {
.enc_name = "H263-1998",
.codec_type = AVMEDIA_TYPE_VIDEO,
- .codec_id = CODEC_ID_H263,
- .parse_packet = h263_handle_packet,
+ .codec_id = AV_CODEC_ID_H263,
+ .init = h263_init,
+ .parse_packet = ff_h263_handle_packet,
};
RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler = {
.enc_name = "H263-2000",
.codec_type = AVMEDIA_TYPE_VIDEO,
- .codec_id = CODEC_ID_H263,
- .parse_packet = h263_handle_packet,
+ .codec_id = AV_CODEC_ID_H263,
+ .init = h263_init,
+ .parse_packet = ff_h263_handle_packet,
};