AkarinVS / L-SMASH-Works

Works based on L-SMASH project; This repo focuses on the common portion and the VapourSynth plugin. AviSynth users please use https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works. ffmpeg 5.0+ please use ffmpeg-4.5 branch.
47 stars 11 forks source link

LWLibavSource: unable to return alpha frame of ARGB png image if alpha frame is requested after the main content #8

Closed AkarinVS closed 3 years ago

AkarinVS commented 3 years ago

Using VS R54.

Given a png file (logo11.png) with transparency, this code fails with "lsmas: failed to output a video frame." for the alpha clip:

import vapoursynth as vs
core = vs.core
c = core.lsmas.LWLibavSource('logo11.png')

if True:
  f = c[0].get_frame(0)
  a = f.get_read_array(0)
  print(a[0,1])

f = c[1].get_frame(0) # fails here
a = f.get_read_array(0)
print(a[0,1])

However, if we flip the condition of the if statement, it works.

Also, a test sample movie with alpha (RLE RGBA) https://user-images.githubusercontent.com/79720032/132518447-659caa63-ce2d-4120-9f76-5700cfc7fcb6.mov