From f238d052479dbbe0a8d97e231ff74984bf748903 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 19 十一月 2019 09:13:11 +0800
Subject: [PATCH] update
---
csrc/wrapper.cpp | 82 -----------------------------------------
1 files changed, 0 insertions(+), 82 deletions(-)
diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp
index 5c6ae33..dc511fa 100644
--- a/csrc/wrapper.cpp
+++ b/csrc/wrapper.cpp
@@ -504,87 +504,5 @@
free(c);
}
-// mjpeg av pix fmt yuv420p
-
- static int save2PIC(uint8_t *data, const int w, const int h, const char *filename){
- AVPixelFormat src_fmt = AV_PIX_FMT_BGR24;
- AVPixelFormat dst_fmt = AV_PIX_FMT_YUV420P;
-
- cvbridge *bridge = new cvbridge(w, h, src_fmt, w, h, dst_fmt, 16);
-
- AVFrame *bgr_frame = cvbridge::fillFrame(data, w, h, src_fmt);
- AVFrame *frame_jpeg = bridge->convert2Frame(bgr_frame);
- av_frame_free(&bgr_frame);
-
- AVFormatContext *ctx = avformat_alloc_context();
- ctx->oformat = av_guess_format("mjpeg", NULL, NULL);
- if( avio_open(&ctx->pb, filename, AVIO_FLAG_READ_WRITE) < 0) {
- printf("Couldn't open output file.");
- avformat_free_context(ctx);
-
- delete bridge;
- return -1;
- }
- AVStream* pAVStream = avformat_new_stream(ctx, 0);
- if( pAVStream == NULL ){
- delete bridge;
- return -1;
- }
- AVCodecContext* pCodecCtx = pAVStream->codec;
- pCodecCtx->codec_id = ctx->oformat->video_codec;
- pCodecCtx->codec_type = AVMEDIA_TYPE_VIDEO;
- pCodecCtx->pix_fmt = dst_fmt;
- pCodecCtx->width = w;
- pCodecCtx->height = h;
- pCodecCtx->time_base.num = 1;
- pCodecCtx->time_base.den = 25;
- AVCodec* pCodec = avcodec_find_encoder(pCodecCtx->codec_id);
- if( !pCodec ) {
- printf("Codec not found.");
- avformat_free_context(ctx);
-
- delete bridge;
- return -1;
- }
- if( avcodec_open2(pCodecCtx, pCodec, NULL) < 0 ){
- printf("Could not open codec.");
- avformat_free_context(ctx);
- avio_close(ctx->pb);
- delete bridge;
- return -1;
- }
- avformat_write_header(ctx, NULL);
- int y_size = pCodecCtx->width * pCodecCtx->height;
- AVPacket pkt;
- av_new_packet(&pkt, y_size * 3);
- int got_picture = 0;
- int ret = avcodec_encode_video2(pCodecCtx, &pkt, frame_jpeg, &got_picture);
- av_frame_free(&frame_jpeg);
- delete bridge;
- if( ret < 0 ) {
- printf("Encode Error.\n");
- avformat_free_context(ctx);
- if( pAVStream ) {
- avcodec_close(pAVStream->codec);
- }
- avio_close(ctx->pb);
-
- return -1;
- }
- if( got_picture == 1 ) {
- pkt.stream_index = pAVStream->index;
- ret = av_write_frame(ctx, &pkt);
- avio_flush(ctx->pb);
- }
- av_free_packet(&pkt);
- //Write Trailer
- av_write_trailer(ctx);
- if( pAVStream ) {
- avcodec_close(pAVStream->codec);
- }
- avio_close(ctx->pb);
- avformat_free_context(ctx);
- return 0;
- }
}
--
Gitblit v1.8.0