mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
avcodec/mjpegenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
c81234651f
commit
5b3f4b3ef5
@ -537,8 +537,8 @@ static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
|
|
||||||
{
|
{
|
||||||
MpegEncContext *s = avctx->priv_data;
|
MpegEncContext *s = avctx->priv_data;
|
||||||
AVFrame pic = *pic_arg;
|
AVFrame *pic;
|
||||||
int i;
|
int i, ret;
|
||||||
int chroma_h_shift, chroma_v_shift;
|
int chroma_h_shift, chroma_v_shift;
|
||||||
|
|
||||||
av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &chroma_h_shift, &chroma_v_shift);
|
av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &chroma_h_shift, &chroma_v_shift);
|
||||||
@ -547,13 +547,17 @@ static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
if(s->avctx->flags & CODEC_FLAG_EMU_EDGE)
|
if(s->avctx->flags & CODEC_FLAG_EMU_EDGE)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
pic = av_frame_alloc();
|
||||||
|
av_frame_ref(pic, pic_arg);
|
||||||
//picture should be flipped upside-down
|
//picture should be flipped upside-down
|
||||||
for(i=0; i < 3; i++) {
|
for(i=0; i < 3; i++) {
|
||||||
int vsample = i ? 2 >> chroma_v_shift : 2;
|
int vsample = i ? 2 >> chroma_v_shift : 2;
|
||||||
pic.data[i] += (pic.linesize[i] * (vsample * (8 * s->mb_height -((s->height/V_MAX)&7)) - 1 ));
|
pic->data[i] += (pic->linesize[i] * (vsample * (8 * s->mb_height -((s->height/V_MAX)&7)) - 1 ));
|
||||||
pic.linesize[i] *= -1;
|
pic->linesize[i] *= -1;
|
||||||
}
|
}
|
||||||
return ff_MPV_encode_picture(avctx, pkt, &pic, got_packet);
|
ret = ff_MPV_encode_picture(avctx, pkt, pic, got_packet);
|
||||||
|
av_frame_free(&pic);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_MJPEG_ENCODER
|
#if CONFIG_MJPEG_ENCODER
|
||||||
|
Loading…
x
Reference in New Issue
Block a user