mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-30 14:40:32 +00:00
Mask bits of reference indexes properly to avoid negative numbers entangling
each other. Fixes at least: CAMA1_TOSHIBA_B cama1_vtc_c CAMA3_Sand_E cama3_vtc_b CAMASL3_Sony_B CVMA1_TOSHIBA_B CVMAQP3_Sony_D cvmp_mot_mbaff0_full_B FRExt/HCAMFF1_HHI FRExt/HCHP3_HHI_A FRExt/HVLCMFF0_Sony_B Originally committed as revision 14683 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e248cb601e
commit
beca9a286c
@ -191,10 +191,10 @@ static void fill_caches(H264Context *h, int mb_type, int for_deblock){
|
||||
if(USES_LIST(mb_type,list)){
|
||||
int8_t *ref = &s->current_picture.ref_index[list][h->mb2b8_xy[mb_xy]];
|
||||
*(uint32_t*)&h->ref_cache[list][scan8[ 0]] =
|
||||
*(uint32_t*)&h->ref_cache[list][scan8[ 2]] = pack16to32(ref[0],ref[1])*0x0101;
|
||||
*(uint32_t*)&h->ref_cache[list][scan8[ 2]] = (pack16to32(ref[0],ref[1])&0x00FF00FF)*0x0101;
|
||||
ref += h->b8_stride;
|
||||
*(uint32_t*)&h->ref_cache[list][scan8[ 8]] =
|
||||
*(uint32_t*)&h->ref_cache[list][scan8[10]] = pack16to32(ref[0],ref[1])*0x0101;
|
||||
*(uint32_t*)&h->ref_cache[list][scan8[10]] = (pack16to32(ref[0],ref[1])&0x00FF00FF)*0x0101;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user