Skip to content
Snippets Groups Projects
  • Daniel Almeida's avatar
    9e86ac4a
    v4l2codecs: add wrappers for alpha decode · 9e86ac4a
    Daniel Almeida authored and Nicolas Dufresne's avatar Nicolas Dufresne committed
    codecalpha is a new plugin introduced to support VP8/VP9 alpha as
    defined in the WebM and Matroska specifications. It splits the stream
    into two streams, one for the alpha and one for the actual content,
    then it decodes them separately with vpxdec and finally combine the
    results as A420 or AV12 (i.e. YUV + an extra alpha plane).
    
    The workflow above is setup by means of a bin, gstcodecalphabin.
    
    This patch simulates the same workflow into the v4l2codecs namespace,
    thus using the new v4l2 stateless decoders for hardware acceleration.
    
    This is so we can register the new alpha decode elements only if the
    hardware produces formats we support, i.e. I420 or NV12 for now.
    
    Part-of: <!2272>
    9e86ac4a
    History
    v4l2codecs: add wrappers for alpha decode
    Daniel Almeida authored and Nicolas Dufresne's avatar Nicolas Dufresne committed
    codecalpha is a new plugin introduced to support VP8/VP9 alpha as
    defined in the WebM and Matroska specifications. It splits the stream
    into two streams, one for the alpha and one for the actual content,
    then it decodes them separately with vpxdec and finally combine the
    results as A420 or AV12 (i.e. YUV + an extra alpha plane).
    
    The workflow above is setup by means of a bin, gstcodecalphabin.
    
    This patch simulates the same workflow into the v4l2codecs namespace,
    thus using the new v4l2 stateless decoders for hardware acceleration.
    
    This is so we can register the new alpha decode elements only if the
    hardware produces formats we support, i.e. I420 or NV12 for now.
    
    Part-of: <!2272>