@@ -2047,7 +2047,7 @@ sipr_decoder_select="lsp" | |||||
sp5x_decoder_select="mjpeg_decoder" | sp5x_decoder_select="mjpeg_decoder" | ||||
svq1_decoder_select="hpeldsp" | svq1_decoder_select="hpeldsp" | ||||
svq1_encoder_select="aandcttables hpeldsp me_cmp mpegvideoenc" | svq1_encoder_select="aandcttables hpeldsp me_cmp mpegvideoenc" | ||||
svq3_decoder_select="h264_decoder hpeldsp tpeldsp" | |||||
svq3_decoder_select="golomb h264dsp h264pred hpeldsp tpeldsp videodsp" | |||||
svq3_decoder_suggest="zlib" | svq3_decoder_suggest="zlib" | ||||
tak_decoder_select="audiodsp" | tak_decoder_select="audiodsp" | ||||
tdsc_decoder_deps="zlib" | tdsc_decoder_deps="zlib" | ||||
@@ -418,7 +418,7 @@ OBJS-$(CONFIG_SUNRAST_ENCODER) += sunrastenc.o | |||||
OBJS-$(CONFIG_SVQ1_DECODER) += svq1dec.o svq1.o svq13.o h263data.o | OBJS-$(CONFIG_SVQ1_DECODER) += svq1dec.o svq1.o svq13.o h263data.o | ||||
OBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o svq1.o h263data.o \ | OBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o svq1.o h263data.o \ | ||||
h263.o ituh263enc.o | h263.o ituh263enc.o | ||||
OBJS-$(CONFIG_SVQ3_DECODER) += svq3.o svq13.o mpegutils.o h264_parse.o | |||||
OBJS-$(CONFIG_SVQ3_DECODER) += svq3.o svq13.o mpegutils.o h264_parse.o h264data.o | |||||
OBJS-$(CONFIG_TAK_DECODER) += takdec.o tak.o | OBJS-$(CONFIG_TAK_DECODER) += takdec.o tak.o | ||||
OBJS-$(CONFIG_TARGA_DECODER) += targa.o | OBJS-$(CONFIG_TARGA_DECODER) += targa.o | ||||
OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o | OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o | ||||
@@ -743,7 +743,6 @@ typedef struct H264Context { | |||||
qpel_mc_func (*qpel_avg)[16]; | qpel_mc_func (*qpel_avg)[16]; | ||||
} H264Context; | } H264Context; | ||||
extern const uint8_t ff_h264_chroma_qp[3][QP_MAX_NUM + 1]; ///< One chroma qp table for each supported bit depth (8, 9, 10). | |||||
extern const uint16_t ff_h264_mb_sizes[4]; | extern const uint16_t ff_h264_mb_sizes[4]; | ||||
/** | /** | ||||
@@ -32,6 +32,7 @@ | |||||
#include "mathops.h" | #include "mathops.h" | ||||
#include "avcodec.h" | #include "avcodec.h" | ||||
#include "h264.h" | #include "h264.h" | ||||
#include "h264data.h" | |||||
#include "golomb.h" | #include "golomb.h" | ||||
#define MAX_LOG2_MAX_FRAME_NUM (12 + 4) | #define MAX_LOG2_MAX_FRAME_NUM (12 + 4) | ||||
@@ -57,28 +58,6 @@ static const AVRational pixel_aspect[17] = { | |||||
{ 2, 1 }, | { 2, 1 }, | ||||
}; | }; | ||||
#define QP(qP, depth) ((qP) + 6 * ((depth) - 8)) | |||||
#define CHROMA_QP_TABLE_END(d) \ | |||||
QP(0, d), QP(1, d), QP(2, d), QP(3, d), QP(4, d), QP(5, d), \ | |||||
QP(6, d), QP(7, d), QP(8, d), QP(9, d), QP(10, d), QP(11, d), \ | |||||
QP(12, d), QP(13, d), QP(14, d), QP(15, d), QP(16, d), QP(17, d), \ | |||||
QP(18, d), QP(19, d), QP(20, d), QP(21, d), QP(22, d), QP(23, d), \ | |||||
QP(24, d), QP(25, d), QP(26, d), QP(27, d), QP(28, d), QP(29, d), \ | |||||
QP(29, d), QP(30, d), QP(31, d), QP(32, d), QP(32, d), QP(33, d), \ | |||||
QP(34, d), QP(34, d), QP(35, d), QP(35, d), QP(36, d), QP(36, d), \ | |||||
QP(37, d), QP(37, d), QP(37, d), QP(38, d), QP(38, d), QP(38, d), \ | |||||
QP(39, d), QP(39, d), QP(39, d), QP(39, d) | |||||
const uint8_t ff_h264_chroma_qp[3][QP_MAX_NUM + 1] = { | |||||
{ CHROMA_QP_TABLE_END(8) }, | |||||
{ 0, 1, 2, 3, 4, 5, | |||||
CHROMA_QP_TABLE_END(9) }, | |||||
{ 0, 1, 2, 3, 4, 5, | |||||
6, 7, 8, 9, 10, 11, | |||||
CHROMA_QP_TABLE_END(10) }, | |||||
}; | |||||
static const uint8_t default_scaling4[2][16] = { | static const uint8_t default_scaling4[2][16] = { | ||||
{ 6, 13, 20, 28, 13, 20, 28, 32, | { 6, 13, 20, 28, 13, 20, 28, 32, | ||||
20, 28, 32, 37, 28, 32, 37, 42 }, | 20, 28, 32, 37, 28, 32, 37, 42 }, | ||||
@@ -31,6 +31,7 @@ | |||||
#include "libavutil/avutil.h" | #include "libavutil/avutil.h" | ||||
#include "avcodec.h" | #include "avcodec.h" | ||||
#include "h264.h" | |||||
#include "h264data.h" | #include "h264data.h" | ||||
const uint8_t ff_h264_golomb_to_pict_type[5] = { | const uint8_t ff_h264_golomb_to_pict_type[5] = { | ||||
@@ -181,3 +182,25 @@ const uint8_t ff_h264_quant_div6[QP_MAX_NUM + 1] = { | |||||
3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, | 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, | ||||
7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, | 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, | ||||
}; | }; | ||||
#define QP(qP, depth) ((qP) + 6 * ((depth) - 8)) | |||||
#define CHROMA_QP_TABLE_END(d) \ | |||||
QP(0, d), QP(1, d), QP(2, d), QP(3, d), QP(4, d), QP(5, d), \ | |||||
QP(6, d), QP(7, d), QP(8, d), QP(9, d), QP(10, d), QP(11, d), \ | |||||
QP(12, d), QP(13, d), QP(14, d), QP(15, d), QP(16, d), QP(17, d), \ | |||||
QP(18, d), QP(19, d), QP(20, d), QP(21, d), QP(22, d), QP(23, d), \ | |||||
QP(24, d), QP(25, d), QP(26, d), QP(27, d), QP(28, d), QP(29, d), \ | |||||
QP(29, d), QP(30, d), QP(31, d), QP(32, d), QP(32, d), QP(33, d), \ | |||||
QP(34, d), QP(34, d), QP(35, d), QP(35, d), QP(36, d), QP(36, d), \ | |||||
QP(37, d), QP(37, d), QP(37, d), QP(38, d), QP(38, d), QP(38, d), \ | |||||
QP(39, d), QP(39, d), QP(39, d), QP(39, d) | |||||
const uint8_t ff_h264_chroma_qp[3][QP_MAX_NUM + 1] = { | |||||
{ CHROMA_QP_TABLE_END(8) }, | |||||
{ 0, 1, 2, 3, 4, 5, | |||||
CHROMA_QP_TABLE_END(9) }, | |||||
{ 0, 1, 2, 3, 4, 5, | |||||
6, 7, 8, 9, 10, 11, | |||||
CHROMA_QP_TABLE_END(10) }, | |||||
}; |
@@ -54,4 +54,6 @@ extern const uint8_t ff_h264_dequant8_coeff_init[6][6]; | |||||
extern const uint8_t ff_h264_quant_rem6[QP_MAX_NUM + 1]; | extern const uint8_t ff_h264_quant_rem6[QP_MAX_NUM + 1]; | ||||
extern const uint8_t ff_h264_quant_div6[QP_MAX_NUM + 1]; | extern const uint8_t ff_h264_quant_div6[QP_MAX_NUM + 1]; | ||||
extern const uint8_t ff_h264_chroma_qp[3][QP_MAX_NUM + 1]; | |||||
#endif /* AVCODEC_H264DATA_H */ | #endif /* AVCODEC_H264DATA_H */ |
@@ -47,6 +47,7 @@ | |||||
#include "avcodec.h" | #include "avcodec.h" | ||||
#include "mpegutils.h" | #include "mpegutils.h" | ||||
#include "h264.h" | #include "h264.h" | ||||
#include "h264data.h" | |||||
#include "golomb.h" | #include "golomb.h" | ||||
#include "hpeldsp.h" | #include "hpeldsp.h" | ||||
#include "mathops.h" | #include "mathops.h" | ||||