diff options
Diffstat (limited to 'libavformat/rawutils.c')
-rw-r--r-- | libavformat/rawutils.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/libavformat/rawutils.c b/libavformat/rawutils.c index 26ebbb5629..996412adb9 100644 --- a/libavformat/rawutils.c +++ b/libavformat/rawutils.c @@ -22,30 +22,30 @@ #include "avformat.h" #include "internal.h" -int ff_reshuffle_raw_rgb(AVFormatContext *s, AVPacket **ppkt, AVCodecContext *enc, int expected_stride) +int ff_reshuffle_raw_rgb(AVFormatContext *s, AVPacket **ppkt, AVCodecParameters *par, int expected_stride) { int ret; AVPacket *pkt = *ppkt; - int64_t bpc = enc->bits_per_coded_sample != 15 ? enc->bits_per_coded_sample : 16; - int min_stride = (enc->width * bpc + 7) >> 3; - int with_pal_size = min_stride * enc->height + 1024; + int64_t bpc = par->bits_per_coded_sample != 15 ? par->bits_per_coded_sample : 16; + int min_stride = (par->width * bpc + 7) >> 3; + int with_pal_size = min_stride * par->height + 1024; int contains_pal = bpc == 8 && pkt->size == with_pal_size; - int size = contains_pal ? min_stride * enc->height : pkt->size; - int stride = size / enc->height; + int size = contains_pal ? min_stride * par->height : pkt->size; + int stride = size / par->height; int padding = expected_stride - FFMIN(expected_stride, stride); int y; AVPacket *new_pkt; - if (pkt->size == expected_stride * enc->height) + if (pkt->size == expected_stride * par->height) return 0; - if (size != stride * enc->height) + if (size != stride * par->height) return 0; new_pkt = av_packet_alloc(); if (!new_pkt) return AVERROR(ENOMEM); - ret = av_new_packet(new_pkt, expected_stride * enc->height); + ret = av_new_packet(new_pkt, expected_stride * par->height); if (ret < 0) goto fail; @@ -53,7 +53,7 @@ int ff_reshuffle_raw_rgb(AVFormatContext *s, AVPacket **ppkt, AVCodecContext *en if (ret < 0) goto fail; - for (y = 0; y<enc->height; y++) { + for (y = 0; y<par->height; y++) { memcpy(new_pkt->data + y*expected_stride, pkt->data + y*stride, FFMIN(expected_stride, stride)); memset(new_pkt->data + y*expected_stride + expected_stride - padding, 0, padding); } |