This is a second or alternative way that would allow us to deprecate J formats
without breaking AVCodec API. Instead of creating a monster struct with any
possible
color combination, I propose to supply a list of formats which have to be
interpreted
as full range, by adding a .pix_fmts_full to AVCodec. The old pix_fmts can
remain and
is compatible with current behaviour.
In this set there is also an additional structure that will allow to seamlessly
move
all color-related information from avcodeccontext to frame and then to avscale.
Note that the API for handling the second list is not yet implemented as I
wanted to
get some feedback for it.
Cheers,
Vittorio
Vittorio Giovara (4):
lavu: Move all color-related enums to AVPixFmtModel
avframe: add COLOR side data
WIP: add .pix_fmts_full for the list of full range colors
lavu: add deprecation guards to full scale formats
doc/APIchanges | 8 +++
libavcodec/avcodec.h | 69 +--------------------
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 | 16 ++++-
libavcodec/mdec.c | 4 ++
libavcodec/mjpegdec.c | 16 +++++
libavcodec/mjpegenc.c | 10 ++-
libavcodec/mpegvideo_enc.c | 9 ++-
libavcodec/raw.c | 9 ++-
libavcodec/svq3.c | 9 +++
libavcodec/utils.c | 2 +
libavcodec/version.h | 4 +-
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 | 13 +++-
libavutil/Makefile | 2 +
libavutil/frame.h | 5 ++
libavutil/pixdesc.c | 4 ++
libavutil/pixdesc.h | 1 +
libavutil/pixfmt.h | 4 ++
libavutil/pixmodel.c | 38 ++++++++++++
libavutil/pixmodel.h | 146 ++++++++++++++++++++++++++++++++++++++++++++
libavutil/version.h | 5 +-
libswscale/utils.c | 6 ++
42 files changed, 405 insertions(+), 94 deletions(-)
create mode 100644 libavutil/pixmodel.c
create mode 100644 libavutil/pixmodel.h
--
1.8.3.4 (Apple Git-47)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel