hedgewars/avwrapper/avwrapper.c
changeset 11807 93621207563b
parent 11629 c2e6df2cfac7
child 13537 ecdf6ce2301e
equal deleted inserted replaced
11806:2af936302bab 11807:93621207563b
   445             int luma = (int)(0.299f * r +  0.587f * g + 0.114f * b);
   445             int luma = (int)(0.299f * r +  0.587f * g + 0.114f * b);
   446             data[0][x] = av_clip_uint8(luma);
   446             data[0][x] = av_clip_uint8(luma);
   447 
   447 
   448             if (!(x & 1) && !(y & 1)) {
   448             if (!(x & 1) && !(y & 1)) {
   449                 int r = (buf[x * 4 + 0]          + buf[(x + 1) * 4 + 0] +
   449                 int r = (buf[x * 4 + 0]          + buf[(x + 1) * 4 + 0] +
   450                          buf[x * 4 + 0 + stride] + buf[(x + 1) * 4 + 0 + stride]) / 4;
   450                          buf[x * 4 + 0 - stride] + buf[(x + 1) * 4 + 0 - stride]) / 4;
   451                 int g = (buf[x * 4 + 1]          + buf[(x + 1) * 4 + 1] +
   451                 int g = (buf[x * 4 + 1]          + buf[(x + 1) * 4 + 1] +
   452                          buf[x * 4 + 1 + stride] + buf[(x + 1) * 4 + 1 + stride]) / 4;
   452                          buf[x * 4 + 1 - stride] + buf[(x + 1) * 4 + 1 - stride]) / 4;
   453                 int b = (buf[x * 4 + 2]          + buf[(x + 1) * 4 + 2] +
   453                 int b = (buf[x * 4 + 2]          + buf[(x + 1) * 4 + 2] +
   454                          buf[x * 4 + 2 + stride] + buf[(x + 1) * 4 + 2 + stride]) / 4;
   454                          buf[x * 4 + 2 - stride] + buf[(x + 1) * 4 + 2 - stride]) / 4;
   455 
   455 
   456                 int cr = (int)(-0.14713f * r - 0.28886f * g + 0.436f   * b);
   456                 int cr = (int)(-0.14713f * r - 0.28886f * g + 0.436f   * b);
   457                 int cb = (int)( 0.615f   * r - 0.51499f * g - 0.10001f * b);
   457                 int cb = (int)( 0.615f   * r - 0.51499f * g - 0.10001f * b);
   458                 data[1][x / 2] = av_clip_uint8(128 + cr);
   458                 data[1][x / 2] = av_clip_uint8(128 + cr);
   459                 data[2][x / 2] = av_clip_uint8(128 + cb);
   459                 data[2][x / 2] = av_clip_uint8(128 + cb);