]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/intrax8.h
nvenc: Generate AUD NAL units for better compatiblity
[ffmpeg] / libavcodec / intrax8.h
index 3fb98570290e53a83f2e8e191cfea51e152be4f9..ad172b16bed4fd643c522ba68fec2c55ccc09e84 100644 (file)
@@ -21,7 +21,6 @@
 
 #include "blockdsp.h"
 #include "get_bits.h"
-#include "mpegvideo.h"
 #include "idctdsp.h"
 #include "intrax8dsp.h"
 #include "mpegpicture.h"
@@ -37,9 +36,10 @@ typedef struct IntraX8Context {
     uint8_t *prediction_table; // 2 * (mb_w * 2)
     ScanTable scantable[3];
     AVCodecContext *avctx;
+    int *block_last_index;  ///< last nonzero coefficient in block
+    int16_t (*block)[64];
 
     // set by the caller codec
-    MpegEncContext *s;
     IntraX8DSPContext dsp;
     IDCTDSPContext idsp;
     BlockDSPContext bdsp;
@@ -73,19 +73,20 @@ typedef struct IntraX8Context {
 
 /**
  * Initialize IntraX8 frame decoder.
- * Requires valid MpegEncContext with valid s->mb_width before calling.
  * @param avctx pointer to AVCodecContext
  * @param w pointer to IntraX8Context
  * @param idsp pointer to IDCTDSPContext
+ * @param block pointer to block array
+ * @param block_last_index pointer to index array
  * @param mb_width macroblock width
  * @param mb_height macroblock height
- * @param s pointer to MpegEncContext of the parent codec
  * @return 0 on success, a negative AVERROR value on error
  */
 int ff_intrax8_common_init(AVCodecContext *avctx,
                            IntraX8Context *w, IDCTDSPContext *idsp,
-                           int mb_width, int mb_height,
-                           MpegEncContext *const s);
+                           int16_t (*block)[64],
+                           int block_last_index[12],
+                           int mb_width, int mb_height);
 
 /**
  * Destroy IntraX8 frame structure.
@@ -95,9 +96,6 @@ void ff_intrax8_common_end(IntraX8Context *w);
 
 /**
  * Decode single IntraX8 frame.
- * The parent codec must call ff_mpv_frame_start() before calling this function.
- * The parent codec must call ff_mpv_frame_end() after calling this function.
- * This function does not use ff_mpv_decode_mb().
  * @param w pointer to IntraX8Context
  * @param pict the output Picture containing an AVFrame
  * @param gb open bitstream reader