svn commit: r425325 - in branches/2016Q4/x11-toolkits/nucleo: . files
Jan Beich
jbeich at FreeBSD.org
Fri Nov 4 14:29:15 UTC 2016
Author: jbeich
Date: Fri Nov 4 14:29:14 2016
New Revision: 425325
URL: https://svnweb.freebsd.org/changeset/ports/425325
Log:
x11-toolkits/nucleo: back out r425306
avcodec_encode_video -> avcodec_encode_video2 is a bit risky. And my
conversion had a bug (see r425324). Let it bake on /head like usual.
PR: 207547
Pointyhat to: jbeich
Approved by: ports-secteam blanket
Deleted:
branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo_plugins_ffmpeg_ffmpegImageSink.H
Modified:
branches/2016Q4/x11-toolkits/nucleo/Makefile
branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx
branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx
Directory Properties:
branches/2016Q4/ (props changed)
Modified: branches/2016Q4/x11-toolkits/nucleo/Makefile
==============================================================================
--- branches/2016Q4/x11-toolkits/nucleo/Makefile Fri Nov 4 14:24:06 2016 (r425324)
+++ branches/2016Q4/x11-toolkits/nucleo/Makefile Fri Nov 4 14:29:14 2016 (r425325)
@@ -3,7 +3,7 @@
PORTNAME= nucleo
PORTVERSION= 0.7.6
-PORTREVISION= 15
+PORTREVISION= 16
CATEGORIES= x11-toolkits
MASTER_SITES= http://insitu.lri.fr/metisse/download/nucleo/
Modified: branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx
==============================================================================
--- branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx Fri Nov 4 14:24:06 2016 (r425324)
+++ branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSink.cxx Fri Nov 4 14:29:14 2016 (r425325)
@@ -1,6 +1,6 @@
---- nucleo/plugins/ffmpeg/ffmpegImageSink.cxx.orig 2009-05-25 12:53:15 UTC
-+++ nucleo/plugins/ffmpeg/ffmpegImageSink.cxx
-@@ -118,17 +118,17 @@ namespace nucleo {
+--- nucleo/plugins/ffmpeg/ffmpegImageSink.cxx.orig 2009-05-25 14:53:15.000000000 +0200
++++ nucleo/plugins/ffmpeg/ffmpegImageSink.cxx 2015-07-03 23:24:23.255152399 +0200
+@@ -118,11 +118,11 @@ namespace nucleo {
output_format = 0 ;
if (uri.scheme=="mpegts-udp") {
@@ -15,13 +15,6 @@
}
std::string message ;
- if (!output_format)
- message = "Unable to find the requested format" ;
-- else if (output_format->video_codec == CODEC_ID_NONE) {
-+ else if (output_format->video_codec == AV_CODEC_ID_NONE) {
- output_format = 0 ;
- message = "Not a video format" ;
- } else if (output_format->flags & AVFMT_NOFILE) {
@@ -156,12 +156,13 @@ namespace nucleo {
snprintf(format_context->filename, sizeof(format_context->filename),
"%s", filename.c_str()) ;
@@ -37,17 +30,15 @@
// ----------------
-@@ -190,8 +191,8 @@ namespace nucleo {
+@@ -190,7 +191,7 @@ namespace nucleo {
AVCodecContext *codec_context = vstream->codec ;
codec_context->codec_id = output_format->video_codec ;
- codec_context->codec_type = CODEC_TYPE_VIDEO ;
-- codec_context->pix_fmt = PIX_FMT_YUV420P ;
+ codec_context->codec_type = AVMEDIA_TYPE_VIDEO ;
-+ codec_context->pix_fmt = AV_PIX_FMT_YUV420P ;
+ codec_context->pix_fmt = PIX_FMT_YUV420P ;
codec_context->width = img->getWidth() ; // must be a multiple of two
codec_context->height = img->getHeight() ; // must be a multiple of two
- codec_context->me_method = ME_EPZS ; // ME_ZERO
@@ -210,12 +211,7 @@ namespace nucleo {
|| !strcmp(format_context->oformat->name, "3gp"))
codec_context->flags |= CODEC_FLAG_GLOBAL_HEADER ;
@@ -80,7 +71,7 @@
std::cerr << "ffmpegImageSink: could not open " << filename << std::endl ;
return false ;
}
-@@ -245,37 +241,37 @@ namespace nucleo {
+@@ -245,17 +241,17 @@ namespace nucleo {
int port = uri.port ;
if (!port) port = 1234 ;
sender = new UdpSender(uri.host.c_str(), port) ;
@@ -101,70 +92,8 @@
video_outbuf_size = 256*1024 ; // FIXME ?
video_outbuf = new uint8_t [video_outbuf_size] ;
-
- switch (img->getEncoding()) {
- case Image::ARGB:
-- // PIX_FMT_RGBA32 is endian-sensitive...
-- // srcEncoding = ByteOrder::isLittleEndian() ? PIX_FMT_RGB24 : PIX_FMT_RGBA32 ;
-- srcEncoding = PIX_FMT_RGB24 ;
-+ // AV_PIX_FMT_RGBA32 is endian-sensitive...
-+ // srcEncoding = ByteOrder::isLittleEndian() ? AV_PIX_FMT_RGB24 : AV_PIX_FMT_RGBA32 ;
-+ srcEncoding = AV_PIX_FMT_RGB24 ;
- break ;
-- case Image::L: srcEncoding = PIX_FMT_GRAY8 ; break ;
-- case Image::YpCbCr420: srcEncoding = PIX_FMT_YUV420P ; break ;
-- default: srcEncoding = PIX_FMT_RGB24 ; break ;
-+ case Image::L: srcEncoding = AV_PIX_FMT_GRAY8 ; break ;
-+ case Image::YpCbCr420: srcEncoding = AV_PIX_FMT_YUV420P ; break ;
-+ default: srcEncoding = AV_PIX_FMT_RGB24 ; break ;
- }
-
-- avcodec_get_frame_defaults(&srcPic) ;
-+ av_frame_unref(&srcPic) ;
- if (codec_context->pix_fmt==srcEncoding)
- picture = &srcPic ;
- else {
-- avcodec_get_frame_defaults(&convPic) ;
-+ av_frame_unref(&convPic) ;
- int size = avpicture_get_size(codec_context->pix_fmt, codec_context->width, codec_context->height) ;
- avpicture_fill((AVPicture *)&convPic,
- new uint8_t [size],
-@@ -304,7 +300,7 @@ namespace nucleo {
- // std::cerr << "base: " << vstream->time_base.num << " / " << vstream->time_base.den << std::endl ;
-
- AVCodecContext *cctx = vstream->codec ;
-- if (srcEncoding==PIX_FMT_RGB24) convertImage(img, Image::RGB) ;
-+ if (srcEncoding==AV_PIX_FMT_RGB24) convertImage(img, Image::RGB) ;
- resizeImage(img, cctx->width, cctx->height) ;
- avpicture_fill((AVPicture *)&srcPic, img->getData(), srcEncoding,
- cctx->width, cctx->height) ;
-@@ -330,23 +326,23 @@ namespace nucleo {
- picture->pts = pts ;
- // std::cerr << "pts: " << pts << std::endl ;
-
-- int out_size = avcodec_encode_video(cctx, video_outbuf, video_outbuf_size, picture) ;
-- if (!out_size) {
-- std::cerr << "ffmpegImageSink: avcodec_encode_video returned 0" << std::endl ;
-+ AVPacket pkt ;
-+ av_init_packet(&pkt) ;
-+ pkt.data = video_outbuf ;
-+ pkt.size = video_outbuf_size ;
-+
-+ int got_packet = 0 ;
-+ int ret = avcodec_encode_video2(cctx, &pkt, picture, &got_packet) ;
-+ if (ret) {
-+ std::cerr << "ffmpegImageSink: avcodec_encode_video2 failed" << std::endl ;
- stop() ;
- return false ;
- }
-
-- // std::cerr << "out_size = " << out_size << std::endl ;
--
-- AVPacket pkt ;
-- av_init_packet(&pkt) ;
- pkt.stream_index = vstream->index ;
-- pkt.data = video_outbuf ;
-- pkt.size = out_size ;
+@@ -346,7 +342,7 @@ namespace nucleo {
+ pkt.size = out_size ;
if (cctx->coded_frame) {
pkt.pts = pkt.dts = pts ;
- if (cctx->coded_frame->key_frame) pkt.flags |= PKT_FLAG_KEY ;
Modified: branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx
==============================================================================
--- branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx Fri Nov 4 14:24:06 2016 (r425324)
+++ branches/2016Q4/x11-toolkits/nucleo/files/patch-nucleo__plugins__ffmpeg__ffmpegImageSource.cxx Fri Nov 4 14:29:14 2016 (r425325)
@@ -1,6 +1,6 @@
---- nucleo/plugins/ffmpeg/ffmpegImageSource.cxx.orig 2009-05-25 12:53:15 UTC
+--- nucleo/plugins/ffmpeg/ffmpegImageSource.cxx.orig
+++ nucleo/plugins/ffmpeg/ffmpegImageSource.cxx
-@@ -47,23 +47,23 @@ namespace nucleo {
+@@ -47,23 +47,23 @@
bool
ffmpegImageSource::start(void) {
@@ -28,7 +28,7 @@
video_stream = i ;
found_video_stream = true ;
} else
-@@ -86,7 +86,7 @@ namespace nucleo {
+@@ -86,7 +86,7 @@
return false ;
}
@@ -37,7 +37,7 @@
if (ret<0) {
std::cerr << "ffmpegImageSource: unable to open codec" << std::endl ;
return false ;
-@@ -123,39 +123,39 @@ namespace nucleo {
+@@ -123,7 +123,7 @@
#endif
int got_picture = 0 ;
@@ -46,42 +46,3 @@
av_free_packet(&packet) ;
if (!got_picture) continue ;
- lastImage.setTimeStamp() ;
- switch (cctx->pix_fmt) {
-- case PIX_FMT_GRAY8:
-+ case AV_PIX_FMT_GRAY8:
- lastImage.setDims(cctx->width, cctx->height) ;
- lastImage.setEncoding(Image::L) ;
- lastImage.setData(frame.data[0], cctx->width*cctx->height, Image::NONE) ;
- break ;
-- case PIX_FMT_RGB24:
-+ case AV_PIX_FMT_RGB24:
- lastImage.setDims(cctx->width, cctx->height) ;
- lastImage.setEncoding(Image::RGB) ;
- lastImage.setData(frame.data[0], (cctx->width*cctx->height)*3, Image::NONE) ;
- break ;
- default: // Convert everything else to RGB24
-- // PIX_FMT_YUV420P has three separate plans and ffmpeg converts
-+ // AV_PIX_FMT_YUV420P has three separate plans and ffmpeg converts
- // them to RGB faster than nucleo does...
-- // PIX_FMT_RGBA32 and PIX_FMT_RGB565 are stored in cpu endianness
-+ // AV_PIX_FMT_RGBA32 and AV_PIX_FMT_RGB565 are stored in cpu endianness
- // On OS X (powerpc), they correspond to Image::ARGB and Image::RGB565
- lastImage.prepareFor(cctx->width, cctx->height, Image::RGB) ;
- AVFrame tmpframe ;
-- avpicture_fill((AVPicture*)&tmpframe, lastImage.getData(), PIX_FMT_RGB24,
-+ avpicture_fill((AVPicture*)&tmpframe, lastImage.getData(), AV_PIX_FMT_RGB24,
- cctx->width, cctx->height) ;
- #if NO_SOFTWARE_SCALER
-- img_convert((AVPicture*)&tmpframe, PIX_FMT_RGB24,
-+ img_convert((AVPicture*)&tmpframe, AV_PIX_FMT_RGB24,
- (AVPicture*)&frame, cctx->pix_fmt, cctx->width, cctx->height) ;
- #else
- SwsContext *swsc = 0 ;
- swsc = sws_getCachedContext(swsc,
- cctx->width, cctx->height, cctx->pix_fmt,
-- cctx->width, cctx->height, PIX_FMT_RGB24,
-+ cctx->width, cctx->height, AV_PIX_FMT_RGB24,
- SWS_BICUBIC, NULL, NULL, NULL) ;
- if (!swsc) {
- std::cerr << "ffmpegImageSource: sws_getCachedContext failed" << std::endl ;
More information about the svn-ports-all
mailing list