mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit 'add1467e5e447b79e8743a0b05c54dcf58c61dfe'
* commit 'add1467e5e447b79e8743a0b05c54dcf58c61dfe': svq3: drop the build dependency on the h264 decoder Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
commit
a454ad670c
2
configure
vendored
2
configure
vendored
@ -2458,7 +2458,7 @@ sonic_ls_encoder_select="golomb rangecoder"
|
||||
sp5x_decoder_select="mjpeg_decoder"
|
||||
svq1_decoder_select="hpeldsp"
|
||||
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"
|
||||
tak_decoder_select="audiodsp"
|
||||
tdsc_decoder_select="zlib mjpeg_decoder"
|
||||
|
@ -509,7 +509,7 @@ OBJS-$(CONFIG_SUNRAST_ENCODER) += sunrastenc.o
|
||||
OBJS-$(CONFIG_SVQ1_DECODER) += svq1dec.o svq1.o svq13.o h263data.o
|
||||
OBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o svq1.o h263data.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_TEXT_DECODER) += textdec.o ass.o
|
||||
OBJS-$(CONFIG_TEXT_ENCODER) += srtenc.o ass_split.o
|
||||
OBJS-$(CONFIG_TAK_DECODER) += takdec.o tak.o takdsp.o
|
||||
|
@ -835,7 +835,6 @@ typedef struct H264Context {
|
||||
|
||||
} H264Context;
|
||||
|
||||
extern const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM + 1]; ///< One chroma qp table for each possible bit depth (8-14).
|
||||
extern const uint16_t ff_h264_mb_sizes[4];
|
||||
|
||||
/**
|
||||
|
@ -38,50 +38,6 @@
|
||||
#define MAX_LOG2_MAX_FRAME_NUM (12 + 4)
|
||||
#define MIN_LOG2_MAX_FRAME_NUM 4
|
||||
|
||||
#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[7][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) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
CHROMA_QP_TABLE_END(11) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
18,19,20,21, 22, 23,
|
||||
CHROMA_QP_TABLE_END(12) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
18,19,20,21, 22, 23,
|
||||
24,25,26,27, 28, 29,
|
||||
CHROMA_QP_TABLE_END(13) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
18,19,20,21, 22, 23,
|
||||
24,25,26,27, 28, 29,
|
||||
30,31,32,33, 34, 35,
|
||||
CHROMA_QP_TABLE_END(14) },
|
||||
};
|
||||
|
||||
static const uint8_t default_scaling4[2][16] = {
|
||||
{ 6, 13, 20, 28, 13, 20, 28, 32,
|
||||
20, 28, 32, 37, 28, 32, 37, 42 },
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "libavutil/avutil.h"
|
||||
|
||||
#include "avcodec.h"
|
||||
#include "h264.h"
|
||||
#include "h264data.h"
|
||||
|
||||
const uint8_t ff_h264_golomb_to_pict_type[5] = {
|
||||
@ -185,3 +186,47 @@ const uint8_t ff_h264_quant_div6[QP_MAX_NUM + 1] = {
|
||||
10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13, 13, 13, 13,
|
||||
14,14,14,14,
|
||||
};
|
||||
|
||||
#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[7][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) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
CHROMA_QP_TABLE_END(11) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
18,19,20,21, 22, 23,
|
||||
CHROMA_QP_TABLE_END(12) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
18,19,20,21, 22, 23,
|
||||
24,25,26,27, 28, 29,
|
||||
CHROMA_QP_TABLE_END(13) },
|
||||
{ 0, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11,
|
||||
12,13,14,15, 16, 17,
|
||||
18,19,20,21, 22, 23,
|
||||
24,25,26,27, 28, 29,
|
||||
30,31,32,33, 34, 35,
|
||||
CHROMA_QP_TABLE_END(14) },
|
||||
};
|
||||
|
@ -74,4 +74,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_div6[QP_MAX_NUM + 1];
|
||||
|
||||
extern const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM + 1];
|
||||
|
||||
#endif /* AVCODEC_H264DATA_H */
|
||||
|
Loading…
Reference in New Issue
Block a user