Steve Lhomme
eaf149b7f8
vlc_fourcc: remove read-only VLC_CODEC_RGB32
It's never used as such. Only 4 masks existed and they have been replaced with
VLC_CODEC_BGRX, VLC_CODEC_XRGB, VLC_CODEC_XBGR and VLC_CODEC_RGBX.
3 years ago
Steve Lhomme
92d89bc3b3
vlc_fourcc: remove read-only VLC_CODEC_RGB24M
It's never used as such. Only 2 masks existed and they have been replaced with
VLC_CODEC_RGB24 and VLC_CODEC_BGR24.
3 years ago
Steve Lhomme
94ecd856db
avcodec/chroma: map common RGB15 formats to libavutil ones
They have the same definition
3 years ago
Steve Lhomme
2fb72742ca
avcodec/chroma: map common RGB16 formats to libavutil ones
They have the same definition
3 years ago
Steve Lhomme
afd5c83fba
avcodec/chroma: map common RGB24 formats to libavutil ones
They have the same definition
3 years ago
Steve Lhomme
0127ad54f9
vlc_fourcc: rename VLC_CODEC_RGB24 to VLC_CODEC_RGB24M
To signify it uses a mask, and to leave room for a real VLC_CODEC_RGB24 without
a mask.
3 years ago
Steve Lhomme
6c875b1f65
fourcc: remove read-only VLC_CODEC_RGB8
It's never used anymore at any source.
3 years ago
Steve Lhomme
2208f418ae
avcodec/chroma: map common RGB8 formats to libavutil ones
They have the same definition
3 years ago
Steve Lhomme
b8e72e4ce4
avcodec/chroma: map VLC_CODEC_XYZ12 to AV_PIX_FMT_XYZ12BE
It's not an RGB chroma and has a fixed memory layout as Big-Endian
according to the string in fourcc_list.
3 years ago
Steve Lhomme
1a8dc3fcbf
avcodec/chroma: remove mapping to non VLC chromas
If VLC doesn't have a chroma for it, that means it won't be handled later.
We should not pretend to map it.
3 years ago
Steve Lhomme
824506e8f2
avcodec/chroma: use the proper vlc_fourcc_t for 'Y','V','U','9'
It does match the description for AV_PIX_FMT_YUV410P.
3 years ago
Steve Lhomme
1b0c143bfe
avcodec/chroma. map RGB+x formats to RGB+0 chromas
The libavutil formats will always be mapped to the VLC chromas without
a mask. VLC_CODEC_RGB32 will still be masked to libavutil chromas when
the mask matches or loosely if no mask matches.
3 years ago
Steve Lhomme
a309fb4c10
avcodec/chroma: prioritize RGB mapping with the same mask
If the mask corresponds exactly, we have an exact match. If the RGB source
has a mask but none of the RGB mapping uses the same mask, we map to
a close RGB format with a different mask.
It's better than using the first VLC_CODEC_RGBxx in the list if there's
one corresponding to the exact match.
Another option would be to move the VLC_RGB_ES() calls at the end of the
list.
3 years ago
Steve Lhomme
38ad102b2c
avcodec: return the AVPixelFormat in GetFfmpegChroma()
No need to use a pointer and an error code for that.
3 years ago
Francois Cartegnie
081a0e62a0
codec: avcodec: fix mask mappings for 32 bits RGB
The macros can not handle alpha channel properly,
as it does not only requires reassigning channels
but shifting.
Mapping to/from RGB32 also loses alpha information.
We can not rely on AV native macros for this and
need to declare chroma with fixed alpha position
Could also modify the macro to add left or right
shifts parameters and even less readable for 2 chromas.
3 years ago
Steve Lhomme
e2d4c69d79
avcodec: map VLC_CODEC_RGBA10 to AV_PIX_FMT_X2BGR10
This is a RGB format with 10 bits per color.
3 years ago
Rémi Denis-Courmont
b2cc43dc45
avcodec: add ABGR
4 years ago
Rémi Denis-Courmont
63a44e8d14
avcodec: make P010 and P016 little endian
Every involved modules other than FFmpeg's assume little endian (e.g.
VA, which derives from DRM which uses little endian always), or only
works on little endian systems at all.
4 years ago
Rémi Denis-Courmont
04b5f47748
swscale: fix compilation without avcodec
Fixes #26678 .
4 years ago
Marvin Scholz
dc20caa8e0
avutil: remove LIBAVUTIL_VERSION_MICRO >= 100 checks
This check was used to distinguish FFmpeg and libav, as libav support
is removed now, this is no longer necessary.
4 years ago
Zhao Zhili
51c3da8b00
avcodec: map VLC_CODEC_YUVA_444_12
5 years ago
Steve Lhomme
c78f7ac90f
avcodec: always use AVPixelFormat instead of PixelFormat
AVPixelFormat was introduced in libavutil 51.42.0 we require 55.9.0.
5 years ago
Steve Lhomme
b6f3628fa2
avcodec: use enum AVPixelFormat where a pixel format is expected
5 years ago
Tristan Matthews
9d908d75a7
avcodec: map VLC_CODEC_GBRA_PLANAR
Fixes #23216
6 years ago
Steve Lhomme
513c814194
avcodec: map 16 bits semiplanar (P016)
7 years ago
Steve Lhomme
5363279805
remove the $Id$ in the source code
7 years ago
Steve Lhomme
8263fd8bac
avcodec: map 10/12 bits greyscale pixel formats
7 years ago
Francois Cartegnie
fccbb2e1c8
codec: avcodec: set RGB shift in encoder
8 years ago
Steve Lhomme
965ad6ca87
avcodec: remove libavutils checks that are always true based on configure checks
We assume we use 55.9.0 and 55.22.101
8 years ago
Steve Lhomme
a243a830f2
avcodec: use some chroma based on some related defines
So we don't have to depend on the library version
8 years ago
Steve Lhomme
64bf64c145
avcodec: map 10/12/16 GBRA planar formats
They can be found in FFv1
Ref #19562
8 years ago
Steve Lhomme
919e940870
avcodec: map 12/14 GBR planar formats
They can be found in FFv1
8 years ago
Steve Lhomme
f5236e6fe0
avcodec: map VLC_CODEC_RGBA64 to AV_PIX_FMT_RGBA64LE
The current mask only handles 32 bits so we only map the format for the CPU endianess.
The values are supported in libav since 2014 but only since 55.0 in ffmpeg.
8 years ago
Steve Lhomme
456a31f6a6
codec: avcodec: map RGB16 ( Fixes #19562 )
8 years ago
Tristan Matthews
e121a52d96
codec: avcodec: map Y16 ( Fixes #20814 )
8 years ago
Francois Cartegnie
bd6e2f2cdc
codec: avcodec: map i422/16 (refs #19684 )
8 years ago
Paul B Mahol
babd896d8f
Define YUV 4:2:0 16bits pixel format
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Steve Lhomme
938f50d4f6
avcodec: map VLC_CODEC_YVYU to AV_PIX_FMT_YVYU422
10 years ago
Steve Lhomme
9a2d671fd6
avcodec: map VLC_CODEC_P010 to AV_PIX_FMT_P010
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Jean-Baptiste Kempf
3078e74aab
Avutil: map 4:2:2 12bits
10 years ago
Hugo Beauzée-Luyssen
5133b722d4
avcodec: Fix RGB24 chroma mapping
10 years ago
Jean-Baptiste Kempf
b9340fca2e
avutil: disable 12bit support in libav case
10 years ago
Jean-Baptiste Kempf
1b562bddd0
avutil: libavutil version guards
10 years ago
Jean-Baptiste Kempf
fbae733366
Avutil: map YUV 4:4:4 12bits
10 years ago
Jean-Baptiste Kempf
2a130d4736
Avcodec: map 4:2:0 12bits
10 years ago
Jean-Baptiste Kempf
faa7bd357b
Avcodec/swscale: use AV_PIX_FMT consistently
11 years ago
Jean-Baptiste Kempf
5707f03f17
avcodec: use AV_PIX_FMT_PAL8 iso PIX_FMT_PAL8
11 years ago
Tristan Matthews
22a9c02f42
avcodec: add mappings for gbrp 9/10-bit LE,BE
Fixes #14909
11 years ago
Jean-Baptiste Kempf
fb658352fd
Avcodec: Map YUVA444P10*E
11 years ago
Jean-Baptiste Kempf
c9b8c8b964
avcodec: map YUVA 4:4:4
12 years ago