mirror of
https://github.com/mpv-player/mpv
synced 2025-03-02 04:11:03 +00:00
fix full range (jpeg yuv) chroma
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22713 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
01c2a013f8
commit
f605cf5f93
@ -1876,7 +1876,12 @@ int sws_setColorspaceDetails(SwsContext *c, const int inv_table[4], int srcRange
|
||||
if(!srcRange){
|
||||
cy= (cy*255) / 219;
|
||||
oy= 16<<16;
|
||||
}
|
||||
}else{
|
||||
crv= (crv*224) / 255;
|
||||
cbu= (cbu*224) / 255;
|
||||
cgu= (cgu*224) / 255;
|
||||
cgv= (cgv*224) / 255;
|
||||
}
|
||||
|
||||
cy = (cy *contrast )>>16;
|
||||
crv= (crv*contrast * saturation)>>32;
|
||||
|
@ -670,6 +670,11 @@ int yuv2rgb_c_init_tables (SwsContext *c, const int inv_table[4], int fullRange,
|
||||
if(!fullRange){
|
||||
cy= (cy*255) / 219;
|
||||
oy= 16<<16;
|
||||
}else{
|
||||
crv= (crv*224) / 255;
|
||||
cbu= (cbu*224) / 255;
|
||||
cgu= (cgu*224) / 255;
|
||||
cgv= (cgv*224) / 255;
|
||||
}
|
||||
|
||||
cy = (cy *contrast )>>16;
|
||||
|
@ -263,6 +263,11 @@ int yuv2rgb_c_init_tables(SwsContext *c, const int inv_table[4], int fullRange,
|
||||
if (fullRange) {
|
||||
cy = 1 << 16;
|
||||
oy = 0;
|
||||
crv= (crv*224) / 255;
|
||||
cbu= (cbu*224) / 255;
|
||||
cgu= (cgu*224) / 255;
|
||||
cgv= (cgv*224) / 255;
|
||||
//FIXME maybe its cleaner if the tables where based on full range (*244/255)
|
||||
} else {
|
||||
cy = ((1 << 16) * 255) / 219;
|
||||
oy= 16 << 16;
|
||||
|
Loading…
Reference in New Issue
Block a user