mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
avcodec: support setting the chroma intra matrix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
3d20260157
commit
cbcfd7da4d
@ -2988,6 +2988,14 @@ typedef struct AVCodecContext {
|
|||||||
#define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
|
#define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
|
||||||
#define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
|
#define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* custom intra quantization matrix
|
||||||
|
* Code outside libavcodec should access this field using av_codec_g/set_chroma_intra_matrix()
|
||||||
|
* - encoding: Set by user, can be NULL.
|
||||||
|
* - decoding: unused.
|
||||||
|
*/
|
||||||
|
uint16_t *chroma_intra_matrix;
|
||||||
} AVCodecContext;
|
} AVCodecContext;
|
||||||
|
|
||||||
AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx);
|
AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx);
|
||||||
@ -3002,6 +3010,9 @@ void av_codec_set_lowres(AVCodecContext *avctx, int val);
|
|||||||
int av_codec_get_seek_preroll(const AVCodecContext *avctx);
|
int av_codec_get_seek_preroll(const AVCodecContext *avctx);
|
||||||
void av_codec_set_seek_preroll(AVCodecContext *avctx, int val);
|
void av_codec_set_seek_preroll(AVCodecContext *avctx, int val);
|
||||||
|
|
||||||
|
uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx);
|
||||||
|
void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AVProfile.
|
* AVProfile.
|
||||||
*/
|
*/
|
||||||
|
@ -3511,6 +3511,8 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
|||||||
chroma_matrix =
|
chroma_matrix =
|
||||||
luma_matrix = s->avctx->intra_matrix;
|
luma_matrix = s->avctx->intra_matrix;
|
||||||
}
|
}
|
||||||
|
if (s->avctx->chroma_intra_matrix)
|
||||||
|
chroma_matrix = s->avctx->chroma_intra_matrix;
|
||||||
|
|
||||||
/* for mjpeg, we do include qscale in the matrix */
|
/* for mjpeg, we do include qscale in the matrix */
|
||||||
for(i=1;i<64;i++){
|
for(i=1;i<64;i++){
|
||||||
|
@ -1116,6 +1116,7 @@ MAKE_ACCESSORS(AVCodecContext, codec, AVRational, pkt_timebase)
|
|||||||
MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor)
|
MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor)
|
||||||
MAKE_ACCESSORS(AVCodecContext, codec, int, lowres)
|
MAKE_ACCESSORS(AVCodecContext, codec, int, lowres)
|
||||||
MAKE_ACCESSORS(AVCodecContext, codec, int, seek_preroll)
|
MAKE_ACCESSORS(AVCodecContext, codec, int, seek_preroll)
|
||||||
|
MAKE_ACCESSORS(AVCodecContext, codec, uint16_t*, chroma_intra_matrix)
|
||||||
|
|
||||||
int av_codec_get_max_lowres(const AVCodec *codec)
|
int av_codec_get_max_lowres(const AVCodec *codec)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user