[FFmpeg-cvslog] lavc/ffv1dec: Scale output for msb-packed compression to full 16bit.

Carl Eugen Hoyos git at videolan.org
Thu Nov 17 14:01:50 EET 2016


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Nov 17 13:00:47 2016 +0100| [55a424c5a836523828b3b2f02b7db610e898b3fc] | committer: Carl Eugen Hoyos

lavc/ffv1dec: Scale output for msb-packed compression to full 16bit.

2% slowdown for existing decode-line timer.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55a424c5a836523828b3b2f02b7db610e898b3fc
---

 libavcodec/ffv1dec.c | 2 +-
 libavcodec/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index d8f35c3..0719e28 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -142,7 +142,7 @@ static void decode_plane(FFV1Context *s, uint8_t *src,
                 }
             } else {
                 for (x = 0; x < w; x++) {
-                    ((uint16_t*)(src + stride*y))[x*pixel_stride] = sample[1][x] << (16 - s->avctx->bits_per_raw_sample);
+                    ((uint16_t*)(src + stride*y))[x*pixel_stride] = sample[1][x] << (16 - s->avctx->bits_per_raw_sample) | ((uint16_t **)sample)[1][x] >> (2 * s->avctx->bits_per_raw_sample - 16);
                 }
             }
         }
diff --git a/libavcodec/version.h b/libavcodec/version.h
index b5e9ad7..d7819e4 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
 
 #define LIBAVCODEC_VERSION_MAJOR  57
 #define LIBAVCODEC_VERSION_MINOR  66
-#define LIBAVCODEC_VERSION_MICRO 104
+#define LIBAVCODEC_VERSION_MICRO 105
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \



More information about the ffmpeg-cvslog mailing list