mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-03 14:32:16 +02:00
avcodec/qtrle : avoid swap in 32bpp decoding on little endian
improve speed on little endian benchmark on x86_64 : mainly raw : 33fps -> 38fps mainly rle : 128fps -> 153 fps
This commit is contained in:
parent
9cb576fc1e
commit
5496a73488
@ -367,7 +367,7 @@ static void qtrle_decode_32bpp(QtrleContext *s, int row_ptr, int lines_to_change
|
||||
} else if (rle_code < 0) {
|
||||
/* decode the run length code */
|
||||
rle_code = -rle_code;
|
||||
argb = bytestream2_get_be32(&s->g);
|
||||
argb = bytestream2_get_ne32(&s->g);
|
||||
|
||||
CHECK_PIXEL_PTR(rle_code * 4);
|
||||
|
||||
@ -380,7 +380,7 @@ static void qtrle_decode_32bpp(QtrleContext *s, int row_ptr, int lines_to_change
|
||||
|
||||
/* copy pixels directly to output */
|
||||
while (rle_code--) {
|
||||
argb = bytestream2_get_be32(&s->g);
|
||||
argb = bytestream2_get_ne32(&s->g);
|
||||
AV_WN32A(rgb + pixel_ptr, argb);
|
||||
pixel_ptr += 4;
|
||||
}
|
||||
@ -416,7 +416,7 @@ static av_cold int qtrle_decode_init(AVCodecContext *avctx)
|
||||
break;
|
||||
|
||||
case 32:
|
||||
avctx->pix_fmt = AV_PIX_FMT_RGB32;
|
||||
avctx->pix_fmt = AV_PIX_FMT_ARGB;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 58
|
||||
#define LIBAVCODEC_VERSION_MINOR 47
|
||||
#define LIBAVCODEC_VERSION_MICRO 102
|
||||
#define LIBAVCODEC_VERSION_MICRO 103
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
Loading…
x
Reference in New Issue
Block a user