vlc | branch: master | Francois Cartegnie <[email protected]> | Wed Aug 8 16:54:12 2018 +0200| [c4e5806a0e12dfb099abe865facb5bc7c10e30e5] | committer: Francois Cartegnie
codec: aom: do proper color mapping > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c4e5806a0e12dfb099abe865facb5bc7c10e30e5 --- modules/codec/Makefile.am | 3 ++- modules/codec/aom.c | 23 +++++++---------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am index 9ff8166bf0..9f0b9bf4bb 100644 --- a/modules/codec/Makefile.am +++ b/modules/codec/Makefile.am @@ -563,7 +563,8 @@ libvpx_plugin_la_LIBADD = $(VPX_LIBS) EXTRA_LTLIBRARIES += libvpx_plugin.la codec_LTLIBRARIES += $(LTLIBvpx) -libaom_plugin_la_SOURCES = codec/aom.c +libaom_plugin_la_SOURCES = codec/aom.c \ + packetizer/iso_color_tables.h libaom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) libaom_plugin_la_CFLAGS = $(AM_CFLAGS) $(AOM_CFLAGS) $(CPPFLAGS_aom) libaom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' diff --git a/modules/codec/aom.c b/modules/codec/aom.c index b256a8ada2..2ee937d4f3 100644 --- a/modules/codec/aom.c +++ b/modules/codec/aom.c @@ -41,6 +41,8 @@ # define SOUT_CFG_PREFIX "sout-aom-" #endif +#include "../packetizer/iso_color_tables.h" + /**************************************************************************** * Local prototypes ****************************************************************************/ @@ -221,23 +223,12 @@ static void OutputFrame(decoder_t *dec, const struct aom_image *img) dec->fmt_out.video.i_sar_den = 1; } - v->b_color_range_full = img->range == AOM_CR_FULL_RANGE; - - switch( img->mc ) + if(dec->fmt_in.video.primaries == COLOR_PRIMARIES_UNDEF) { - case AOM_CICP_MC_BT_709: - v->space = COLOR_SPACE_BT709; - break; - case AOM_CICP_MC_BT_601: - case AOM_CICP_MC_SMPTE_240: - v->space = COLOR_SPACE_BT601; - break; - case AOM_CICP_MC_BT_2020_CL: - case AOM_CICP_MC_BT_2020_NCL: - v->space = COLOR_SPACE_BT2020; - break; - default: - break; + v->primaries = iso_23001_8_cp_to_vlc_primaries(img->cp); + v->transfer = iso_23001_8_tc_to_vlc_xfer(img->tc); + v->space = iso_23001_8_mc_to_vlc_coeffs(img->mc); + v->b_color_range_full = img->range == AOM_CR_FULL_RANGE; } dec->fmt_out.video.projection_mode = dec->fmt_in.video.projection_mode; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
