aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-05-28 14:12:42 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-05-28 14:12:46 +0200
commitb06e82e73897e7afd1363f60015f5cbf6d39c984 (patch)
tree74177e40f4d6737307317a177055f8ed749c69ae
parent5a3d2541bd59b52e9357f3f55499e98c3d4e522a (diff)
parent4792fb94098cf47bd8caf9b3a9795c666bae2220 (diff)
downloadffmpeg-b06e82e73897e7afd1363f60015f5cbf6d39c984.tar.gz
Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master: lavc/x264: Support bgr0 as input pix_fmt. lavf: Use av_codec_get_tag2() in avformat_query_codec(). Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/libx264.c4
-rw-r--r--libavformat/utils.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 82c4f2e2f8..9020a40495 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -148,6 +148,7 @@ static int avfmt2_num_planes(int avfmt)
case AV_PIX_FMT_YUV444P:
return 3;
+ case AV_PIX_FMT_BGR0:
case AV_PIX_FMT_BGR24:
case AV_PIX_FMT_RGB24:
return 1;
@@ -346,6 +347,8 @@ static int convert_pix_fmt(enum AVPixelFormat pix_fmt)
case AV_PIX_FMT_YUV444P9:
case AV_PIX_FMT_YUV444P10: return X264_CSP_I444;
#ifdef X264_CSP_BGR
+ case AV_PIX_FMT_BGR0:
+ return X264_CSP_BGRA;
case AV_PIX_FMT_BGR24:
return X264_CSP_BGR;
@@ -750,6 +753,7 @@ static const enum AVPixelFormat pix_fmts_10bit[] = {
};
static const enum AVPixelFormat pix_fmts_8bit_rgb[] = {
#ifdef X264_CSP_BGR
+ AV_PIX_FMT_BGR0,
AV_PIX_FMT_BGR24,
AV_PIX_FMT_RGB24,
#endif
diff --git a/libavformat/utils.c b/libavformat/utils.c
index db2b4f6768..7af2aabd80 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -4107,10 +4107,11 @@ int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id,
int std_compliance)
{
if (ofmt) {
+ unsigned int codec_tag;
if (ofmt->query_codec)
return ofmt->query_codec(codec_id, std_compliance);
else if (ofmt->codec_tag)
- return !!av_codec_get_tag(ofmt->codec_tag, codec_id);
+ return !!av_codec_get_tag2(ofmt->codec_tag, codec_id, &codec_tag);
else if (codec_id == ofmt->video_codec ||
codec_id == ofmt->audio_codec ||
codec_id == ofmt->subtitle_codec)