Skip to content
Snippets Groups Projects
Commit 98c4268e authored by Stephen Hutchinson's avatar Stephen Hutchinson Committed by Derek Buitenhuis
Browse files

libutvideo: Prioritize compatibility with new versions

parent 309d6f50
No related branches found
No related tags found
No related merge requests found
...@@ -31,14 +31,18 @@ ...@@ -31,14 +31,18 @@
#include <utvideo/utvideo.h> #include <utvideo/utvideo.h>
#include <utvideo/Codec.h> #include <utvideo/Codec.h>
/* Ut Video version 12.0.0 removed the _WIN names, so if those are /*
* absent, redefine them to maintain compatibility with pre-v12 versions.*/ * Ut Video version 12.0.0 changed the RGB format names and removed
#if !defined(UTVF_RGB24_WIN) * the _WIN names, so if the new names are absent, define them
#define UTVF_RGB24_WIN UTVF_NFCC_BGR_BU * against the old names so compatibility with pre-v12 versions
* is maintained.
*/
#if !defined(UTVF_NFCC_BGR_BU)
#define UTVF_NFCC_BGR_BU UTVF_RGB24_WIN
#endif #endif
#if !defined(UTVF_RGB32_WIN) #if !defined(UTVF_NFCC_BGRA_BU)
#define UTVF_RGB32_WIN UTVF_NFCC_BGRA_BU #define UTVF_NFCC_BGRA_BU UTVF_RGB32_WIN
#endif #endif
typedef struct { typedef struct {
......
...@@ -61,11 +61,11 @@ static av_cold int utvideo_decode_init(AVCodecContext *avctx) ...@@ -61,11 +61,11 @@ static av_cold int utvideo_decode_init(AVCodecContext *avctx)
break; break;
case MKTAG('U', 'L', 'R', 'G'): case MKTAG('U', 'L', 'R', 'G'):
avctx->pix_fmt = AV_PIX_FMT_BGR24; avctx->pix_fmt = AV_PIX_FMT_BGR24;
format = UTVF_RGB24_WIN; format = UTVF_NFCC_BGR_BU;
break; break;
case MKTAG('U', 'L', 'R', 'A'): case MKTAG('U', 'L', 'R', 'A'):
avctx->pix_fmt = AV_PIX_FMT_RGB32; avctx->pix_fmt = AV_PIX_FMT_RGB32;
format = UTVF_RGB32_WIN; format = UTVF_NFCC_BGRA_BU;
break; break;
default: default:
av_log(avctx, AV_LOG_ERROR, av_log(avctx, AV_LOG_ERROR,
......
...@@ -51,12 +51,12 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx) ...@@ -51,12 +51,12 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx)
avctx->codec_tag = MKTAG('U', 'L', 'Y', '2'); avctx->codec_tag = MKTAG('U', 'L', 'Y', '2');
break; break;
case AV_PIX_FMT_BGR24: case AV_PIX_FMT_BGR24:
in_format = UTVF_RGB24_WIN; in_format = UTVF_NFCC_BGR_BU;
avctx->bits_per_coded_sample = 24; avctx->bits_per_coded_sample = 24;
avctx->codec_tag = MKTAG('U', 'L', 'R', 'G'); avctx->codec_tag = MKTAG('U', 'L', 'R', 'G');
break; break;
case AV_PIX_FMT_RGB32: case AV_PIX_FMT_RGB32:
in_format = UTVF_RGB32_WIN; in_format = UTVF_NFCC_BGRA_BU;
avctx->bits_per_coded_sample = 32; avctx->bits_per_coded_sample = 32;
avctx->codec_tag = MKTAG('U', 'L', 'R', 'A'); avctx->codec_tag = MKTAG('U', 'L', 'R', 'A');
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment