---
libavcodec/dirac.c | 10 ++++++++++
libavcodec/fraps.c | 4 ++++
libavcodec/h264.c | 12 ++++++++++++
libavcodec/hevc_ps.c | 2 ++
libavcodec/imgconvert.c | 8 +++++++-
libavcodec/libx264.c | 8 ++++++++
libavcodec/ljpegenc.c | 17 ++++++++++++-----
libavcodec/mdec.c | 4 ++++
libavcodec/mjpegdec.c | 16 ++++++++++++++++
libavcodec/mpegvideo_enc.c | 9 ++++++++-
libavcodec/raw.c | 3 +++
libavcodec/svq3.c | 7 ++++++-
libavcodec/utils.c | 2 ++
libavfilter/vf_boxblur.c | 2 ++
libavfilter/vf_crop.c | 2 ++
libavfilter/vf_cropdetect.c | 11 +++++++----
libavfilter/vf_drawbox.c | 6 ++++--
libavfilter/vf_fade.c | 6 ++++--
libavfilter/vf_framepack.c | 7 +++++--
libavfilter/vf_hflip.c | 2 ++
libavfilter/vf_hqdn3d.c | 2 ++
libavfilter/vf_interlace.c | 8 ++++++--
libavfilter/vf_lut.c | 7 +++++++
libavfilter/vf_pad.c | 2 ++
libavfilter/vf_transpose.c | 6 ++++--
libavfilter/vf_unsharp.c | 8 ++++++--
libavfilter/vf_yadif.c | 4 +++-
libavfilter/vsrc_color.c | 2 ++
libavformat/rtpenc_jpeg.c | 12 +++++++++++-
libavutil/pixdesc.c | 4 ++++
libavutil/pixfmt.h | 4 ++++
libavutil/version.h | 3 +++
libswscale/utils.c | 4 ++++
33 files changed, 178 insertions(+), 26 deletions(-)
diff --git a/libavcodec/dirac.c b/libavcodec/dirac.c
index 7330def..6248121 100644
--- a/libavcodec/dirac.c
+++ b/libavcodec/dirac.c
@@ -108,10 +108,16 @@ static const struct {
};
/* [DIRAC_STD] Table 10.2 Supported chroma sampling formats + luma Offset */
+#if FF_API_FULLSCALE_PIXFMT
static const enum AVPixelFormat dirac_pix_fmt[2][3] = {
{ AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P },
{ AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P },
};
+#else
+static const enum AVPixelFormat dirac_pix_fmt[3] = {
+ { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P },
+};
+#endif /* FF_API_FULLSCALE_PIXFMT */
/* [DIRAC_STD] 10.3 Parse Source Parameters.
* source_parameters(base_video_format) */
@@ -236,7 +242,11 @@ static int parse_source_parameters(AVCodecContext *avctx,
GetBitContext *gb,
if (luma_depth > 8)
av_log(avctx, AV_LOG_WARNING, "Bitdepth greater than 8");
+#if FF_API_FULLSCALE_PIXFMT
avctx->pix_fmt = dirac_pix_fmt[!luma_offset][source->chroma_format];
+#else
+ avctx->pix_fmt = dirac_pix_fmt[source->chroma_format];
+#endif /* FF_API_FULLSCALE_PIXFMT */
avctx->color_range = luma_offset ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG;
/* [DIRAC_STD] 10.3.9 Colour specification. colour_spec(video_params) */
diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c
index 1005a56..cb61ebe 100644
--- a/libavcodec/fraps.c
+++ b/libavcodec/fraps.c
@@ -170,7 +170,11 @@ static int decode_frame(AVCodecContext *avctx,
if (header_size == 8)
buf += 4;
+#if FF_API_FULLSCALE_PIXFMT
pix_fmt = version & 1 ? AV_PIX_FMT_BGR24 : AV_PIX_FMT_YUVJ420P;
+#else
+ pix_fmt = version & 1 ? AV_PIX_FMT_BGR24 : AV_PIX_FMT_YUV420P;
+#endif /* FF_API_FULLSCALE_PIXFMT */
if (avctx->pix_fmt != pix_fmt && f->data[0]) {
av_frame_unref(f);
}
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index c76abf7..4fdd199 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -166,6 +166,7 @@ static const enum AVPixelFormat
h264_hwaccel_pixfmt_list_420[] = {
AV_PIX_FMT_NONE
};
+#if FF_API_FULLSCALE_PIXFMT
static const enum AVPixelFormat h264_hwaccel_pixfmt_list_jpeg_420[] = {
#if CONFIG_H264_DXVA2_HWACCEL
AV_PIX_FMT_DXVA2_VLD,
@@ -182,6 +183,7 @@ static const enum AVPixelFormat
h264_hwaccel_pixfmt_list_jpeg_420[] = {
AV_PIX_FMT_YUVJ420P,
AV_PIX_FMT_NONE
};
+#endif /* FF_API_FULLSCALE_PIXFMT */
static void h264_er_decode_mb(void *opaque, int ref, int mv_dir, int mv_type,
int (*mv)[2][4][2],
@@ -3111,16 +3113,26 @@ static enum AVPixelFormat get_pixel_format(H264Context
*h)
if (h->avctx->colorspace == AVCOL_SPC_RGB) {
return AV_PIX_FMT_GBRP;
} else
+#if FF_API_FULLSCALE_PIXFMT
return h->avctx->color_range == AVCOL_RANGE_JPEG ?
AV_PIX_FMT_YUVJ444P
:
AV_PIX_FMT_YUV444P;
+#else
+ return AV_PIX_FMT_YUV444P;
+#endif /* FF_API_FULLSCALE_PIXFMT */
} else if (CHROMA422(h)) {
+#if FF_API_FULLSCALE_PIXFMT
return h->avctx->color_range == AVCOL_RANGE_JPEG ?
AV_PIX_FMT_YUVJ422P
:
AV_PIX_FMT_YUV422P;
+#else
+ return AV_PIX_FMT_YUV422P;
+#endif /* FF_API_FULLSCALE_PIXFMT */
} else {
return h->avctx->get_format(h->avctx, h->avctx->codec->pix_fmts ?
h->avctx->codec->pix_fmts :
+#if FF_API_FULLSCALE_PIXFMT
h->avctx->color_range ==
AVCOL_RANGE_JPEG ?
h264_hwaccel_pixfmt_list_jpeg_420 :
+#endif /* FF_API_FULLSCALE_PIXFMT */
h264_hwaccel_pixfmt_list_420);
}
break;
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 5e5d4a7..85524e3 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -445,8 +445,10 @@ static void decode_vui(HEVCContext *s, HEVCSPS *sps)
vui->video_format = get_bits(gb, 3);
vui->video_full_range_flag = get_bits1(gb);
vui->colour_description_present_flag = get_bits1(gb);
+#if FF_API_FULLSCALE_PIXFMT
if (vui->video_full_range_flag && sps->pix_fmt == AV_PIX_FMT_YUV420P)
sps->pix_fmt = AV_PIX_FMT_YUVJ420P;
+#endif /* FF_API_FULLSCALE_PIXFMT */
if (vui->colour_description_present_flag) {
vui->colour_primaries = get_bits(gb, 8);
vui->transfer_characteristic = get_bits(gb, 8);
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 4eb049f..c4e1848 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -464,9 +464,11 @@ int avpicture_deinterlace(AVPicture *dst, const AVPicture
*src,
int i;
if (pix_fmt != AV_PIX_FMT_YUV420P &&
- pix_fmt != AV_PIX_FMT_YUVJ420P &&
pix_fmt != AV_PIX_FMT_YUV422P &&
+#if FF_API_FULLSCALE_PIXFMT
+ pix_fmt != AV_PIX_FMT_YUVJ420P &&
pix_fmt != AV_PIX_FMT_YUVJ422P &&
+#endif /* FF_API_FULLSCALE_PIXFMT */
pix_fmt != AV_PIX_FMT_YUV444P &&
pix_fmt != AV_PIX_FMT_YUV411P &&
pix_fmt != AV_PIX_FMT_GRAY8)
@@ -477,13 +479,17 @@ int avpicture_deinterlace(AVPicture *dst, const AVPicture
*src,
for(i=0;i<3;i++) {
if (i == 1) {
switch(pix_fmt) {
+#if FF_API_FULLSCALE_PIXFMT
case AV_PIX_FMT_YUVJ420P:
+#endif /* FF_API_FULLSCALE_PIXFMT */
case AV_PIX_FMT_YUV420P:
width >>= 1;
height >>= 1;
break;
case AV_PIX_FMT_YUV422P:
+#if FF_API_FULLSCALE_PIXFMT
case AV_PIX_FMT_YUVJ422P:
+#endif /* FF_API_FULLSCALE_PIXFMT */
width >>= 1;
break;
case AV_PIX_FMT_YUV411P:
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 6233f1e..5528466 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -254,7 +254,9 @@ static int convert_pix_fmt(enum AVPixelFormat pix_fmt)
{
switch (pix_fmt) {
case AV_PIX_FMT_YUV420P:
+#if FF_API_FULLSCALE_PIXFMT
case AV_PIX_FMT_YUVJ420P:
+#endif /* FF_API_FULLSCALE_PIXFMT */
case AV_PIX_FMT_YUV420P9:
case AV_PIX_FMT_YUV420P10: return X264_CSP_I420;
case AV_PIX_FMT_YUV422P:
@@ -454,8 +456,12 @@ static av_cold int X264_init(AVCodecContext *avctx)
x4->params.i_slice_count = avctx->slices;
+#if FF_API_FULLSCALE_PIXFMT
x4->params.vui.b_fullrange = avctx->pix_fmt == AV_PIX_FMT_YUVJ420P ||
avctx->color_range == AVCOL_RANGE_JPEG;
+#else
+ x4->params.vui.b_fullrange = avctx->color_range == AVCOL_RANGE_JPEG;
+#endif /* FF_API_FULLSCALE_PIXFMT */
if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER)
x4->params.b_repeat_headers = 0;
@@ -520,7 +526,9 @@ static av_cold int X264_init(AVCodecContext *avctx)
static const enum AVPixelFormat pix_fmts_8bit[] = {
AV_PIX_FMT_YUV420P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ420P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV444P,
AV_PIX_FMT_NV12,
diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c
index e111c8c..339007a 100644
--- a/libavcodec/ljpegenc.c
+++ b/libavcodec/ljpegenc.c
@@ -264,10 +264,15 @@ static av_cold int ljpeg_encode_init(AVCodecContext
*avctx)
LJpegEncContext *s = avctx->priv_data;
int chroma_v_shift, chroma_h_shift;
- if ((avctx->pix_fmt == AV_PIX_FMT_YUV420P ||
+ if (
+#if FF_API_FULLSCALE_PIXFMT
+ (avctx->pix_fmt == AV_PIX_FMT_YUV420P ||
avctx->pix_fmt == AV_PIX_FMT_YUV422P ||
avctx->pix_fmt == AV_PIX_FMT_YUV444P ||
avctx->color_range == AVCOL_RANGE_MPEG) &&
+#else
+ avctx->color_range == AVCOL_RANGE_MPEG &&
+#endif /* FF_API_FULLSCALE_PIXFMT */
avctx->strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL) {
av_log(avctx, AV_LOG_ERROR,
"Limited range YUV is non-standard, set strict_std_compliance
to "
@@ -324,12 +329,14 @@ AVCodec ff_ljpeg_encoder = {
.init = ljpeg_encode_init,
.encode2 = ljpeg_encode_frame,
.close = ljpeg_encode_close,
- .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ420P,
- AV_PIX_FMT_YUVJ422P,
- AV_PIX_FMT_YUVJ444P,
- AV_PIX_FMT_BGR24,
+ .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24,
AV_PIX_FMT_YUV420P,
AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV444P,
+#if FF_API_FULLSCALE_PIXFMT
+ AV_PIX_FMT_YUVJ420P,
+ AV_PIX_FMT_YUVJ422P,
+ AV_PIX_FMT_YUVJ444P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_NONE },
};
diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c
index d6c6060..cc4a58d 100644
--- a/libavcodec/mdec.c
+++ b/libavcodec/mdec.c
@@ -218,7 +218,11 @@ static av_cold int decode_init(AVCodecContext *avctx)
if (avctx->idct_algo == FF_IDCT_AUTO)
avctx->idct_algo = FF_IDCT_SIMPLE;
+#if FF_API_FULLSCALE_PIXFMT
avctx->pix_fmt = AV_PIX_FMT_YUVJ420P;
+#else
+ avctx->pix_fmt = AV_PIX_FMT_YUV420P;
+#endif /* FF_API_FULLSCALE_PIXFMT */
avctx->color_range = AVCOL_RANGE_JPEG;
return 0;
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index b1192c5..198f696 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -339,7 +339,11 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
if (s->rgb)
s->avctx->pix_fmt = AV_PIX_FMT_BGRA;
else {
+#if FF_API_FULLSCALE_PIXFMT
s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P :
AV_PIX_FMT_YUVJ444P;
+#else
+ s->avctx->pix_fmt = AV_PIX_FMT_YUV444P;
+#endif
s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG :
AVCOL_RANGE_JPEG;
}
assert(s->nb_components == 3);
@@ -348,15 +352,27 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
s->avctx->pix_fmt = AV_PIX_FMT_GRAY8;
break;
case 0x12111100:
+#if FF_API_FULLSCALE_PIXFMT
s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV440P :
AV_PIX_FMT_YUVJ440P;
+#else
+ s->avctx->pix_fmt = AV_PIX_FMT_YUV440P;
+#endif
s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG :
AVCOL_RANGE_JPEG;
break;
case 0x21111100:
+#if FF_API_FULLSCALE_PIXFMT
s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV422P :
AV_PIX_FMT_YUVJ422P;
+#else
+ s->avctx->pix_fmt = AV_PIX_FMT_YUV422P;
+#endif
s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG :
AVCOL_RANGE_JPEG;
break;
case 0x22111100:
+#if FF_API_FULLSCALE_PIXFMT
s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV420P :
AV_PIX_FMT_YUVJ420P;
+#else
+ s->avctx->pix_fmt = AV_PIX_FMT_YUV420P;
+#endif
s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG :
AVCOL_RANGE_JPEG;
break;
default:
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index beb0067..3af5ebe 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -241,8 +241,11 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
}
break;
case AV_CODEC_ID_MJPEG:
- if (avctx->pix_fmt != AV_PIX_FMT_YUVJ420P &&
+ if (
+#if FF_API_FULLSCALE_PIXFMT
+ avctx->pix_fmt != AV_PIX_FMT_YUVJ420P &&
avctx->pix_fmt != AV_PIX_FMT_YUVJ422P &&
+#endif /* FF_API_FULLSCALE_PIXFMT */
((avctx->pix_fmt == AV_PIX_FMT_YUV420P ||
avctx->pix_fmt == AV_PIX_FMT_YUV422P ||
avctx->color_range == AVCOL_RANGE_MPEG) ||
@@ -259,11 +262,15 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
}
switch (avctx->pix_fmt) {
+#if FF_API_FULLSCALE_PIXFMT
case AV_PIX_FMT_YUVJ422P:
+#endif /* FF_API_FULLSCALE_PIXFMT */
case AV_PIX_FMT_YUV422P:
s->chroma_format = CHROMA_422;
break;
+#if FF_API_FULLSCALE_PIXFMT
case AV_PIX_FMT_YUVJ420P:
+#endif /* FF_API_FULLSCALE_PIXFMT */
case AV_PIX_FMT_YUV420P:
default:
s->chroma_format = CHROMA_420;
diff --git a/libavcodec/raw.c b/libavcodec/raw.c
index 4ccc6cc..93bcc9c 100644
--- a/libavcodec/raw.c
+++ b/libavcodec/raw.c
@@ -38,6 +38,7 @@ const PixelFormatTag ff_raw_pix_fmt_tags[] = {
{ AV_PIX_FMT_YUV422P, MKTAG('Y', '4', '2', 'B') },
{ AV_PIX_FMT_YUV422P, MKTAG('P', '4', '2', '2') },
{ AV_PIX_FMT_YUV422P, MKTAG('Y', 'V', '1', '6') },
+#if FF_API_FULLSCALE_PIXFMT
/* yuvjXXX formats are deprecated hacks specific to libav*,
they are identical to yuvXXX */
{ AV_PIX_FMT_YUVJ420P, MKTAG('I', '4', '2', '0') }, /* Planar formats */
@@ -45,6 +46,8 @@ const PixelFormatTag ff_raw_pix_fmt_tags[] = {
{ AV_PIX_FMT_YUVJ420P, MKTAG('Y', 'V', '1', '2') },
{ AV_PIX_FMT_YUVJ422P, MKTAG('Y', '4', '2', 'B') },
{ AV_PIX_FMT_YUVJ422P, MKTAG('P', '4', '2', '2') },
+#endif /* FF_API_FULLSCALE_PIXFMT */
+
{ AV_PIX_FMT_GRAY8, MKTAG('Y', '8', '0', '0') },
{ AV_PIX_FMT_GRAY8, MKTAG('Y', '8', ' ', ' ') },
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index fac95ee..b76b256 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -1324,6 +1324,11 @@ AVCodec ff_svq3_decoder = {
.capabilities = CODEC_CAP_DRAW_HORIZ_BAND |
CODEC_CAP_DR1 |
CODEC_CAP_DELAY,
- .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P,
+ .pix_fmts = (const enum AVPixelFormat[]) {
+#if FF_API_FULLSCALE_PIXFMT
+ AV_PIX_FMT_YUVJ420P,
+#else
+ AV_PIX_FMT_YUV420P,
+#endif
AV_PIX_FMT_NONE},
};
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index c88b346..df26776 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -197,10 +197,12 @@ void avcodec_align_dimensions2(AVCodecContext *s, int
*width, int *height,
case AV_PIX_FMT_GRAY8:
case AV_PIX_FMT_GRAY16BE:
case AV_PIX_FMT_GRAY16LE:
+#if FF_API_FULLSCALE_PIXFMT
case AV_PIX_FMT_YUVJ420P:
case AV_PIX_FMT_YUVJ422P:
case AV_PIX_FMT_YUVJ440P:
case AV_PIX_FMT_YUVJ444P:
+#endif /* FF_API_FULLSCALE_PIXFMT */
case AV_PIX_FMT_YUVA420P:
case AV_PIX_FMT_YUVA422P:
case AV_PIX_FMT_YUVA444P:
diff --git a/libavfilter/vf_boxblur.c b/libavfilter/vf_boxblur.c
index 1f26549..c59dfa6 100644
--- a/libavfilter/vf_boxblur.c
+++ b/libavfilter/vf_boxblur.c
@@ -119,8 +119,10 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P,
AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUVA420P,
AV_PIX_FMT_YUV440P, AV_PIX_FMT_GRAY8,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P,
AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_NONE
};
diff --git a/libavfilter/vf_crop.c b/libavfilter/vf_crop.c
index 1aa8466..190ba88 100644
--- a/libavfilter/vf_crop.c
+++ b/libavfilter/vf_crop.c
@@ -101,8 +101,10 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P,
AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_YUVA420P,
AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8,
AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE,
diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c
index ea9e47d..ed29cbd 100644
--- a/libavfilter/vf_cropdetect.c
+++ b/libavfilter/vf_cropdetect.c
@@ -47,10 +47,13 @@ typedef struct {
static int query_formats(AVFilterContext *ctx)
{
static const enum AVPixelFormat pix_fmts[] = {
- AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P,
- AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P,
- AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P,
- AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8,
+ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
+ AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P,
+ AV_PIX_FMT_GRAY8,
+#if FF_API_FULLSCALE_PIXFMT
+ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P,
+ AV_PIX_FMT_YUVJ444P
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_NV12, AV_PIX_FMT_NV21,
AV_PIX_FMT_NONE
};
diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c
index 2241974..d7422bb 100644
--- a/libavfilter/vf_drawbox.c
+++ b/libavfilter/vf_drawbox.c
@@ -64,9 +64,11 @@ static int query_formats(AVFilterContext *ctx)
{
enum AVPixelFormat pix_fmts[] = {
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P,
- AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P,
+ AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P,
- AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P,
+ AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_NONE
};
diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c
index b6bd775..713ebd2 100644
--- a/libavfilter/vf_fade.c
+++ b/libavfilter/vf_fade.c
@@ -69,9 +69,11 @@ static int query_formats(AVFilterContext *ctx)
{
static const enum AVPixelFormat pix_fmts[] = {
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P,
- AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P,
+ AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P,
- AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P,
+ AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
AV_PIX_FMT_NONE
};
diff --git a/libavfilter/vf_framepack.c b/libavfilter/vf_framepack.c
index f5c761a..13b6c6d 100644
--- a/libavfilter/vf_framepack.c
+++ b/libavfilter/vf_framepack.c
@@ -53,8 +53,11 @@ typedef struct FramepackContext {
static const enum AVPixelFormat formats_supported[] = {
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
- AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVJ420P,
- AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P,
+ AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUVA420P,
+#if FF_API_FULLSCALE_PIXFMT
+ AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
+ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_NONE
};
diff --git a/libavfilter/vf_hflip.c b/libavfilter/vf_hflip.c
index 6034b68..25eb280 100644
--- a/libavfilter/vf_hflip.c
+++ b/libavfilter/vf_hflip.c
@@ -59,8 +59,10 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P,
AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_YUVA420P,
AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8,
AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE,
diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c
index be6b761..83660c1 100644
--- a/libavfilter/vf_hqdn3d.c
+++ b/libavfilter/vf_hqdn3d.c
@@ -226,10 +226,12 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_YUV410P,
AV_PIX_FMT_YUV411P,
AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ420P,
AV_PIX_FMT_YUVJ422P,
AV_PIX_FMT_YUVJ444P,
AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_NE( AV_PIX_FMT_YUV420P9BE, AV_PIX_FMT_YUV420P9LE ),
AV_NE( AV_PIX_FMT_YUV422P9BE, AV_PIX_FMT_YUV422P9LE ),
AV_NE( AV_PIX_FMT_YUV444P9BE, AV_PIX_FMT_YUV444P9LE ),
diff --git a/libavfilter/vf_interlace.c b/libavfilter/vf_interlace.c
index 8a16e19..7e93c37 100644
--- a/libavfilter/vf_interlace.c
+++ b/libavfilter/vf_interlace.c
@@ -79,8 +79,12 @@ static const AVClass class = {
static const enum AVPixelFormat formats_supported[] = {
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUVA420P,
- AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P,
- AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE
+ AV_PIX_FMT_GRAY8,
+#if FF_API_FULLSCALE_PIXFMT
+ AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
+ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
+ AV_PIX_FMT_NONE
};
static int query_formats(AVFilterContext *ctx)
diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c
index c59dcd6..9792d9e 100644
--- a/libavfilter/vf_lut.c
+++ b/libavfilter/vf_lut.c
@@ -128,12 +128,19 @@ static av_cold void uninit(AVFilterContext *ctx)
}
}
+#if FF_API_FULLSCALE_PIXFMT
#define YUV_FORMATS \
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, \
AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, \
AV_PIX_FMT_YUVA420P, \
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, \
AV_PIX_FMT_YUVJ440P
+#else
+#define YUV_FORMATS \
+ AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, \
+ AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, \
+ AV_PIX_FMT_YUVA420P
+#endif /* FF_API_FULLSCALE_PIXFMT */
#define RGB_FORMATS \
AV_PIX_FMT_ARGB, AV_PIX_FMT_RGBA, \
diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c
index 0609767..3e2a02c 100644
--- a/libavfilter/vf_pad.c
+++ b/libavfilter/vf_pad.c
@@ -83,8 +83,10 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P,
AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_YUVA420P,
AV_PIX_FMT_NONE
diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c
index 06a88c7..1988a14 100644
--- a/libavfilter/vf_transpose.c
+++ b/libavfilter/vf_transpose.c
@@ -70,10 +70,12 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8,
AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE,
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P,
- AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P,
+ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV440P,
AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
- AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P,
+ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_YUVA420P, AV_PIX_FMT_GRAY8,
AV_PIX_FMT_NONE
};
diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c
index 842ec7e..c93cbbb 100644
--- a/libavfilter/vf_unsharp.c
+++ b/libavfilter/vf_unsharp.c
@@ -150,8 +150,12 @@ static int query_formats(AVFilterContext *ctx)
{
enum AVPixelFormat pix_fmts[] = {
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
AV_PIX_FMT_YUV410P,
- AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ420P,
AV_PIX_FMT_YUVJ422P,
- AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE
+ AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
+ AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
+ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
+ AV_PIX_FMT_NONE
};
ff_set_common_formats(ctx, ff_make_format_list(pix_fmts));
diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 53c567c..d17c00b 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -432,12 +432,14 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_YUV410P,
AV_PIX_FMT_YUV411P,
AV_PIX_FMT_GRAY8,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ420P,
AV_PIX_FMT_YUVJ422P,
AV_PIX_FMT_YUVJ444P,
+ AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_NE( AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_GRAY16LE ),
AV_PIX_FMT_YUV440P,
- AV_PIX_FMT_YUVJ440P,
AV_NE( AV_PIX_FMT_YUV420P10BE, AV_PIX_FMT_YUV420P10LE ),
AV_NE( AV_PIX_FMT_YUV422P10BE, AV_PIX_FMT_YUV422P10LE ),
AV_NE( AV_PIX_FMT_YUV444P10BE, AV_PIX_FMT_YUV444P10LE ),
diff --git a/libavfilter/vsrc_color.c b/libavfilter/vsrc_color.c
index d72d072..21cdb3a 100644
--- a/libavfilter/vsrc_color.c
+++ b/libavfilter/vsrc_color.c
@@ -100,8 +100,10 @@ static int query_formats(AVFilterContext *ctx)
AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P,
AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P,
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_YUVA420P,
AV_PIX_FMT_NONE
diff --git a/libavformat/rtpenc_jpeg.c b/libavformat/rtpenc_jpeg.c
index 04df658..f616f54 100644
--- a/libavformat/rtpenc_jpeg.c
+++ b/libavformat/rtpenc_jpeg.c
@@ -29,7 +29,7 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t
*buf, int size)
RTPMuxContext *s = s1->priv_data;
const uint8_t *qtables = NULL;
int nb_qtables = 0;
- uint8_t type = 1; /* default pixel format is AV_PIX_FMT_YUVJ420P */
+ uint8_t type = 1; /* default pixel format is AV_PIX_FMT_YUV420P full range
*/
uint8_t w, h;
uint8_t *p;
int off = 0; /* fragment offset of the current JPEG frame */
@@ -44,9 +44,19 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t
*buf, int size)
h = s1->streams[0]->codec->height >> 3;
/* check if pixel format is not the normal 420 case */
+#if FF_API_FULLSCALE_PIXFMT
if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P) {
+#else
+ if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUV422P &&
+ s1->streams[0]->codec->pix_fmt == AVCOL_RANGE_JPEG) {
+#endif /* FF_API_FULLSCALE_PIXFMT */
type = 0;
+#if FF_API_FULLSCALE_PIXFMT
} else if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ420P) {
+#else
+ } else if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUV420P &&
+ s1->streams[0]->codec->pix_fmt == AVCOL_RANGE_JPEG) {
+#endif /* FF_API_FULLSCALE_PIXFMT */
type = 1;
} else {
av_log(s1, AV_LOG_ERROR, "Unsupported pixel format\n");
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index 37ce173..df5762c 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -264,6 +264,7 @@ const AVPixFmtDescriptor
av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = AV_PIX_FMT_FLAG_PAL,
},
+#if FF_API_FULLSCALE_PIXFMT
[AV_PIX_FMT_YUVJ420P] = {
.name = "yuvj420p",
.nb_components = 3,
@@ -300,6 +301,7 @@ const AVPixFmtDescriptor
av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
+#endif /* FF_API_FULLSCALE_PIXFMT */
#if FF_API_XVMC
[AV_PIX_FMT_XVMC_MPEG2_MC] = {
.name = "xvmcmc",
@@ -511,6 +513,7 @@ const AVPixFmtDescriptor
av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
+#if FF_API_FULLSCALE_PIXFMT
[AV_PIX_FMT_YUVJ440P] = {
.name = "yuvj440p",
.nb_components = 3,
@@ -523,6 +526,7 @@ const AVPixFmtDescriptor
av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
+#endif /* FF_API_FULLSCALE_PIXFMT */
[AV_PIX_FMT_YUVA420P] = {
.name = "yuva420p",
.nb_components = 4,
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 0d6e0a3..084e62a 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -74,9 +74,11 @@ enum AVPixelFormat {
AV_PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is
black, in each byte pixels are ordered from the msb to the lsb
AV_PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is
white, in each byte pixels are ordered from the msb to the lsb
AV_PIX_FMT_PAL8, ///< 8 bit with PIX_FMT_RGB32 palette
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG),
deprecated in favor of PIX_FMT_YUV420P and setting color_range
AV_PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG),
deprecated in favor of PIX_FMT_YUV422P and setting color_range
AV_PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG),
deprecated in favor of PIX_FMT_YUV444P and setting color_range
+#endif /* FF_API_FULLSCALE_PIXFMT */
#if FF_API_XVMC
AV_PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet
passing
AV_PIX_FMT_XVMC_MPEG2_IDCT,
@@ -100,7 +102,9 @@ enum AVPixelFormat {
AV_PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian
AV_PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian
AV_PIX_FMT_YUV440P, ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y
samples)
+#if FF_API_FULLSCALE_PIXFMT
AV_PIX_FMT_YUVJ440P, ///< planar YUV 4:4:0 full scale (JPEG), deprecated
in favor of PIX_FMT_YUV440P and setting color_range
+#endif /* FF_API_FULLSCALE_PIXFMT */
AV_PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per
2x2 Y & A samples)
#if FF_API_VDPAU
AV_PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains
a vdpau_render_state struct which contains the bitstream of the slices as well
as various fields extracted from headers
diff --git a/libavutil/version.h b/libavutil/version.h
index cd0981c..0122cce 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -111,6 +111,9 @@
#ifndef FF_API_OPT_TYPE_METADATA
#define FF_API_OPT_TYPE_METADATA (LIBAVUTIL_VERSION_MAJOR < 54)
#endif
+#ifndef FF_API_FULLSCALE_PIXFMT
+#define FF_API_FULLSCALE_PIXFMT (LIBAVUTIL_VERSION_MAJOR < 54)
+#endif
/**
* @}
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 2111fc2..e017f23 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -89,9 +89,11 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
[AV_PIX_FMT_MONOWHITE] = { 1, 1 },
[AV_PIX_FMT_MONOBLACK] = { 1, 1 },
[AV_PIX_FMT_PAL8] = { 1, 0 },
+#if FF_API_FULLSCALE_PIXFMT
[AV_PIX_FMT_YUVJ420P] = { 1, 1 },
[AV_PIX_FMT_YUVJ422P] = { 1, 1 },
[AV_PIX_FMT_YUVJ444P] = { 1, 1 },
+#endif /* FF_API_FULLSCALE_PIXFMT */
[AV_PIX_FMT_UYVY422] = { 1, 1 },
[AV_PIX_FMT_UYYVYY411] = { 0, 0 },
[AV_PIX_FMT_BGR8] = { 1, 1 },
@@ -109,7 +111,9 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
[AV_PIX_FMT_GRAY16BE] = { 1, 1 },
[AV_PIX_FMT_GRAY16LE] = { 1, 1 },
[AV_PIX_FMT_YUV440P] = { 1, 1 },
+#if FF_API_FULLSCALE_PIXFMT
[AV_PIX_FMT_YUVJ440P] = { 1, 1 },
+#endif /* FF_API_FULLSCALE_PIXFMT */
[AV_PIX_FMT_YUVA420P] = { 1, 1 },
[AV_PIX_FMT_YUVA422P] = { 1, 1 },
[AV_PIX_FMT_YUVA444P] = { 1, 1 },
--
1.8.3.4 (Apple Git-47)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel