From 34ed5c2e4d9b7fe5c9b3aae2da5599fabb95c02e Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Mon, 12 Oct 2015 16:06:07 +0200 Subject: avformat: Do not use AVFMT_RAWPICTURE There are no formats supporting it anymore and it is deprecated. Update the documentation accordingly. --- doc/examples/output.c | 42 ++++++++++++------------------------------ 1 file changed, 12 insertions(+), 30 deletions(-) (limited to 'doc') diff --git a/doc/examples/output.c b/doc/examples/output.c index af5445b836..c883429cfc 100644 --- a/doc/examples/output.c +++ b/doc/examples/output.c @@ -491,48 +491,30 @@ static int write_video_frame(AVFormatContext *oc, OutputStream *ost) int ret; AVCodecContext *c; AVFrame *frame; + AVPacket pkt = { 0 }; int got_packet = 0; c = ost->st->codec; frame = get_video_frame(ost); - if (oc->oformat->flags & AVFMT_RAWPICTURE) { - /* a hack to avoid data copy with some raw video muxers */ - AVPacket pkt; - av_init_packet(&pkt); - - if (!frame) - return 1; + av_init_packet(&pkt); - pkt.flags |= AV_PKT_FLAG_KEY; - pkt.stream_index = ost->st->index; - pkt.data = (uint8_t *)frame; - pkt.size = sizeof(AVPicture); + /* encode the image */ + ret = avcodec_encode_video2(c, &pkt, frame, &got_packet); + if (ret < 0) { + fprintf(stderr, "Error encoding a video frame\n"); + exit(1); + } - pkt.pts = pkt.dts = frame->pts; + if (got_packet) { av_packet_rescale_ts(&pkt, c->time_base, ost->st->time_base); + pkt.stream_index = ost->st->index; + /* Write the compressed frame to the media file. */ ret = av_interleaved_write_frame(oc, &pkt); - } else { - AVPacket pkt = { 0 }; - av_init_packet(&pkt); - - /* encode the image */ - ret = avcodec_encode_video2(c, &pkt, frame, &got_packet); - if (ret < 0) { - fprintf(stderr, "Error encoding a video frame\n"); - exit(1); - } - - if (got_packet) { - av_packet_rescale_ts(&pkt, c->time_base, ost->st->time_base); - pkt.stream_index = ost->st->index; - - /* Write the compressed frame to the media file. */ - ret = av_interleaved_write_frame(oc, &pkt); - } } + if (ret != 0) { fprintf(stderr, "Error while writing video frame\n"); exit(1); -- cgit v1.2.3