Originally committed as revision 8921 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
| @@ -2981,7 +2981,7 @@ typedef struct AVCodecParser { | |||||
| int (*parser_init)(AVCodecParserContext *s); | int (*parser_init)(AVCodecParserContext *s); | ||||
| int (*parser_parse)(AVCodecParserContext *s, | int (*parser_parse)(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size); | const uint8_t *buf, int buf_size); | ||||
| void (*parser_close)(AVCodecParserContext *s); | void (*parser_close)(AVCodecParserContext *s); | ||||
| int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size); | int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size); | ||||
| @@ -1506,7 +1506,7 @@ static int cavs_find_frame_end(ParseContext *pc, const uint8_t *buf, | |||||
| static int cavsvideo_parse(AVCodecParserContext *s, | static int cavsvideo_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext *pc = s->priv_data; | ParseContext *pc = s->priv_data; | ||||
| @@ -1517,13 +1517,13 @@ static int cavsvideo_parse(AVCodecParserContext *s, | |||||
| }else{ | }else{ | ||||
| next= cavs_find_frame_end(pc, buf, buf_size); | next= cavs_find_frame_end(pc, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| } | } | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -94,7 +94,7 @@ static int dca_parse_init(AVCodecParserContext * s) | |||||
| static int dca_parse(AVCodecParserContext * s, | static int dca_parse(AVCodecParserContext * s, | ||||
| AVCodecContext * avctx, | AVCodecContext * avctx, | ||||
| uint8_t ** poutbuf, int *poutbuf_size, | |||||
| const uint8_t ** poutbuf, int *poutbuf_size, | |||||
| const uint8_t * buf, int buf_size) | const uint8_t * buf, int buf_size) | ||||
| { | { | ||||
| DCAParseContext *pc1 = s->priv_data; | DCAParseContext *pc1 = s->priv_data; | ||||
| @@ -106,13 +106,13 @@ static int dca_parse(AVCodecParserContext * s, | |||||
| } else { | } else { | ||||
| next = dca_find_frame_end(pc1, buf, buf_size); | next = dca_find_frame_end(pc1, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **) & buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| } | } | ||||
| *poutbuf = (uint8_t *) buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -48,7 +48,7 @@ static int dvbsub_parse_init(AVCodecParserContext *s) | |||||
| static int dvbsub_parse(AVCodecParserContext *s, | static int dvbsub_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| DVBSubParseContext *pc = s->priv_data; | DVBSubParseContext *pc = s->priv_data; | ||||
| @@ -34,7 +34,7 @@ static int dvdsub_parse_init(AVCodecParserContext *s) | |||||
| static int dvdsub_parse(AVCodecParserContext *s, | static int dvdsub_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| DVDSubParseContext *pc = s->priv_data; | DVDSubParseContext *pc = s->priv_data; | ||||
| @@ -64,19 +64,19 @@ static int h261_find_frame_end(ParseContext *pc, AVCodecContext* avctx, const ui | |||||
| static int h261_parse(AVCodecParserContext *s, | static int h261_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext *pc = s->priv_data; | ParseContext *pc = s->priv_data; | ||||
| int next; | int next; | ||||
| next= h261_find_frame_end(pc,avctx, buf, buf_size); | next= h261_find_frame_end(pc,avctx, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -396,7 +396,7 @@ static int h263_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_siz | |||||
| #ifdef CONFIG_H263_PARSER | #ifdef CONFIG_H263_PARSER | ||||
| static int h263_parse(AVCodecParserContext *s, | static int h263_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext *pc = s->priv_data; | ParseContext *pc = s->priv_data; | ||||
| @@ -404,13 +404,13 @@ static int h263_parse(AVCodecParserContext *s, | |||||
| next= h263_find_frame_end(pc, buf, buf_size); | next= h263_find_frame_end(pc, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -460,7 +460,7 @@ uint64_t time= rdtsc(); | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| if( ff_combine_frame(&s->parse_context, next, &buf, &buf_size) < 0 ) | |||||
| if( ff_combine_frame(&s->parse_context, next, (const uint8_t **)&buf, &buf_size) < 0 ) | |||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| @@ -8039,7 +8039,7 @@ found: | |||||
| #ifdef CONFIG_H264_PARSER | #ifdef CONFIG_H264_PARSER | ||||
| static int h264_parse(AVCodecParserContext *s, | static int h264_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| H264Context *h = s->priv_data; | H264Context *h = s->priv_data; | ||||
| @@ -8051,7 +8051,7 @@ static int h264_parse(AVCodecParserContext *s, | |||||
| }else{ | }else{ | ||||
| next= find_frame_end(h, buf, buf_size); | next= find_frame_end(h, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| @@ -8063,7 +8063,7 @@ static int h264_parse(AVCodecParserContext *s, | |||||
| } | } | ||||
| } | } | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -8303,7 +8303,7 @@ static int decode_frame(AVCodecContext *avctx, | |||||
| if(s->flags&CODEC_FLAG_TRUNCATED){ | if(s->flags&CODEC_FLAG_TRUNCATED){ | ||||
| int next= find_frame_end(h, buf, buf_size); | int next= find_frame_end(h, buf, buf_size); | ||||
| if( ff_combine_frame(&s->parse_context, next, &buf, &buf_size) < 0 ) | |||||
| if( ff_combine_frame(&s->parse_context, next, (const uint8_t **)&buf, &buf_size) < 0 ) | |||||
| return buf_size; | return buf_size; | ||||
| //printf("next:%d buf_size:%d last_index:%d\n", next, buf_size, s->parse_context.last_index); | //printf("next:%d buf_size:%d last_index:%d\n", next, buf_size, s->parse_context.last_index); | ||||
| } | } | ||||
| @@ -1005,7 +1005,7 @@ static int find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size){ | |||||
| static int jpeg_parse(AVCodecParserContext *s, | static int jpeg_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext *pc = s->priv_data; | ParseContext *pc = s->priv_data; | ||||
| @@ -1013,13 +1013,13 @@ static int jpeg_parse(AVCodecParserContext *s, | |||||
| next= find_frame_end(pc, buf, buf_size); | next= find_frame_end(pc, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -3096,7 +3096,7 @@ static int mpeg_decode_frame(AVCodecContext *avctx, | |||||
| if(s2->flags&CODEC_FLAG_TRUNCATED){ | if(s2->flags&CODEC_FLAG_TRUNCATED){ | ||||
| int next= ff_mpeg1_find_frame_end(&s2->parse_context, buf, buf_size); | int next= ff_mpeg1_find_frame_end(&s2->parse_context, buf, buf_size); | ||||
| if( ff_combine_frame(&s2->parse_context, next, &buf, &buf_size) < 0 ) | |||||
| if( ff_combine_frame(&s2->parse_context, next, (const uint8_t **)&buf, &buf_size) < 0 ) | |||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| @@ -65,7 +65,7 @@ static int mpeg4video_parse_init(AVCodecParserContext *s) | |||||
| static int mpeg4video_parse(AVCodecParserContext *s, | static int mpeg4video_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext *pc = s->priv_data; | ParseContext *pc = s->priv_data; | ||||
| @@ -76,7 +76,7 @@ static int mpeg4video_parse(AVCodecParserContext *s, | |||||
| }else{ | }else{ | ||||
| next= ff_mpeg4_find_frame_end(pc, buf, buf_size); | next= ff_mpeg4_find_frame_end(pc, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| @@ -84,7 +84,7 @@ static int mpeg4video_parse(AVCodecParserContext *s, | |||||
| } | } | ||||
| av_mpeg4_decode_header(s, avctx, buf, buf_size); | av_mpeg4_decode_header(s, avctx, buf, buf_size); | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -50,7 +50,7 @@ static int mpegaudio_parse_init(AVCodecParserContext *s1) | |||||
| static int mpegaudio_parse(AVCodecParserContext *s1, | static int mpegaudio_parse(AVCodecParserContext *s1, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| MpegAudioParseContext *s = s1->priv_data; | MpegAudioParseContext *s = s1->priv_data; | ||||
| @@ -186,7 +186,7 @@ static int mpegaudio_parse(AVCodecParserContext *s1, | |||||
| if(s->frame_size > 0 && buf_ptr - buf == s->inbuf_ptr - s->inbuf | if(s->frame_size > 0 && buf_ptr - buf == s->inbuf_ptr - s->inbuf | ||||
| && buf_size + buf_ptr - buf >= s->frame_size){ | && buf_size + buf_ptr - buf >= s->frame_size){ | ||||
| if(s->header_count > 0){ | if(s->header_count > 0){ | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = s->frame_size; | *poutbuf_size = s->frame_size; | ||||
| } | } | ||||
| buf_ptr = buf + s->frame_size; | buf_ptr = buf + s->frame_size; | ||||
| @@ -128,7 +128,7 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s, | |||||
| static int mpegvideo_parse(AVCodecParserContext *s, | static int mpegvideo_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext1 *pc1 = s->priv_data; | ParseContext1 *pc1 = s->priv_data; | ||||
| @@ -140,7 +140,7 @@ static int mpegvideo_parse(AVCodecParserContext *s, | |||||
| }else{ | }else{ | ||||
| next= ff_mpeg1_find_frame_end(pc, buf, buf_size); | next= ff_mpeg1_find_frame_end(pc, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| @@ -156,7 +156,7 @@ static int mpegvideo_parse(AVCodecParserContext *s, | |||||
| s->pict_type, (double)avctx->time_base.den / avctx->time_base.num, s->repeat_pict); | s->pict_type, (double)avctx->time_base.den / avctx->time_base.num, s->repeat_pict); | ||||
| #endif | #endif | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -130,7 +130,7 @@ int av_parser_parse(AVCodecParserContext *s, | |||||
| } | } | ||||
| /* WARNING: the returned index can be negative */ | /* WARNING: the returned index can be negative */ | ||||
| index = s->parser->parser_parse(s, avctx, poutbuf, poutbuf_size, buf, buf_size); | |||||
| index = s->parser->parser_parse(s, avctx, (const uint8_t **)poutbuf, poutbuf_size, buf, buf_size); | |||||
| //av_log(NULL, AV_LOG_DEBUG, "parser: in:%"PRId64", %"PRId64", out:%"PRId64", %"PRId64", in:%d out:%d id:%d\n", pts, dts, s->last_pts, s->last_dts, buf_size, *poutbuf_size, avctx->codec_id); | //av_log(NULL, AV_LOG_DEBUG, "parser: in:%"PRId64", %"PRId64", out:%"PRId64", %"PRId64", in:%d out:%d id:%d\n", pts, dts, s->last_pts, s->last_dts, buf_size, *poutbuf_size, avctx->codec_id); | ||||
| /* update the file pointer */ | /* update the file pointer */ | ||||
| if (*poutbuf_size) { | if (*poutbuf_size) { | ||||
| @@ -223,7 +223,7 @@ void av_parser_close(AVCodecParserContext *s) | |||||
| * combines the (truncated) bitstream to a complete frame | * combines the (truncated) bitstream to a complete frame | ||||
| * @returns -1 if no complete frame could be created | * @returns -1 if no complete frame could be created | ||||
| */ | */ | ||||
| int ff_combine_frame(ParseContext *pc, int next, uint8_t **buf, int *buf_size) | |||||
| int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_size) | |||||
| { | { | ||||
| #if 0 | #if 0 | ||||
| if(pc->overread){ | if(pc->overread){ | ||||
| @@ -525,7 +525,7 @@ static int aac_parse_init(AVCodecParserContext *s1) | |||||
| /* also used for ADTS AAC */ | /* also used for ADTS AAC */ | ||||
| static int ac3_parse(AVCodecParserContext *s1, | static int ac3_parse(AVCodecParserContext *s1, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| AC3ParseContext *s = s1->priv_data; | AC3ParseContext *s = s1->priv_data; | ||||
| @@ -54,7 +54,7 @@ typedef struct ParseContext1{ | |||||
| #define END_NOT_FOUND (-100) | #define END_NOT_FOUND (-100) | ||||
| int ff_combine_frame(ParseContext *pc, int next, uint8_t **buf, int *buf_size); | |||||
| int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_size); | |||||
| int ff_mpeg4video_split(AVCodecContext *avctx, const uint8_t *buf, | int ff_mpeg4video_split(AVCodecContext *avctx, const uint8_t *buf, | ||||
| int buf_size); | int buf_size); | ||||
| void ff_parse_close(AVCodecParserContext *s); | void ff_parse_close(AVCodecParserContext *s); | ||||
| @@ -489,7 +489,7 @@ static int pam_probe(AVProbeData *pd) | |||||
| #ifdef CONFIG_PNM_PARSER | #ifdef CONFIG_PNM_PARSER | ||||
| static int pnm_parse(AVCodecParserContext *s, | static int pnm_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext *pc = s->priv_data; | ParseContext *pc = s->priv_data; | ||||
| @@ -538,12 +538,12 @@ retry: | |||||
| next= END_NOT_FOUND; | next= END_NOT_FOUND; | ||||
| } | } | ||||
| if(ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size)<0){ | |||||
| if(ff_combine_frame(pc, next, &buf, &buf_size)<0){ | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||
| @@ -72,7 +72,7 @@ static int vc1_find_frame_end(ParseContext *pc, const uint8_t *buf, | |||||
| static int vc1_parse(AVCodecParserContext *s, | static int vc1_parse(AVCodecParserContext *s, | ||||
| AVCodecContext *avctx, | AVCodecContext *avctx, | ||||
| uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t **poutbuf, int *poutbuf_size, | |||||
| const uint8_t *buf, int buf_size) | const uint8_t *buf, int buf_size) | ||||
| { | { | ||||
| ParseContext *pc = s->priv_data; | ParseContext *pc = s->priv_data; | ||||
| @@ -83,13 +83,13 @@ static int vc1_parse(AVCodecParserContext *s, | |||||
| }else{ | }else{ | ||||
| next= vc1_find_frame_end(pc, buf, buf_size); | next= vc1_find_frame_end(pc, buf, buf_size); | ||||
| if (ff_combine_frame(pc, next, (uint8_t **)&buf, &buf_size) < 0) { | |||||
| if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { | |||||
| *poutbuf = NULL; | *poutbuf = NULL; | ||||
| *poutbuf_size = 0; | *poutbuf_size = 0; | ||||
| return buf_size; | return buf_size; | ||||
| } | } | ||||
| } | } | ||||
| *poutbuf = (uint8_t *)buf; | |||||
| *poutbuf = buf; | |||||
| *poutbuf_size = buf_size; | *poutbuf_size = buf_size; | ||||
| return next; | return next; | ||||
| } | } | ||||