mirror of https://code.videolan.org/videolan/vlc
codec: vpx: use same chroma lookup logic as dav1d
This was done in dav1d in commit f28a4b2b34
.
No functional change.
This commit is contained in:
parent
cf69a7c6f8
commit
6bdb0bc002
|
@ -110,29 +110,29 @@ static const struct
|
|||
vlc_fourcc_t i_chroma;
|
||||
enum vpx_img_fmt i_chroma_id;
|
||||
uint8_t i_bitdepth;
|
||||
uint8_t i_needs_hack;
|
||||
|
||||
enum vpx_color_space cs;
|
||||
} chroma_table[] =
|
||||
{
|
||||
{ VLC_CODEC_I420, VPX_IMG_FMT_I420, 8, 0 },
|
||||
{ VLC_CODEC_I422, VPX_IMG_FMT_I422, 8, 0 },
|
||||
{ VLC_CODEC_I444, VPX_IMG_FMT_I444, 8, 0 },
|
||||
{ VLC_CODEC_I440, VPX_IMG_FMT_I440, 8, 0 },
|
||||
/* Transfer characteristic-dependent mappings must come first */
|
||||
{ VLC_CODEC_GBR_PLANAR, VPX_IMG_FMT_I444, 8, VPX_CS_SRGB },
|
||||
{ VLC_CODEC_GBR_PLANAR_10L, VPX_IMG_FMT_I44416, 10, VPX_CS_SRGB },
|
||||
|
||||
{ VLC_CODEC_YV12, VPX_IMG_FMT_YV12, 8, 0 },
|
||||
{ VLC_CODEC_I420, VPX_IMG_FMT_I420, 8, VPX_CS_UNKNOWN },
|
||||
{ VLC_CODEC_I422, VPX_IMG_FMT_I422, 8, VPX_CS_UNKNOWN },
|
||||
{ VLC_CODEC_I444, VPX_IMG_FMT_I444, 8, VPX_CS_UNKNOWN },
|
||||
{ VLC_CODEC_I440, VPX_IMG_FMT_I440, 8, VPX_CS_UNKNOWN },
|
||||
|
||||
{ VLC_CODEC_GBR_PLANAR, VPX_IMG_FMT_I444, 8, 1 },
|
||||
{ VLC_CODEC_GBR_PLANAR_10L, VPX_IMG_FMT_I44416, 10, 1 },
|
||||
{ VLC_CODEC_YV12, VPX_IMG_FMT_YV12, 8, VPX_CS_UNKNOWN },
|
||||
|
||||
{ VLC_CODEC_I420_10L, VPX_IMG_FMT_I42016, 10, 0 },
|
||||
{ VLC_CODEC_I422_10L, VPX_IMG_FMT_I42216, 10, 0 },
|
||||
{ VLC_CODEC_I444_10L, VPX_IMG_FMT_I44416, 10, 0 },
|
||||
{ VLC_CODEC_I420_10L, VPX_IMG_FMT_I42016, 10, VPX_CS_UNKNOWN },
|
||||
{ VLC_CODEC_I422_10L, VPX_IMG_FMT_I42216, 10, VPX_CS_UNKNOWN },
|
||||
{ VLC_CODEC_I444_10L, VPX_IMG_FMT_I44416, 10, VPX_CS_UNKNOWN },
|
||||
|
||||
{ VLC_CODEC_I420_12L, VPX_IMG_FMT_I42016, 12, 0 },
|
||||
{ VLC_CODEC_I422_12L, VPX_IMG_FMT_I42216, 12, 0 },
|
||||
{ VLC_CODEC_I444_12L, VPX_IMG_FMT_I44416, 12, 0 },
|
||||
{ VLC_CODEC_I420_12L, VPX_IMG_FMT_I42016, 12, VPX_CS_UNKNOWN },
|
||||
{ VLC_CODEC_I422_12L, VPX_IMG_FMT_I42216, 12, VPX_CS_UNKNOWN },
|
||||
{ VLC_CODEC_I444_12L, VPX_IMG_FMT_I44416, 12, VPX_CS_UNKNOWN },
|
||||
|
||||
{ VLC_CODEC_I444_16L, VPX_IMG_FMT_I44416, 16, 0 },
|
||||
{ VLC_CODEC_I444_16L, VPX_IMG_FMT_I44416, 16, VPX_CS_UNKNOWN },
|
||||
};
|
||||
|
||||
struct video_color
|
||||
|
@ -172,12 +172,11 @@ const struct video_color vpx_color_mapping_table[] =
|
|||
|
||||
static vlc_fourcc_t FindVlcChroma( struct vpx_image *img )
|
||||
{
|
||||
uint8_t hack = (img->fmt & VPX_IMG_FMT_I444) && (img->cs == VPX_CS_SRGB);
|
||||
|
||||
for( unsigned int i = 0; i < ARRAY_SIZE(chroma_table); i++ )
|
||||
if( chroma_table[i].i_chroma_id == img->fmt &&
|
||||
chroma_table[i].i_bitdepth == img->bit_depth &&
|
||||
chroma_table[i].i_needs_hack == hack )
|
||||
( chroma_table[i].cs == VPX_CS_UNKNOWN ||
|
||||
chroma_table[i].cs == img->cs ) )
|
||||
return chroma_table[i].i_chroma;
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue