Hi! Stream-copying png is currently too difficult. An alternative is to remove the extension from the apng muxer.
Please comment, Carl Eugen
diff --git a/libavformat/apngenc.c b/libavformat/apngenc.c index 4b31309..9090f92 100644 --- a/libavformat/apngenc.c +++ b/libavformat/apngenc.c @@ -23,6 +23,7 @@ #include "avformat.h" #include "internal.h" +#include "rawenc.h" #include "libavutil/avassert.h" #include "libavutil/crc.h" #include "libavutil/intreadwrite.h" @@ -81,11 +82,14 @@ static int apng_write_header(AVFormatContext *format_context) if (format_context->nb_streams != 1 || format_context->streams[0]->codec->codec_type != AVMEDIA_TYPE_VIDEO || - format_context->streams[0]->codec->codec_id != AV_CODEC_ID_APNG) { + format_context->streams[0]->codec->codec_id != AV_CODEC_ID_APNG && + format_context->streams[0]->codec->codec_id != AV_CODEC_ID_PNG) { av_log(format_context, AV_LOG_ERROR, - "APNG muxer supports only a single video APNG stream.\n"); + "APNG muxer supports only a single video (A)PNG stream.\n"); return AVERROR(EINVAL); } + if (format_context->streams[0]->codec->codec_id == AV_CODEC_ID_PNG) + return 0; if (apng->last_delay.num > USHRT_MAX || apng->last_delay.den > USHRT_MAX) { av_reduce(&apng->last_delay.num, &apng->last_delay.den, @@ -201,6 +205,9 @@ static int apng_write_packet(AVFormatContext *format_context, AVPacket *packet) { APNGMuxContext *apng = format_context->priv_data; + if (format_context->streams[0]->codec->codec_id == AV_CODEC_ID_PNG) + return ff_raw_write_packet(format_context, packet); + if (!apng->prev_packet) { apng->prev_packet = av_malloc(sizeof(*apng->prev_packet)); if (!apng->prev_packet) @@ -220,6 +227,9 @@ static int apng_write_trailer(AVFormatContext *format_context) AVIOContext *io_context = format_context->pb; uint8_t buf[8]; + if (format_context->streams[0]->codec->codec_id == AV_CODEC_ID_PNG) + return 0; + if (apng->prev_packet) { flush_packet(format_context, NULL); av_freep(&apng->prev_packet);
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel