GST_VC1_MVMODE_1MV_HPEL_BILINEAR}
};
-#define GST_VC1_BFRACTION_RESERVED (GST_VC1_BFRACTION_BASIS + 1)
-#define GST_VC1_BFRACTION_PTYPE_BI (GST_VC1_BFRACTION_BASIS + 2)
-
/* Table 40: BFRACTION VLC Table */
static const VLCTable vc1_bfraction_vlc_table[] = {
{GST_VC1_BFRACTION_BASIS / 2, 0x00, 3},
}
if (framehdr->ptype == GST_VC1_PICTURE_TYPE_B) {
- if (!decode_vlc (br, (guint *) & pic->bfraction, vc1_bfraction_vlc_table,
+ guint bfraction;
+ if (!decode_vlc (br, &bfraction, vc1_bfraction_vlc_table,
G_N_ELEMENTS (vc1_bfraction_vlc_table)))
goto failed;
+ pic->bfraction = bfraction;
GST_DEBUG ("bfraction %u", pic->bfraction);
if (pic->bfraction == GST_VC1_BFRACTION_PTYPE_BI) {
if (framehdr->ptype == GST_VC1_PICTURE_TYPE_B) {
-
- if (!decode_vlc (br, (guint *) & pic->bfraction, vc1_bfraction_vlc_table,
+ guint bfraction;
+ if (!decode_vlc (br, &bfraction, vc1_bfraction_vlc_table,
G_N_ELEMENTS (vc1_bfraction_vlc_table)))
goto failed;
+ pic->bfraction = bfraction;
+ GST_DEBUG ("bfraction %d", pic->bfraction);
+
if (pic->bfraction == GST_VC1_BFRACTION_PTYPE_BI) {
framehdr->ptype = GST_VC1_PICTURE_TYPE_BI;
}
- GST_DEBUG ("bfraction= %d", pic->bfraction);
}
if (framehdr->ptype == GST_VC1_PICTURE_TYPE_I ||
* @GST_VC1_BFRACTION_BASIS: The @bfraction variable should be divided
* by this constant to have the actual value.
*/
-#define GST_VC1_BFRACTION_BASIS 256
+#define GST_VC1_BFRACTION_BASIS 840
+
+#define GST_VC1_BFRACTION_RESERVED (GST_VC1_BFRACTION_BASIS + 1)
+#define GST_VC1_BFRACTION_PTYPE_BI (GST_VC1_BFRACTION_BASIS + 2)
typedef enum {
GST_VC1_END_OF_SEQ = 0x0A,
/* B and BI picture only
* Should be divided by #GST_VC1_BFRACTION_BASIS
* to get the real value. */
- guint8 bfraction;
+ guint16 bfraction;
/* Biplane value, those fields only mention the fact
* that the bitplane is in raw mode or not */
/* B and BI picture only
* Should be divided by #GST_VC1_BFRACTION_BASIS
* to get the real value. */
- guint8 bfraction;
+ guint16 bfraction;
/* ppic */
guint8 mvmode2;