Fix avpicture_layout to not chroma shift the alpha plane when outputting YUVA420P
Originally committed as revision 17654 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
73914d56d9
commit
5f59207d94
@ -721,7 +721,7 @@ int avpicture_layout(const AVPicture* src, int pix_fmt, int width, int height,
|
|||||||
unsigned char *dest, int dest_size)
|
unsigned char *dest, int dest_size)
|
||||||
{
|
{
|
||||||
const PixFmtInfo* pf = &pix_fmt_info[pix_fmt];
|
const PixFmtInfo* pf = &pix_fmt_info[pix_fmt];
|
||||||
int i, j, w, h, data_planes;
|
int i, j, w, ow, h, oh, data_planes;
|
||||||
const unsigned char* s;
|
const unsigned char* s;
|
||||||
int size = avpicture_get_size(pix_fmt, width, height);
|
int size = avpicture_get_size(pix_fmt, width, height);
|
||||||
|
|
||||||
@ -751,10 +751,16 @@ int avpicture_layout(const AVPicture* src, int pix_fmt, int width, int height,
|
|||||||
h = height;
|
h = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ow = w;
|
||||||
|
oh = h;
|
||||||
|
|
||||||
for (i=0; i<data_planes; i++) {
|
for (i=0; i<data_planes; i++) {
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
w = width >> pf->x_chroma_shift;
|
w = width >> pf->x_chroma_shift;
|
||||||
h = height >> pf->y_chroma_shift;
|
h = height >> pf->y_chroma_shift;
|
||||||
|
} else if (i == 3) {
|
||||||
|
w = ow;
|
||||||
|
h = oh;
|
||||||
}
|
}
|
||||||
s = src->data[i];
|
s = src->data[i];
|
||||||
for(j=0; j<h; j++) {
|
for(j=0; j<h; j++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user