mpegvideo: fix position of bottom edge.
It was wrong in colorspaces where horizontal and vertical chroma subsampling are not the same, e.g. 422.
This commit is contained in:
parent
e83c2ddebf
commit
0884dd5a1b
@ -2313,12 +2313,15 @@ void ff_draw_horiz_band(MpegEncContext *s, int y, int h){
|
||||
|
||||
edge_h= FFMIN(h, s->v_edge_pos - y);
|
||||
|
||||
s->dsp.draw_edges(s->current_picture_ptr->f.data[0] + y *s->linesize , s->linesize,
|
||||
s->h_edge_pos , edge_h , EDGE_WIDTH , EDGE_WIDTH , sides);
|
||||
s->dsp.draw_edges(s->current_picture_ptr->f.data[1] + (y>>vshift)*s->uvlinesize, s->uvlinesize,
|
||||
s->h_edge_pos>>hshift, edge_h>>hshift, EDGE_WIDTH>>hshift, EDGE_WIDTH>>vshift, sides);
|
||||
s->dsp.draw_edges(s->current_picture_ptr->f.data[2] + (y>>vshift)*s->uvlinesize, s->uvlinesize,
|
||||
s->h_edge_pos>>hshift, edge_h>>hshift, EDGE_WIDTH>>hshift, EDGE_WIDTH>>vshift, sides);
|
||||
s->dsp.draw_edges(s->current_picture_ptr->f.data[0] + y *s->linesize,
|
||||
s->linesize, s->h_edge_pos, edge_h,
|
||||
EDGE_WIDTH, EDGE_WIDTH, sides);
|
||||
s->dsp.draw_edges(s->current_picture_ptr->f.data[1] + (y>>vshift)*s->uvlinesize,
|
||||
s->uvlinesize, s->h_edge_pos>>hshift, edge_h>>vshift,
|
||||
EDGE_WIDTH>>hshift, EDGE_WIDTH>>vshift, sides);
|
||||
s->dsp.draw_edges(s->current_picture_ptr->f.data[2] + (y>>vshift)*s->uvlinesize,
|
||||
s->uvlinesize, s->h_edge_pos>>hshift, edge_h>>vshift,
|
||||
EDGE_WIDTH>>hshift, EDGE_WIDTH>>vshift, sides);
|
||||
}
|
||||
|
||||
h= FFMIN(h, s->avctx->height - y);
|
||||
|
Loading…
Reference in New Issue
Block a user