mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-28 05:50:43 +00:00
optimization
Originally committed as revision 992 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ce5b7c5e11
commit
3994623df2
@ -362,7 +362,12 @@ uint64_t time= rdtsc();
|
||||
h = s->height - y;
|
||||
if (h > 16)
|
||||
h = 16;
|
||||
offset = y * s->linesize;
|
||||
|
||||
if(s->pict_type==B_TYPE)
|
||||
offset = 0;
|
||||
else
|
||||
offset = y * s->linesize;
|
||||
|
||||
if(s->pict_type==B_TYPE || (!s->has_b_frames)){
|
||||
src_ptr[0] = s->current_picture[0] + offset;
|
||||
src_ptr[1] = s->current_picture[1] + (offset >> 2);
|
||||
|
@ -1604,7 +1604,10 @@ static int mpeg_decode_slice(AVCodecContext *avctx,
|
||||
h = s->height - y;
|
||||
if (h > 16)
|
||||
h = 16;
|
||||
offset = y * s->linesize;
|
||||
if(s->pict_type==B_TYPE)
|
||||
offset = 0;
|
||||
else
|
||||
offset = y * s->linesize;
|
||||
if(s->pict_type==B_TYPE || (!s->has_b_frames)){
|
||||
src_ptr[0] = s->current_picture[0] + offset;
|
||||
src_ptr[1] = s->current_picture[1] + (offset >> 2);
|
||||
|
@ -1684,9 +1684,15 @@ void MPV_decode_mb(MpegEncContext *s, DCTELEM block[6][64])
|
||||
}
|
||||
}
|
||||
|
||||
dest_y = s->current_picture [0] + (mb_y * 16* s->linesize ) + mb_x * 16;
|
||||
dest_cb = s->current_picture[1] + (mb_y * 8 * s->uvlinesize) + mb_x * 8;
|
||||
dest_cr = s->current_picture[2] + (mb_y * 8 * s->uvlinesize) + mb_x * 8;
|
||||
if(s->pict_type==B_TYPE && s->avctx->draw_horiz_band){
|
||||
dest_y = s->current_picture [0] + mb_x * 16;
|
||||
dest_cb = s->current_picture[1] + mb_x * 8;
|
||||
dest_cr = s->current_picture[2] + mb_x * 8;
|
||||
}else{
|
||||
dest_y = s->current_picture [0] + (mb_y * 16* s->linesize ) + mb_x * 16;
|
||||
dest_cb = s->current_picture[1] + (mb_y * 8 * s->uvlinesize) + mb_x * 8;
|
||||
dest_cr = s->current_picture[2] + (mb_y * 8 * s->uvlinesize) + mb_x * 8;
|
||||
}
|
||||
|
||||
if (s->interlaced_dct) {
|
||||
dct_linesize = s->linesize * 2;
|
||||
|
Loading…
Reference in New Issue
Block a user