echo " mpegaudio decoding [default=no]"
echo " --disable-ffserver disable ffserver build"
echo " --disable-ffplay disable ffplay build"
-echo " --disable-risky disables patent encumbered codecs"
echo " --enable-small optimize for size instead of speed"
echo " --enable-memalign-hack emulate memalign, interferes with memory debuggers"
echo " --disable-strip disable stripping of executables and shared libraries"
SLIBPREF="lib"
SLIBSUF=".so"
EXESUF=""
-risky="yes"
amr_nb="no"
amr_wb="no"
amr_nb_fixed="no"
;;
--disable-ffplay) ffplay="no"
;;
- --disable-risky) risky="no"
- ;;
--enable-small) optimize="small"
;;
--enable-amr_nb) amr_nb="yes"
if test $sdl_too_old = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support"
fi
-echo "risky / patent encumbered codecs $risky"
if test "$vhook" = "yes" ; then
echo "Imlib2 support $imlib2"
echo "CONFIG_FFPLAY=yes" >> config.mak
fi
-if test "$risky" = "yes" ; then
- echo "#define CONFIG_RISKY 1" >> $TMPH
- echo "CONFIG_RISKY=yes" >> config.mak
-fi
-
if test "$gpl" = "yes" ; then
echo "#define CONFIG_GPL 1" >> $TMPH
echo "CONFIG_GPL=yes" >> config.mak
#endif
register_avcodec(&mpeg1video_encoder);
// register_avcodec(&h264_encoder);
-#ifdef CONFIG_RISKY
register_avcodec(&mpeg2video_encoder);
register_avcodec(&h261_encoder);
register_avcodec(&h263_encoder);
register_avcodec(&wmv1_encoder);
register_avcodec(&wmv2_encoder);
register_avcodec(&svq1_encoder);
-#endif
register_avcodec(&mjpeg_encoder);
register_avcodec(&ljpeg_encoder);
#ifdef CONFIG_ZLIB
/* decoders */
#ifdef CONFIG_DECODERS
-#ifdef CONFIG_RISKY
register_avcodec(&h263_decoder);
register_avcodec(&h261_decoder);
register_avcodec(&mpeg4_decoder);
register_avcodec(&aac_decoder);
register_avcodec(&mpeg4aac_decoder);
#endif
-#endif
register_avcodec(&mpeg1video_decoder);
register_avcodec(&mpeg2video_decoder);
register_avcodec(&mpegvideo_decoder);
avctx->delay=0;
s->low_delay=1;
break;
-#ifdef CONFIG_RISKY
case CODEC_ID_H261:
s->out_format = FMT_H261;
avctx->delay=0;
avctx->delay=0;
s->low_delay=1;
break;
-#endif
default:
return -1;
}
ff_set_cmp(&s->dsp, s->dsp.frame_skip_cmp, s->avctx->frame_skip_cmp);
#ifdef CONFIG_ENCODERS
-#ifdef CONFIG_RISKY
if (s->out_format == FMT_H261)
ff_h261_encode_init(s);
if (s->out_format == FMT_H263)
h263_encode_init(s);
if(s->msmpeg4_version)
ff_msmpeg4_encode_init(s);
-#endif
if (s->out_format == FMT_MPEG1)
ff_mpeg1_encode_init(s);
#endif
/* init q matrix */
for(i=0;i<64;i++) {
int j= s->dsp.idct_permutation[i];
-#ifdef CONFIG_RISKY
if(s->codec_id==CODEC_ID_MPEG4 && s->mpeg_quant){
s->intra_matrix[j] = ff_mpeg4_default_intra_matrix[i];
s->inter_matrix[j] = ff_mpeg4_default_non_intra_matrix[i];
s->intra_matrix[j] =
s->inter_matrix[j] = ff_mpeg1_default_non_intra_matrix[i];
}else
-#endif
{ /* mpeg1/2 */
s->intra_matrix[j] = ff_mpeg1_default_intra_matrix[i];
s->inter_matrix[j] = ff_mpeg1_default_non_intra_matrix[i];
switch(s->mv_type) {
case MV_TYPE_16X16:
-#ifdef CONFIG_RISKY
if(s->mcsel){
if(s->real_sprite_warping_points==1){
gmc1_motion(s, dest_y, dest_cb, dest_cr,
ref_picture, pix_op,
s->mv[dir][0][0], s->mv[dir][0][1], 16);
}else
-#endif
{
mpeg_motion(s, dest_y, dest_cb, dest_cr,
0, 0, 0,
}
}//fi gray
}
-#ifdef CONFIG_RISKY
else{
ff_wmv2_add_mb(s, block, dest_y, dest_cb, dest_cr);
}
-#endif
} else {
/* dct only in intra block */
if(s->encoding || !(s->codec_id==CODEC_ID_MPEG1VIDEO || s->codec_id==CODEC_ID_MPEG2VIDEO)){
case CODEC_ID_MPEG1VIDEO:
case CODEC_ID_MPEG2VIDEO:
mpeg1_encode_mb(s, s->block, motion_x, motion_y); break;
-#ifdef CONFIG_RISKY
case CODEC_ID_MPEG4:
mpeg4_encode_mb(s, s->block, motion_x, motion_y); break;
case CODEC_ID_MSMPEG4V2:
case CODEC_ID_RV10:
case CODEC_ID_RV20:
h263_encode_mb(s, s->block, motion_x, motion_y); break;
-#endif
case CODEC_ID_MJPEG:
mjpeg_encode_mb(s, s->block); break;
default:
s->last_mv_dir = 0;
-#ifdef CONFIG_RISKY
switch(s->codec_id){
case CODEC_ID_H263:
case CODEC_ID_H263P:
ff_mpeg4_init_partitions(s);
break;
}
-#endif
s->resync_mb_x=0;
s->resync_mb_y=0;
}
/* write gob / video packet header */
-#ifdef CONFIG_RISKY
if(s->rtp_mode){
int current_packet_size, is_gob_start;
s->resync_mb_y=mb_y;
}
}
-#endif
if( (s->resync_mb_x == s->mb_x)
&& s->resync_mb_y+1 == s->mb_y){
s->mv_dir = MV_DIR_FORWARD | MV_DIR_BACKWARD | MV_DIRECT;
s->mb_intra= 0;
-#ifdef CONFIG_RISKY
ff_mpeg4_set_direct_mv(s, mx, my);
-#endif
encode_mb_hq(s, &backup_s, &best_s, CANDIDATE_MB_TYPE_DIRECT, pb, pb2, tex_pb,
&dmin, &next_block, mx, my);
}
}
s->last_bits= put_bits_count(&s->pb);
-#ifdef CONFIG_RISKY
if (s->out_format == FMT_H263 && s->pict_type!=B_TYPE)
ff_h263_update_motion_val(s);
-#endif
if(next_block==0){ //FIXME 16 vs linesize16
s->dsp.put_pixels_tab[0][0](s->dest[0], s->rd_scratchpad , s->linesize ,16);
s->mb_intra= 0;
motion_x=s->b_direct_mv_table[xy][0];
motion_y=s->b_direct_mv_table[xy][1];
-#ifdef CONFIG_RISKY
ff_mpeg4_set_direct_mv(s, motion_x, motion_y);
-#endif
break;
case CANDIDATE_MB_TYPE_BIDIR:
s->mv_dir = MV_DIR_FORWARD | MV_DIR_BACKWARD;
// RAL: Update last macrobloc type
s->last_mv_dir = s->mv_dir;
-#ifdef CONFIG_RISKY
if (s->out_format == FMT_H263 && s->pict_type!=B_TYPE)
ff_h263_update_motion_val(s);
-#endif
MPV_decode_mb(s, s->block);
}
}
}
-#ifdef CONFIG_RISKY
//not beautifull here but we must write it before flushing so it has to be here
if (s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type == I_TYPE)
msmpeg4_encode_ext_header(s);
-#endif
write_slice_end(s);
s->me.mb_var_sum_temp =
s->me.mc_mb_var_sum_temp = 0;
-#ifdef CONFIG_RISKY
/* we need to initialize some time vars before we can encode b-frames */
// RAL: Condition added for MPEG1VIDEO
if (s->codec_id == CODEC_ID_MPEG1VIDEO || s->codec_id == CODEC_ID_MPEG2VIDEO || (s->h263_pred && !s->h263_msmpeg4))
ff_set_mpeg4_time(s, s->picture_number); //FIXME rename and use has_b_frames or similar
-#endif
s->me.scene_change_score=0;
s->current_picture.quality = ff_rate_estimate_qscale(s); //FIXME pic_ptr
if(s->adaptive_quant){
-#ifdef CONFIG_RISKY
switch(s->codec_id){
case CODEC_ID_MPEG4:
ff_clean_mpeg4_qscales(s);
ff_clean_h263_qscales(s);
break;
}
-#endif
s->lambda= s->lambda_table[0];
//FIXME broken
case FMT_MJPEG:
mjpeg_picture_header(s);
break;
-#ifdef CONFIG_RISKY
case FMT_H261:
ff_h261_encode_picture_header(s, picture_number);
break;
else
h263_encode_picture_header(s, picture_number);
break;
-#endif
case FMT_MPEG1:
mpeg1_encode_picture_header(s, picture_number);
break;
};
#ifdef CONFIG_ENCODERS
-#ifdef CONFIG_RISKY
AVCodec h263_encoder = {
"h263",
CODEC_TYPE_VIDEO,
.options = mpeg4_options,
};
-#endif
-
AVCodec mjpeg_encoder = {
"mjpeg",
CODEC_TYPE_VIDEO,