dwing吧 关注:5,598贴子:87,794
  • 11回复贴,共1

色彩空间转换有没有可能做到无损?

只看楼主收藏回复

字幕组压视频经常需要某些地方添加图片,目前的做法是先ConvertToRGB32,然后Layer加图片,然后再ConvertToYV12转回来。
感觉这两次色彩转换是有损的,有没有办法无损转换,或者源滤镜直接输出rgb,这样也能少转一次


IP属地:河南1楼2017-03-17 22:48回复
    提供一种思路(我也不知道可不可行)
    前提:图片不涉及alpha通道
    1、图片转为YUV2
    2、Y平面不动,对UV平面resize,组成YUV2,layer加图片,得到A
    3、UV平面不动,对Y平面resize,组成YUV2,layer加图片(要相应进行resize),得到B
    4、取A的Y平面与B的UV平面,组成YV12
    ----------------------------------------------------------------------------------
    如果图片涉及alpha通道就不能那样做了,就只能通过提高运算精度来减少损失了,建议全部在16bit下处理


    IP属地:江苏2楼2017-03-17 23:14
    回复
      另外,除非你的视频是RGB的,不然,即使源滤镜输出rgb也是源滤镜帮你做了转换而已


      IP属地:江苏来自Android客户端3楼2017-03-17 23:21
      收起回复
        tie(度)ba.b(熊)aidu.c(吞)om/p(连)/2732(接)517788?pid=42432274403


        IP属地:江苏6楼2017-03-18 20:36
        回复
          为什么你要考虑把整个片子搞进RGB(32位浮点例外),而不是把图片搞进YUV再overlay呢?


          IP属地:江苏7楼2017-03-18 20:38
          收起回复
            提高精度就行了
            8bitRGB转换为10bityuv再转换为8bitRGB是无损的


            IP属地:广东来自Android客户端8楼2017-03-19 01:51
            回复
              问题是你为何不选择把图片转成YUV而是选择将视频转成RGB……


              IP属地:广西来自Android客户端9楼2017-03-21 02:30
              回复