pre-store in bff_mask the correct or-mask to be saved in the pce (slightly faster)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21497 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nicodvb 2006-12-04 20:38:46 +00:00
parent b20ee9dff3
commit 858813f36f
1 changed files with 4 additions and 5 deletions

View File

@ -1670,9 +1670,7 @@ static int soft_telecine(muxer_priv_t *priv, muxer_headers_t *vpriv, uint8_t *fp
}
else if(vpriv->telecine == TELECINE_DGPULLDOWN)
{
tff = (bff_mask[vpriv->display_frame % MAX_PATTERN_LENGTH] & 0x2) ? 0x80 : 0;
rff = (bff_mask[vpriv->display_frame % MAX_PATTERN_LENGTH] & 0x1) ? 0x02 : 0;
pce_ptr[3] = (pce_ptr[3] & 0xfd) | tff | rff;
pce_ptr[3] = (pce_ptr[3] & 0xfd) | bff_mask[vpriv->display_frame % MAX_PATTERN_LENGTH];
}
else
{
@ -2549,6 +2547,7 @@ static void generate_flags(int source, int target)
{
unsigned int i, trfp;
uint64_t dfl,tfl;
unsigned char ormask[4] = {0x0, 0x2, 0x80, 0x82};
dfl = (target - source) << 1;
tfl = source >> 1;
@ -2560,11 +2559,11 @@ static void generate_flags(int source, int target)
if(tfl >= source)
{
tfl -= source;
bff_mask[i] = trfp + 1;
bff_mask[i] = ormask[trfp + 1];
trfp ^= 2;
}
else
bff_mask[i] = trfp;
bff_mask[i] = ormask[trfp];
}
}