Merge commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Mar 2014 11:33:33 +0000 (12:33 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Mar 2014 11:36:48 +0000 (12:36 +0100)
* commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b':
  mpegvideo: move mpegvideo formats-related defines to mpegutils.h

Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_mvpred.h
libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
42 files changed:
1  2 
libavcodec/dxva2_h264.c
libavcodec/dxva2_mpeg2.c
libavcodec/dxva2_vc1.c
libavcodec/error_resilience.c
libavcodec/h261dec.c
libavcodec/h261enc.c
libavcodec/h263.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_direct.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mvpred.h
libavcodec/h264_parser.c
libavcodec/h264_refs.c
libavcodec/ituh263dec.c
libavcodec/ituh263enc.c
libavcodec/motion_est.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4video.c
libavcodec/mpeg4videodec.c
libavcodec/mpeg4videoenc.c
libavcodec/mpegutils.h
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/mpegvideo_xvmc.c
libavcodec/msmpeg4dec.c
libavcodec/ratecontrol.c
libavcodec/rv30.c
libavcodec/rv34.c
libavcodec/rv40.c
libavcodec/svq1enc.c
libavcodec/svq3.c
libavcodec/vaapi_h264.c
libavcodec/vaapi_mpeg2.c
libavcodec/vc1dec.c
libavcodec/vdpau_h264.c
libavcodec/wmv2dec.c

Simple merge
Simple merge
Simple merge
Simple merge
@@@ -25,8 -25,8 +25,9 @@@
   * H.261 decoder.
   */
  
 +#include "libavutil/avassert.h"
  #include "avcodec.h"
+ #include "mpegutils.h"
  #include "mpegvideo.h"
  #include "h263.h"
  #include "h261.h"
@@@ -26,8 -26,8 +26,9 @@@
   */
  
  #include "libavutil/attributes.h"
 +#include "libavutil/avassert.h"
  #include "avcodec.h"
+ #include "mpegutils.h"
  #include "mpegvideo.h"
  #include "h263.h"
  #include "h261.h"
Simple merge
Simple merge
  #include "h264dsp.h"
  #include "h264pred.h"
  #include "h264qpel.h"
+ #include "mpegutils.h"
  #include "rectangle.h"
  
 -#define H264_MAX_PICTURE_COUNT 32
 -#define H264_MAX_THREADS       16
 +#define H264_MAX_PICTURE_COUNT 36
 +#define H264_MAX_THREADS       32
  
  #define MAX_SPS_COUNT          32
  #define MAX_PPS_COUNT         256
   */
  
  #define CABAC(h) 1
 +#define UNCHECKED_BITSTREAM_READER 1
  
  #include "libavutil/attributes.h"
++#include "libavutil/avassert.h"
  #include "libavutil/timer.h"
  #include "config.h"
  #include "cabac.h"
@@@ -35,8 -34,9 +35,9 @@@
  #include "h264data.h" // FIXME FIXME FIXME
  #include "h264_mvpred.h"
  #include "golomb.h"
+ #include "mpegutils.h"
 +#include "libavutil/avassert.h"
  
 -#include <assert.h>
  
  static const uint8_t golomb_to_inter_cbp_gray[16]={
   0, 1, 2, 4, 8, 3, 5,10,12,15, 7,11,13,14, 6, 9,
Simple merge
  #include "mpegvideo.h"
  #include "h264.h"
  #include "mathops.h"
+ #include "mpegutils.h"
  #include "rectangle.h"
  
 -#include <assert.h>
 -
  /* Deblocking filter (p153) */
  static const uint8_t alpha_table[52*3] = {
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
@@@ -31,8 -31,9 +31,9 @@@
  #include "internal.h"
  #include "avcodec.h"
  #include "h264.h"
+ #include "mpegutils.h"
 +#include "libavutil/avassert.h"
  
 -#include <assert.h>
  
  static av_always_inline int fetch_diagonal_mv(H264Context *h, const int16_t **C,
                                                int i, int list, int part_width)
  #include "h264data.h"
  #include "golomb.h"
  #include "internal.h"
+ #include "mpegutils.h"
  
 -#include <assert.h>
 -
  
  static int h264_find_frame_end(H264Context *h, const uint8_t *buf,
                                 int buf_size)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -39,6 -37,6 +39,7 @@@
  #include "mathops.h"
  #include "mpeg12.h"
  #include "mpeg12data.h"
++#include "mpegutils.h"
  #include "mpegvideo.h"
  
  
Simple merge
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
 +#define UNCHECKED_BITSTREAM_READER 1
 +
 +#include "libavutil/opt.h"
  #include "error_resilience.h"
  #include "internal.h"
+ #include "mpegutils.h"
  #include "mpegvideo.h"
  #include "mpeg4video.h"
  #include "h263.h"
Simple merge
index 0000000,05a5fc2..b20a139
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,111 +1,111 @@@
 - * This file is part of Libav.
+ /*
+  * Mpeg video formats-related defines and utility functions
+  *
 - * Libav is free software; you can redistribute it and/or
++ * This file is part of FFmpeg.
+  *
 - * Libav is distributed in the hope that it will be useful,
++ * FFmpeg is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+  * License as published by the Free Software Foundation; either
+  * version 2.1 of the License, or (at your option) any later version.
+  *
 - * License along with Libav; if not, write to the Free Software
++ * FFmpeg is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
++ * License along with FFmpeg; if not, write to the Free Software
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ #ifndef AVCODEC_MPEGUTILS_H
+ #define AVCODEC_MPEGUTILS_H
+ #include "version.h"
+ /* picture type */
+ #define PICT_TOP_FIELD     1
+ #define PICT_BOTTOM_FIELD  2
+ #define PICT_FRAME         3
+ /**
+  * Value of Picture.reference when Picture is not a reference picture, but
+  * is held for delayed output.
+  */
+ #define DELAYED_PIC_REF 4
+ /* MB types */
+ #if !FF_API_MB_TYPE
+ #define MB_TYPE_INTRA4x4   (1 <<  0)
+ #define MB_TYPE_INTRA16x16 (1 <<  1) // FIXME H.264-specific
+ #define MB_TYPE_INTRA_PCM  (1 <<  2) // FIXME H.264-specific
+ #define MB_TYPE_16x16      (1 <<  3)
+ #define MB_TYPE_16x8       (1 <<  4)
+ #define MB_TYPE_8x16       (1 <<  5)
+ #define MB_TYPE_8x8        (1 <<  6)
+ #define MB_TYPE_INTERLACED (1 <<  7)
+ #define MB_TYPE_DIRECT2    (1 <<  8) // FIXME
+ #define MB_TYPE_ACPRED     (1 <<  9)
+ #define MB_TYPE_GMC        (1 << 10)
+ #define MB_TYPE_SKIP       (1 << 11)
+ #define MB_TYPE_P0L0       (1 << 12)
+ #define MB_TYPE_P1L0       (1 << 13)
+ #define MB_TYPE_P0L1       (1 << 14)
+ #define MB_TYPE_P1L1       (1 << 15)
+ #define MB_TYPE_L0         (MB_TYPE_P0L0 | MB_TYPE_P1L0)
+ #define MB_TYPE_L1         (MB_TYPE_P0L1 | MB_TYPE_P1L1)
+ #define MB_TYPE_L0L1       (MB_TYPE_L0   | MB_TYPE_L1)
+ #define MB_TYPE_QUANT      (1 << 16)
+ #define MB_TYPE_CBP        (1 << 17)
+ #endif
+ #define MB_TYPE_INTRA    MB_TYPE_INTRA4x4 // default mb_type if there is just one type
+ #define IS_INTRA4x4(a)   ((a) & MB_TYPE_INTRA4x4)
+ #define IS_INTRA16x16(a) ((a) & MB_TYPE_INTRA16x16)
+ #define IS_PCM(a)        ((a) & MB_TYPE_INTRA_PCM)
+ #define IS_INTRA(a)      ((a) & 7)
+ #define IS_INTER(a)      ((a) & (MB_TYPE_16x16 | MB_TYPE_16x8 | \
+                                  MB_TYPE_8x16  | MB_TYPE_8x8))
+ #define IS_SKIP(a)       ((a) & MB_TYPE_SKIP)
+ #define IS_INTRA_PCM(a)  ((a) & MB_TYPE_INTRA_PCM)
+ #define IS_INTERLACED(a) ((a) & MB_TYPE_INTERLACED)
+ #define IS_DIRECT(a)     ((a) & MB_TYPE_DIRECT2)
+ #define IS_GMC(a)        ((a) & MB_TYPE_GMC)
+ #define IS_16X16(a)      ((a) & MB_TYPE_16x16)
+ #define IS_16X8(a)       ((a) & MB_TYPE_16x8)
+ #define IS_8X16(a)       ((a) & MB_TYPE_8x16)
+ #define IS_8X8(a)        ((a) & MB_TYPE_8x8)
+ #define IS_SUB_8X8(a)    ((a) & MB_TYPE_16x16) // note reused
+ #define IS_SUB_8X4(a)    ((a) & MB_TYPE_16x8)  // note reused
+ #define IS_SUB_4X8(a)    ((a) & MB_TYPE_8x16)  // note reused
+ #define IS_SUB_4X4(a)    ((a) & MB_TYPE_8x8)   // note reused
+ #define IS_ACPRED(a)     ((a) & MB_TYPE_ACPRED)
+ #define IS_QUANT(a)      ((a) & MB_TYPE_QUANT)
+ #define IS_DIR(a, part, list) ((a) & (MB_TYPE_P0L0 << ((part) + 2 * (list))))
+ // does this mb use listX, note does not work if subMBs
+ #define USES_LIST(a, list) ((a) & ((MB_TYPE_P0L0 | MB_TYPE_P1L0) << (2 * (list))))
+ #define HAS_CBP(a)       ((a) & MB_TYPE_CBP)
+ /* MB types for encoding */
+ #define CANDIDATE_MB_TYPE_INTRA      (1 <<  0)
+ #define CANDIDATE_MB_TYPE_INTER      (1 <<  1)
+ #define CANDIDATE_MB_TYPE_INTER4V    (1 <<  2)
+ #define CANDIDATE_MB_TYPE_SKIPPED    (1 <<  3)
+ #define CANDIDATE_MB_TYPE_DIRECT     (1 <<  4)
+ #define CANDIDATE_MB_TYPE_FORWARD    (1 <<  5)
+ #define CANDIDATE_MB_TYPE_BACKWARD   (1 <<  6)
+ #define CANDIDATE_MB_TYPE_BIDIR      (1 <<  7)
+ #define CANDIDATE_MB_TYPE_INTER_I    (1 <<  8)
+ #define CANDIDATE_MB_TYPE_FORWARD_I  (1 <<  9)
+ #define CANDIDATE_MB_TYPE_BACKWARD_I (1 << 10)
+ #define CANDIDATE_MB_TYPE_BIDIR_I    (1 << 11)
+ #define CANDIDATE_MB_TYPE_DIRECT0    (1 << 12)
+ #endif /* AVCODEC_PICTTYPE_H */
  #include "libavutil/timer.h"
  #include "avcodec.h"
  #include "dsputil.h"
 +#include "h264chroma.h"
  #include "internal.h"
  #include "mathops.h"
+ #include "mpegutils.h"
  #include "mpegvideo.h"
  #include "mjpegenc.h"
  #include "msmpeg4.h"
Simple merge
Simple merge
Simple merge
Simple merge
  
  #include "avcodec.h"
  #include "dsputil.h"
+ #include "mpegutils.h"
  #include "mpegvideo.h"
  #include "msmpeg4.h"
 +#include "libavutil/imgutils.h"
  #include "libavutil/x86/asm.h"
  #include "h263.h"
  #include "mpeg4video.h"
Simple merge
Simple merge
Simple merge
Simple merge
  #include "mpegvideo.h"
  #include "h263.h"
  #include "internal.h"
- #include "libavutil/avassert.h"
+ #include "mpegutils.h"
  #include "svq1.h"
  #include "svq1enc_cb.h"
++#include "libavutil/avassert.h"
  
 -#undef NDEBUG
 -#include <assert.h>
  
  typedef struct SVQ1Context {
      /* FIXME: Needed for motion estimation, should not be used for anything
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge