Mercurial > libavcodec.hg
comparison mpegvideo.c @ 1353:cfc80b3a4ada libavcodec
flash video (flv) support patch by (Garrick Meeker <gmeeker at theoryllc dot com>)
author | michaelni |
---|---|
date | Wed, 09 Jul 2003 23:10:59 +0000 |
parents | 447b88b784ee |
children | 1f89adb69349 |
comparison
equal
deleted
inserted
replaced
1352:e8ff4783f188 | 1353:cfc80b3a4ada |
---|---|
665 s->unrestricted_mv=(avctx->flags & CODEC_FLAG_H263P_UMV) ? 1:0; | 665 s->unrestricted_mv=(avctx->flags & CODEC_FLAG_H263P_UMV) ? 1:0; |
666 s->h263_aic= (avctx->flags & CODEC_FLAG_H263P_AIC) ? 1:0; | 666 s->h263_aic= (avctx->flags & CODEC_FLAG_H263P_AIC) ? 1:0; |
667 /* /Fx */ | 667 /* /Fx */ |
668 /* These are just to be sure */ | 668 /* These are just to be sure */ |
669 s->umvplus = 1; | 669 s->umvplus = 1; |
670 avctx->delay=0; | |
671 s->low_delay=1; | |
672 break; | |
673 case CODEC_ID_FLV1: | |
674 s->out_format = FMT_H263; | |
675 s->h263_flv = 2; /* format = 1; 11-bit codes */ | |
676 s->unrestricted_mv = 1; | |
677 s->rtp_mode=0; /* don't allow GOB */ | |
670 avctx->delay=0; | 678 avctx->delay=0; |
671 s->low_delay=1; | 679 s->low_delay=1; |
672 break; | 680 break; |
673 case CODEC_ID_RV10: | 681 case CODEC_ID_RV10: |
674 s->out_format = FMT_H263; | 682 s->out_format = FMT_H263; |
2995 msmpeg4_encode_mb(s, s->block, motion_x, motion_y); break; | 3003 msmpeg4_encode_mb(s, s->block, motion_x, motion_y); break; |
2996 case CODEC_ID_WMV2: | 3004 case CODEC_ID_WMV2: |
2997 ff_wmv2_encode_mb(s, s->block, motion_x, motion_y); break; | 3005 ff_wmv2_encode_mb(s, s->block, motion_x, motion_y); break; |
2998 case CODEC_ID_H263: | 3006 case CODEC_ID_H263: |
2999 case CODEC_ID_H263P: | 3007 case CODEC_ID_H263P: |
3008 case CODEC_ID_FLV1: | |
3000 case CODEC_ID_RV10: | 3009 case CODEC_ID_RV10: |
3001 h263_encode_mb(s, s->block, motion_x, motion_y); break; | 3010 h263_encode_mb(s, s->block, motion_x, motion_y); break; |
3002 #endif | 3011 #endif |
3003 case CODEC_ID_MJPEG: | 3012 case CODEC_ID_MJPEG: |
3004 mjpeg_encode_mb(s, s->block); break; | 3013 mjpeg_encode_mb(s, s->block); break; |
3346 case CODEC_ID_MPEG4: | 3355 case CODEC_ID_MPEG4: |
3347 ff_clean_mpeg4_qscales(s); | 3356 ff_clean_mpeg4_qscales(s); |
3348 break; | 3357 break; |
3349 case CODEC_ID_H263: | 3358 case CODEC_ID_H263: |
3350 case CODEC_ID_H263P: | 3359 case CODEC_ID_H263P: |
3360 case CODEC_ID_FLV1: | |
3351 ff_clean_h263_qscales(s); | 3361 ff_clean_h263_qscales(s); |
3352 break; | 3362 break; |
3353 } | 3363 } |
3354 #endif | 3364 #endif |
3355 | 3365 |
3425 s->last_mv[1][0][1] = 0; | 3435 s->last_mv[1][0][1] = 0; |
3426 | 3436 |
3427 s->last_mv_dir = 0; | 3437 s->last_mv_dir = 0; |
3428 | 3438 |
3429 #ifdef CONFIG_RISKY | 3439 #ifdef CONFIG_RISKY |
3430 if (s->codec_id==CODEC_ID_H263 || s->codec_id==CODEC_ID_H263P) | 3440 switch(s->codec_id){ |
3441 case CODEC_ID_H263: | |
3442 case CODEC_ID_H263P: | |
3443 case CODEC_ID_FLV1: | |
3431 s->gob_index = ff_h263_get_gob_height(s); | 3444 s->gob_index = ff_h263_get_gob_height(s); |
3432 | 3445 break; |
3433 if(s->codec_id==CODEC_ID_MPEG4 && s->partitioned_frame) | 3446 case CODEC_ID_MPEG4: |
3434 ff_mpeg4_init_partitions(s); | 3447 if(s->partitioned_frame) |
3448 ff_mpeg4_init_partitions(s); | |
3449 break; | |
3450 } | |
3435 #endif | 3451 #endif |
3436 | 3452 |
3437 s->resync_mb_x=0; | 3453 s->resync_mb_x=0; |
3438 s->resync_mb_y=0; | 3454 s->resync_mb_y=0; |
3439 s->first_slice_line = 1; | 3455 s->first_slice_line = 1; |
4437 MPV_encode_init, | 4453 MPV_encode_init, |
4438 MPV_encode_picture, | 4454 MPV_encode_picture, |
4439 MPV_encode_end, | 4455 MPV_encode_end, |
4440 }; | 4456 }; |
4441 | 4457 |
4458 AVCodec flv_encoder = { | |
4459 "flv", | |
4460 CODEC_TYPE_VIDEO, | |
4461 CODEC_ID_FLV1, | |
4462 sizeof(MpegEncContext), | |
4463 MPV_encode_init, | |
4464 MPV_encode_picture, | |
4465 MPV_encode_end, | |
4466 }; | |
4467 | |
4442 AVCodec rv10_encoder = { | 4468 AVCodec rv10_encoder = { |
4443 "rv10", | 4469 "rv10", |
4444 CODEC_TYPE_VIDEO, | 4470 CODEC_TYPE_VIDEO, |
4445 CODEC_ID_RV10, | 4471 CODEC_ID_RV10, |
4446 sizeof(MpegEncContext), | 4472 sizeof(MpegEncContext), |