You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master: lavfi/cropdetect: Fix cropdetect for > 8 bit input. lavf/apngenc: Fix png remuxing by using default extension apng. lavf/mxfenc: Write correct interlaced flag when muxing dnxhd. Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -12,7 +12,7 @@ version <next>:
|
|||||||
- Detelecine filter
|
- Detelecine filter
|
||||||
- Intel QSV-accelerated H.264 encoding
|
- Intel QSV-accelerated H.264 encoding
|
||||||
- MMAL-accelerated H.264 decoding
|
- MMAL-accelerated H.264 decoding
|
||||||
- basic APNG encoder and muxer
|
- basic APNG encoder and muxer with default extension "apng"
|
||||||
- unpack DivX-style packed B-frames in MPEG-4 bitstream filter
|
- unpack DivX-style packed B-frames in MPEG-4 bitstream filter
|
||||||
- WebM Live Chunk Muxer
|
- WebM Live Chunk Muxer
|
||||||
- nvenc level and tier options
|
- nvenc level and tier options
|
||||||
|
@@ -1102,6 +1102,14 @@ int avpriv_dnxhd_get_frame_size(int cid)
|
|||||||
return ff_dnxhd_cid_table[i].frame_size;
|
return ff_dnxhd_cid_table[i].frame_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int avpriv_dnxhd_get_interlaced(int cid)
|
||||||
|
{
|
||||||
|
int i = ff_dnxhd_get_cid_table(cid);
|
||||||
|
if (i < 0)
|
||||||
|
return i;
|
||||||
|
return ff_dnxhd_cid_table[i].interlaced;
|
||||||
|
}
|
||||||
|
|
||||||
int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth)
|
int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
@@ -53,5 +53,6 @@ int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth);
|
|||||||
void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel);
|
void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel);
|
||||||
|
|
||||||
int avpriv_dnxhd_get_frame_size(int cid);
|
int avpriv_dnxhd_get_frame_size(int cid);
|
||||||
|
int avpriv_dnxhd_get_interlaced(int cid);
|
||||||
|
|
||||||
#endif /* AVCODEC_DNXHDDATA_H */
|
#endif /* AVCODEC_DNXHDDATA_H */
|
||||||
|
@@ -29,8 +29,8 @@
|
|||||||
#include "libavutil/version.h"
|
#include "libavutil/version.h"
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 56
|
#define LIBAVCODEC_VERSION_MAJOR 56
|
||||||
#define LIBAVCODEC_VERSION_MINOR 35
|
#define LIBAVCODEC_VERSION_MINOR 36
|
||||||
#define LIBAVCODEC_VERSION_MICRO 101
|
#define LIBAVCODEC_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
LIBAVCODEC_VERSION_MINOR, \
|
LIBAVCODEC_VERSION_MINOR, \
|
||||||
|
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
#define LIBAVFILTER_VERSION_MAJOR 5
|
#define LIBAVFILTER_VERSION_MAJOR 5
|
||||||
#define LIBAVFILTER_VERSION_MINOR 16
|
#define LIBAVFILTER_VERSION_MINOR 16
|
||||||
#define LIBAVFILTER_VERSION_MICRO 100
|
#define LIBAVFILTER_VERSION_MICRO 101
|
||||||
|
|
||||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||||
LIBAVFILTER_VERSION_MINOR, \
|
LIBAVFILTER_VERSION_MINOR, \
|
||||||
|
@@ -92,12 +92,12 @@ static int checkline(void *ctx, const unsigned char *src, int stride, int len, i
|
|||||||
while (len >= 8) {
|
while (len >= 8) {
|
||||||
total += src16[ 0] + src16[ stride] + src16[2*stride] + src16[3*stride]
|
total += src16[ 0] + src16[ stride] + src16[2*stride] + src16[3*stride]
|
||||||
+ src16[4*stride] + src16[5*stride] + src16[6*stride] + src16[7*stride];
|
+ src16[4*stride] + src16[5*stride] + src16[6*stride] + src16[7*stride];
|
||||||
src += 8*stride;
|
src16 += 8*stride;
|
||||||
len -= 8;
|
len -= 8;
|
||||||
}
|
}
|
||||||
while (--len >= 0) {
|
while (--len >= 0) {
|
||||||
total += src16[0];
|
total += src16[0];
|
||||||
src += stride;
|
src16 += stride;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
@@ -259,7 +259,7 @@ AVOutputFormat ff_apng_muxer = {
|
|||||||
.name = "apng",
|
.name = "apng",
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("Animated Portable Network Graphics"),
|
.long_name = NULL_IF_CONFIG_SMALL("Animated Portable Network Graphics"),
|
||||||
.mime_type = "image/png",
|
.mime_type = "image/png",
|
||||||
.extensions = "png",
|
.extensions = "apng",
|
||||||
.priv_data_size = sizeof(APNGMuxContext),
|
.priv_data_size = sizeof(APNGMuxContext),
|
||||||
.audio_codec = AV_CODEC_ID_NONE,
|
.audio_codec = AV_CODEC_ID_NONE,
|
||||||
.video_codec = AV_CODEC_ID_APNG,
|
.video_codec = AV_CODEC_ID_APNG,
|
||||||
|
@@ -1640,6 +1640,8 @@ AVPacket *pkt)
|
|||||||
|
|
||||||
if ((frame_size = avpriv_dnxhd_get_frame_size(cid)) < 0)
|
if ((frame_size = avpriv_dnxhd_get_frame_size(cid)) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
if ((sc->interlaced = avpriv_dnxhd_get_interlaced(cid)) < 0)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
switch (cid) {
|
switch (cid) {
|
||||||
case 1235:
|
case 1235:
|
||||||
|
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_MAJOR 56
|
#define LIBAVFORMAT_VERSION_MAJOR 56
|
||||||
#define LIBAVFORMAT_VERSION_MINOR 31
|
#define LIBAVFORMAT_VERSION_MINOR 31
|
||||||
#define LIBAVFORMAT_VERSION_MICRO 100
|
#define LIBAVFORMAT_VERSION_MICRO 102
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||||
LIBAVFORMAT_VERSION_MINOR, \
|
LIBAVFORMAT_VERSION_MINOR, \
|
||||||
|
Reference in New Issue
Block a user