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),