ffmpeg | branch: master | Derek Buitenhuis <derek.buitenh...@gmail.com> | Tue May 3 10:57:36 2016 +0100| [a454ad670c770902f739012ff9ed4178bd9e6feb] | committer: Derek Buitenhuis
Merge commit 'add1467e5e447b79e8743a0b05c54dcf58c61dfe' * commit 'add1467e5e447b79e8743a0b05c54dcf58c61dfe': svq3: drop the build dependency on the h264 decoder Merged-by: Derek Buitenhuis <derek.buitenh...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a454ad670c770902f739012ff9ed4178bd9e6feb --- configure | 2 +- libavcodec/Makefile | 2 +- libavcodec/h264.h | 1 - libavcodec/h264_ps.c | 44 -------------------------------------------- libavcodec/h264data.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ libavcodec/h264data.h | 2 ++ 6 files changed, 49 insertions(+), 47 deletions(-) diff --git a/configure b/configure index 1f684d2..74fd210 100755 --- a/configure +++ b/configure @@ -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" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 2fd43a0..835b803 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -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 diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 302f09a..5bf6b70 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -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]; /** diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index 515eb8a..e0f0946 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -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 }, diff --git a/libavcodec/h264data.c b/libavcodec/h264data.c index 12e9b38..823db42 100644 --- a/libavcodec/h264data.c +++ b/libavcodec/h264data.c @@ -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) }, +}; diff --git a/libavcodec/h264data.h b/libavcodec/h264data.h index a1d00e2..988352a 100644 --- a/libavcodec/h264data.h +++ b/libavcodec/h264data.h @@ -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 */ ====================================================================== diff --cc configure index 1f684d2,7b0e5b5..74fd210 --- a/configure +++ b/configure @@@ -2458,20 -2047,21 +2458,20 @@@ sonic_ls_encoder_select="golomb rangeco 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_deps="zlib" -tdsc_decoder_select="mjpeg_decoder" +tdsc_decoder_select="zlib mjpeg_decoder" theora_decoder_select="vp3_decoder" thp_decoder_select="mjpeg_decoder" -tiff_decoder_suggest="zlib" +tiff_decoder_suggest="zlib lzma" tiff_encoder_suggest="zlib" -truehd_decoder_select="mlp_decoder" +truehd_decoder_select="mlp_parser" truemotion2_decoder_select="bswapdsp" truespeech_decoder_select="bswapdsp" -tscc_decoder_deps="zlib" -txd_decoder_select="texturedsp" +tscc_decoder_select="zlib" twinvq_decoder_select="mdct lsp sinewin" +txd_decoder_select="texturedsp" utvideo_decoder_select="bswapdsp" utvideo_encoder_select="bswapdsp huffman huffyuvencdsp" vble_decoder_select="huffyuvdsp" diff --cc libavcodec/Makefile index 2fd43a0,321f8d1..835b803 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@@ -509,22 -418,17 +509,22 @@@ OBJS-$(CONFIG_SUNRAST_ENCODER) 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_TAK_DECODER) += takdec.o tak.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 OBJS-$(CONFIG_TARGA_DECODER) += targa.o OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o +OBJS-$(CONFIG_TARGA_Y216_DECODER) += targa_y216dec.o OBJS-$(CONFIG_TDSC_DECODER) += tdsc.o OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o -OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o -OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o +OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o +OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o OBJS-$(CONFIG_TMV_DECODER) += tmv.o cga_data.o +OBJS-$(CONFIG_TRUEHD_DECODER) += mlpdec.o mlpdsp.o OBJS-$(CONFIG_TRUEMOTION1_DECODER) += truemotion1.o OBJS-$(CONFIG_TRUEMOTION2_DECODER) += truemotion2.o +OBJS-$(CONFIG_TRUEMOTION2RT_DECODER) += truemotion2rt.o OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o OBJS-$(CONFIG_TSCC_DECODER) += tscc.o msrledec.o OBJS-$(CONFIG_TSCC2_DECODER) += tscc2.o diff --cc libavcodec/h264.h index 302f09a,4c0d434..5bf6b70 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@@ -829,13 -741,8 +829,12 @@@ typedef struct H264Context /* Motion Estimation */ qpel_mc_func (*qpel_put)[16]; qpel_mc_func (*qpel_avg)[16]; + + /*Green Metadata */ + GreenMetaData sei_green_metadata; + } 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]; /** diff --cc libavcodec/h264_ps.c index 515eb8a,d77fabf..e0f0946 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@@ -38,50 -38,26 +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 AVRational pixel_aspect[17] = { - { 0, 1 }, - { 1, 1 }, - { 12, 11 }, - { 10, 11 }, - { 16, 11 }, - { 40, 33 }, - { 24, 11 }, - { 20, 11 }, - { 32, 11 }, - { 80, 33 }, - { 18, 11 }, - { 15, 11 }, - { 64, 33 }, - { 160, 99 }, - { 4, 3 }, - { 3, 2 }, - { 2, 1 }, -}; - static const uint8_t default_scaling4[2][16] = { { 6, 13, 20, 28, 13, 20, 28, 32, 20, 28, 32, 37, 28, 32, 37, 42 }, diff --cc libavcodec/h264data.c index 12e9b38,0729f5d..823db42 --- a/libavcodec/h264data.c +++ b/libavcodec/h264data.c @@@ -181,7 -180,27 +182,51 @@@ const uint8_t ff_h264_quant_rem6[QP_MAX const uint8_t ff_h264_quant_div6[QP_MAX_NUM + 1] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 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,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[3][QP_MAX_NUM + 1] = { ++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, ++ { 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) }, + }; diff --cc libavcodec/h264data.h index a1d00e2,ab96f08..988352a --- a/libavcodec/h264data.h +++ b/libavcodec/h264data.h @@@ -74,4 -54,6 +74,6 @@@ extern const uint8_t ff_h264_dequant8_c 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[3][QP_MAX_NUM + 1]; ++extern const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM + 1]; + #endif /* AVCODEC_H264DATA_H */ _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog