mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
fix constrained parameters flag
Originally committed as revision 3609 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d08f4bcbbd
commit
7494cac0fd
@ -1882,7 +1882,7 @@ int ff_get_best_fcode(MpegEncContext * s, int16_t (*mv_table)[2], int type)
|
||||
{
|
||||
if(s->me_method>=ME_EPZS){
|
||||
int score[8];
|
||||
int i, y;
|
||||
int i, y, range= s->avctx->me_range;
|
||||
uint8_t * fcode_tab= s->fcode_tab;
|
||||
int best_fcode=-1;
|
||||
int best_score=-10000000;
|
||||
@ -1894,10 +1894,18 @@ int ff_get_best_fcode(MpegEncContext * s, int16_t (*mv_table)[2], int type)
|
||||
int xy= y*s->mb_stride;
|
||||
for(x=0; x<s->mb_width; x++){
|
||||
if(s->mb_type[xy] & type){
|
||||
int fcode= FFMAX(fcode_tab[mv_table[xy][0] + MAX_MV],
|
||||
fcode_tab[mv_table[xy][1] + MAX_MV]);
|
||||
int mx= mv_table[xy][0];
|
||||
int my= mv_table[xy][1];
|
||||
int fcode= FFMAX(fcode_tab[mx + MAX_MV],
|
||||
fcode_tab[my + MAX_MV]);
|
||||
int j;
|
||||
|
||||
if(range){
|
||||
if(mx >= range || mx < -range ||
|
||||
my >= range || my < -range)
|
||||
continue;
|
||||
}
|
||||
|
||||
for(j=0; j<fcode && j<8; j++){
|
||||
if(s->pict_type==B_TYPE || s->current_picture.mc_mb_var[xy] < s->current_picture.mb_var[xy])
|
||||
score[j]-= 170;
|
||||
|
@ -303,6 +303,7 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s)
|
||||
s->mb_width * s->mb_height <= 396 &&
|
||||
s->mb_width * s->mb_height * framerate.num <= framerate.den*396*25 &&
|
||||
framerate.num <= framerate.den*30 &&
|
||||
s->avctx->me_range && s->avctx->me_range < 128 &&
|
||||
vbv_buffer_size <= 20 &&
|
||||
v <= 1856000/400 &&
|
||||
s->codec_id == CODEC_ID_MPEG1VIDEO;
|
||||
|
Loading…
Reference in New Issue
Block a user