Start adding pixel definitions for planar rgb.
This commit is contained in:
parent
96fad826ff
commit
a3e11fa43c
@ -2704,6 +2704,10 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
|
|||||||
default:
|
default:
|
||||||
if (CHROMA444){
|
if (CHROMA444){
|
||||||
s->avctx->pix_fmt = s->avctx->color_range == AVCOL_RANGE_JPEG ? PIX_FMT_YUVJ444P : PIX_FMT_YUV444P;
|
s->avctx->pix_fmt = s->avctx->color_range == AVCOL_RANGE_JPEG ? PIX_FMT_YUVJ444P : PIX_FMT_YUV444P;
|
||||||
|
if (s->avctx->colorspace == AVCOL_SPC_RGB) {
|
||||||
|
s->avctx->pix_fmt = PIX_FMT_GBR24P;
|
||||||
|
av_log(h->s.avctx, AV_LOG_DEBUG, "Detected GBR colorspace.\n");
|
||||||
|
}
|
||||||
}else if (CHROMA422) {
|
}else if (CHROMA422) {
|
||||||
s->avctx->pix_fmt = s->avctx->color_range == AVCOL_RANGE_JPEG ? PIX_FMT_YUVJ422P : PIX_FMT_YUV422P;
|
s->avctx->pix_fmt = s->avctx->color_range == AVCOL_RANGE_JPEG ? PIX_FMT_YUVJ422P : PIX_FMT_YUV422P;
|
||||||
}else{
|
}else{
|
||||||
|
@ -988,6 +988,15 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
|
|||||||
{0,1,2,0,7}, /* A */
|
{0,1,2,0,7}, /* A */
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
[PIX_FMT_GBR24P] = {
|
||||||
|
.name = "gbr24p",
|
||||||
|
.nb_components= 3,
|
||||||
|
.comp = {
|
||||||
|
{0,1,1,0,7}, /* G */
|
||||||
|
{1,1,1,0,7}, /* B */
|
||||||
|
{2,1,1,0,7}, /* R */
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static enum PixelFormat get_pix_fmt_internal(const char *name)
|
static enum PixelFormat get_pix_fmt_internal(const char *name)
|
||||||
|
@ -154,6 +154,7 @@ enum PixelFormat {
|
|||||||
PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
|
PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
|
||||||
PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
|
PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
|
||||||
PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
|
PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
|
||||||
|
PIX_FMT_GBR24P, ///< planar GBR, 24bpp, 8G, 8B, 8R.
|
||||||
PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
|
PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user