git.videolan.org Git - ffmpeg.git/rss log

FFmpeg git repo

http://git.videolan.org/?p=ffmpeg.git;a=summary

Les articles publiés sur le site

  • swscale/swscale_unscaled : fix packed16togbra16() for formats with bpc between 9-14...

    18 mai, par Ramiro Polla
    swscale/swscale_unscaled: fix packed16togbra16() for formats with bpc between 9-14 bits
    
    Currently, packed16togbra16() always sets the alpha value to 0xFFFF,
    without taking the bit depth into consideration.
    
    This causes a bug on x86, which can be reproduced with:
    ./libswscale/tests/swscale -unscaled 1 -src xyz12le -dst gbrap12be
    
    The problem arises in ff_hscale14to15_4_ssse3(), in the conversion
    from gbrap12be to yuva444p, which comes after the conversion from
    xyz12le to gbrap12be.
    
    It has something to do with pmaddwd not working on unsigned values.
    There is some code to deal with 0xFFFF if the input has a bit depth of
    16, but not for bit depths < 16.
    We could fix ff_hscale14to15_4_ssse3() to also work correctly with
    0xFFFF on bit depths < 16, or we could just not write 0xFFFF there in
    the first place, which is what this commit does.
    
    • [DH] libswscale/swscale_unscaled.c
  • swscale/swscale_unscaled : fix packed30togbra10() for formats with bpc between 9-14...

    18 mai, par Ramiro Polla
    swscale/swscale_unscaled: fix packed30togbra10() for formats with bpc between 9-14 bits
    
    Currently, packed30togbra10() always sets the alpha value to 0xFFFF,
    without taking the bit depth into consideration.
    
    This commit restricts the alpha value to the bit depth.
    
    • [DH] libswscale/swscale_unscaled.c
  • swscale/swscale_unscaled : fix planarCopyWrapper() for yuv444p => yuva444p

    18 mai, par Ramiro Polla
    swscale/swscale_unscaled: fix planarCopyWrapper() for yuv444p => yuva444p
    
    Currently, planarCopyWrapper() assumes that src[3] must be NULL when
    the source format has no alpha plane.
    
    This commit updates the condition for filling the alpha plane based on
    the number of components available in the source format as well.
    
    • [DH] libswscale/swscale_unscaled.c
  • avcodec/mpeg4videoenc : Use smaller scope for variable

    18 mai, par Andreas Rheinhardt
    avcodec/mpeg4videoenc: Use smaller scope for variable
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
    
    • [DH] libavcodec/mpeg4videoenc.c
  • avcodec/mpeg4videoenc : Split writing blocks into intra and inter

    18 mai, par Andreas Rheinhardt
    avcodec/mpeg4videoenc: Split writing blocks into intra and inter
    
    These are sufficiently different to warrant their own functions;
    in particular, the earlier code had two callsites for the actual
    "write block" function, one for intra and one for inter, yet
    the "write block" function nevertheless performed a check
    (that the compiler can't optimize away) for whether the current
    MB is intra or not.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
    
    • [DH] libavcodec/mpeg4videoenc.c