Ticket #421: yuv2rgb-vanilla-fix.patch
| File yuv2rgb-vanilla-fix.patch, 2.6 kB (added by wiking, 3 months ago) |
|---|
-
oggplay_yuv2rgb.c
old new 357 357 ptro2 = ptro; 358 358 for (j = 0; j < yuv->y_width; j += 2) { 359 359 360 short pr, pg, pb ;360 short pr, pg, pb, y; 361 361 short r, g, b; 362 362 363 //pr = ((128 + (ptrv[j/2] - 128) * 292) >> 8) - 16; /* 1.14 * 256 */ 364 pr = (-41344 + ptrv[j/2] * 292) >> 8; 365 //pg = ((128 - (ptru[j/2] - 128) * 101 - (ptrv[j/2] - 128) * 149) >> 8)-16; 366 // /* 0.395 & 0.581 */ 367 pg = (28032 - ptru[j/2] * 101 - ptrv[j/2] * 149) >> 8; 368 //pb = ((128 + (ptru[j/2] - 128) * 520) >> 8) - 16; /* 2.032 */ 369 pb = (-70528 + ptru[j/2] * 520) >> 8; 363 pr = (-56992 + ptrv[j/2] * 409) >> 8; 364 pg = (34784 - ptru[j/2] * 100 - ptrv[j/2] * 208) >> 8; 365 pb = (-70688 + ptru[j/2] * 516) >> 8; 370 366 371 r = ptry[j] + pr; 372 g = ptry[j] + pg; 373 b = ptry[j] + pb; 367 y = 298*ptry[j] >> 8; 368 r = y + pr; 369 g = y + pg; 370 b = y + pb; 374 371 375 372 *ptro2++ = CLAMP(r); 376 373 *ptro2++ = CLAMP(g); 377 374 *ptro2++ = CLAMP(b); 378 375 *ptro2++ = 255; 379 376 380 r = ptry[j + 1] + pr; 381 g = ptry[j + 1] + pg; 382 b = ptry[j + 1] + pb; 377 y = 298*ptry[j + 1] >> 8; 378 r = y + pr; 379 g = y + pg; 380 b = y + pb; 383 381 384 382 *ptro2++ = CLAMP(r); 385 383 *ptro2++ = CLAMP(g); … … 409 407 ptro2 = ptro; 410 408 for (j = 0; j < yuv->y_width; j += 2) { 411 409 412 short pr, pg, pb ;410 short pr, pg, pb, y; 413 411 short r, g, b; 414 412 415 //pr = ((128 + (ptrv[j/2] - 128) * 292) >> 8) - 16; /* 1.14 * 256 */ 416 pr = (-41344 + ptrv[j/2] * 292) >> 8; 417 //pg = ((128 - (ptru[j/2] - 128) * 101 - (ptrv[j/2] - 128) * 149) >> 8)-16; 418 // /* 0.395 & 0.581 */ 419 pg = (28032 - ptru[j/2] * 101 - ptrv[j/2] * 149) >> 8; 420 //pb = ((128 + (ptru[j/2] - 128) * 520) >> 8) - 16; /* 2.032 */ 421 pb = (-70528 + ptru[j/2] * 520) >> 8; 413 pr = (-56992 + ptrv[j/2] * 409) >> 8; 414 pg = (34784 - ptru[j/2] * 100 - ptrv[j/2] * 208) >> 8; 415 pb = (-70688 + ptru[j/2] * 516) >> 8; 422 416 423 r = ptry[j] + pr; 424 g = ptry[j] + pg; 425 b = ptry[j] + pb; 417 y = 298*ptry[j] >> 8; 418 r = y + pr; 419 g = y + pg; 420 b = y + pb; 426 421 427 422 *ptro2++ = CLAMP(b); 428 423 *ptro2++ = CLAMP(g); 429 424 *ptro2++ = CLAMP(r); 430 425 *ptro2++ = 255; 431 426 432 r = ptry[j + 1] + pr; 433 g = ptry[j + 1] + pg; 434 b = ptry[j + 1] + pb; 427 y = 298*ptry[j + 1] >> 8; 428 r = y + pr; 429 g = y + pg; 430 b = y + pb; 435 431 436 432 *ptro2++ = CLAMP(b); 437 433 *ptro2++ = CLAMP(g);