mirror of
https://github.com/mpv-player/mpv
synced 2024-10-22 08:51:57 +02:00
libmpcodecs: support planar GBR24 decoding
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34245 b3059339-0415-0410-9bf9-f77b7e298cf2 Note: ffmpeg first introduced PIX_FMT_GBR24P, which was used in this commit. Later, it was renamed to PIX_FMT_GBRP in ffmpeg and libav. This was updated in revision 34492 in mplayer, but the mplayer specific names (such as IMGFMT_GBR24) were left unchanged.
This commit is contained in:
parent
7d0c4c3c31
commit
b223805547
@ -215,6 +215,7 @@ static const struct {
|
||||
{"BGR32", IMGFMT_BGR32},
|
||||
{"RGB1", IMGFMT_RGB1},
|
||||
{"BGR1", IMGFMT_BGR1},
|
||||
{"GBR24P", IMGFMT_GBR24P},
|
||||
|
||||
{"MPES", IMGFMT_MPEGPES},
|
||||
|
||||
|
@ -55,6 +55,7 @@ static const struct {
|
||||
{IMGFMT_RGB8, PIX_FMT_BGR8},
|
||||
{IMGFMT_RGB4, PIX_FMT_BGR4},
|
||||
{IMGFMT_BGR8, PIX_FMT_PAL8},
|
||||
{IMGFMT_GBR24P, PIX_FMT_GBRP},
|
||||
{IMGFMT_YUY2, PIX_FMT_YUYV422},
|
||||
{IMGFMT_UYVY, PIX_FMT_UYVY422},
|
||||
{IMGFMT_NV12, PIX_FMT_NV12},
|
||||
|
@ -50,6 +50,7 @@ const char *vo_format_name(int format)
|
||||
case IMGFMT_BGRA: return "BGRA";
|
||||
case IMGFMT_ARGB: return "ARGB";
|
||||
case IMGFMT_RGBA: return "RGBA";
|
||||
case IMGFMT_GBR24P: return "Planar GBR 24-bit";
|
||||
case IMGFMT_YVU9: return "Planar YVU9";
|
||||
case IMGFMT_IF09: return "Planar IF09";
|
||||
case IMGFMT_YV12: return "Planar YV12";
|
||||
|
@ -49,6 +49,8 @@
|
||||
#define IMGFMT_BGR24 (IMGFMT_BGR|24)
|
||||
#define IMGFMT_BGR32 (IMGFMT_BGR|32)
|
||||
|
||||
#define IMGFMT_GBR24P (('G'<<24)|('B'<<16)|('R'<<8)|24)
|
||||
|
||||
#if HAVE_BIGENDIAN
|
||||
#define IMGFMT_ABGR IMGFMT_RGB32
|
||||
#define IMGFMT_BGRA (IMGFMT_RGB32|64)
|
||||
|
@ -121,8 +121,13 @@ void mp_image_setfmt(mp_image_t* mpi,unsigned int out_fmt){
|
||||
mpi->flags|=MP_IMGFLAG_SWAPPED;
|
||||
return;
|
||||
}
|
||||
mpi->flags|=MP_IMGFLAG_YUV;
|
||||
mpi->num_planes=3;
|
||||
if (out_fmt == IMGFMT_GBR24P) {
|
||||
mpi->bpp=24;
|
||||
mpi->flags|=MP_IMGFLAG_PLANAR;
|
||||
return;
|
||||
}
|
||||
mpi->flags|=MP_IMGFLAG_YUV;
|
||||
if (mp_get_chroma_shift(out_fmt, NULL, NULL, NULL)) {
|
||||
mpi->flags|=MP_IMGFLAG_PLANAR;
|
||||
mpi->bpp = mp_get_chroma_shift(out_fmt, &mpi->chroma_x_shift, &mpi->chroma_y_shift, NULL);
|
||||
|
@ -107,6 +107,7 @@ static const unsigned int outfmt_list[]={
|
||||
IMGFMT_RGB32,
|
||||
IMGFMT_BGR24,
|
||||
IMGFMT_RGB24,
|
||||
IMGFMT_GBR24P,
|
||||
IMGFMT_RGB48LE,
|
||||
IMGFMT_RGB48BE,
|
||||
IMGFMT_BGR16,
|
||||
|
@ -1191,6 +1191,7 @@ static struct {
|
||||
{"argb", IMGFMT_ARGB},
|
||||
{"bgra", IMGFMT_BGRA},
|
||||
{"abgr", IMGFMT_ABGR},
|
||||
{"gbr24p", IMGFMT_GBR24P},
|
||||
{"mjpeg", IMGFMT_MJPEG},
|
||||
{"mjpg", IMGFMT_MJPEG},
|
||||
{ NULL, 0 }
|
||||
|
Loading…
Reference in New Issue
Block a user