[FFmpeg-cvslog] Merge commit 'add1467e5e447b79e8743a0b05c54dcf58c61dfe'

Derek Buitenhuis git at videolan.org
Tue May 3 12:00:28 CEST 2016


ffmpeg | branch: master | Derek Buitenhuis <derek.buitenhuis at 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.buitenhuis at 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 */



More information about the ffmpeg-cvslog mailing list