[Libav-user] Fwd: resize video stream
Gonzalo Garramuño
ggarra13 at gmail.com
Mon Apr 5 17:05:41 EEST 2021
El 5/4/21 a las 05:13, Сергей Икол escribió:
>
>
> Gonzalo Garramuño
>
> Thank you very much for your help.
>
> I think I'm completely confused ((
>
> line 352 (avcodec_send_frame ()) constantly returns -22
>
> it seems to me that somewhere I am making a fundamental mistake ((
You are not initializing the codec for encoding nor opening the context,
which are the one line in avcodec_send_frame which returns -22.
AVCodec *codec = avcodec_find_decoder(in_cctx->codec_id)
AVCodec *encoder = avcodec_find_encoder(in_cctx->codec_id);
avcodec_open2(in_cctx, codec, NULL);
out_cctx = avcodec_alloc_context3(encoder);
out_cctx->codec = encoder;
out_cctx->bit_rate = in_cctx->bit_rate;
out_cctx->width = outWidth;
out_cctx->height = outHeight;
out_cctx->pix_fmt = AV_PIX_FMT_YUV420P;
out_cctx->time_base = (AVRational){1, 25};
out_cctx->framerate = (AVRational){25, 1};
avcodec_open2(out_cctx, encoder, NULL);
}
int attribute_align_arg avcodec_send_frame(AVCodecContext *avctx, const
AVFrame *frame)
{
if (!avcodec_is_open(avctx) || !av_codec_is_encoder(avctx->codec))
return AVERROR(EINVAL);
// ...etc...
}
That should get you past the -22, albeit it later segfaults for unknown
reasons (you'll need to hunt this one yourself).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20210405/552e578f/attachment.html>
More information about the Libav-user
mailing list