]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/vp56.h
Avoid linking with h263.c functions when the relevant codecs
[ffmpeg] / libavcodec / vp56.h
index f8b3a8e4b6f7000917b54cc67c847abeda899146..624363e9f737a5c9bf0fc8d78602bb603ad082d9 100644 (file)
@@ -18,7 +18,7 @@
  *
  * 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 St, Fifth Floor, Boston, MA  02110-1301  USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #ifndef VP56_H
@@ -27,6 +27,7 @@
 #include "vp56data.h"
 #include "dsputil.h"
 #include "mpegvideo.h"
+#include "bytestream.h"
 
 
 typedef struct vp56_context vp56_context_t;
@@ -73,9 +74,12 @@ struct vp56_context {
     DSPContext dsp;
     ScanTable scantable;
     AVFrame frames[3];
+    AVFrame *framep[4];
     uint8_t *edge_emu_buffer_alloc;
     uint8_t *edge_emu_buffer;
     vp56_range_coder_t c;
+    vp56_range_coder_t cc;
+    vp56_range_coder_t *ccp;
     int sub_version;
 
     /* frame info */
@@ -108,6 +112,7 @@ struct vp56_context {
     int vector_candidate_pos;
 
     /* filtering hints */
+    int filter_header;               /* used in vp6 only */
     int deblock_filtering;
     int filter_selection;
     int filter_mode;
@@ -165,8 +170,7 @@ static inline void vp56_init_range_decoder(vp56_range_coder_t *c,
     c->high = 255;
     c->bits = 8;
     c->buffer = buf;
-    c->code_word = *c->buffer++ << 8;
-    c->code_word |= *c->buffer++;
+    c->code_word = bytestream_get_be16(&c->buffer);
 }
 
 static inline int vp56_rac_get_prob(vp56_range_coder_t *c, uint8_t prob)