Jika gambar RGB 24bit dengan kisaran 0-255 per saluran ditampilkan pada televisi yang menampilkan kisaran sekitar. 16-235 per saluran, detail warna akan hilang, benar?
Jika demikian, haruskah gambar diproses lebih dulu untuk hanya menyimpan rentang yang valid? Saya ingin melakukan ini dengan kode, bukan di aplikasi pengeditan gambar. Samar-samar saya ingat pernah membaca bahwa pemetaan linear bukanlah cara terbaik untuk melakukan ini, tetapi sayangnya saya tidak dapat menemukan artikel yang saya baca! Disebut apakah proses ini? Apa detail lain yang perlu saya ketahui?
Pemetaan linier mungkin bukan solusi terbaik (yang saya percaya melibatkan pengubahan RGB Anda ke ruang warna CIE , penskalaan di sana, dan konversi kembali), tetapi sangat mudah diterapkan, dan perbedaan jangkauannya cukup kecil mungkin tidak masalah .
Jika Anda menggunakan SOIL , ini dapat secara otomatis melakukan ini saat memuat gambar, dengan meneruskan SOIL_FLAG_NTSC_SAFE_RGB ke fungsi pemuatan.
Dokumentasi Microsoft mengatakan untuk menjepit, dan merekomendasikan melakukannya dalam pixel shader. (Linear scaling juga harus mudah dalam satu.) Ini juga menyebutkan chroma crawl, yang menurut pengalaman saya adalah fenomena yang jauh lebih menyebalkan ketika bekerja di layar TV.
sumber