printf ("embedded message: \"%s\"\n", (char *) msg);
av_log(s->avctx, AV_LOG_INFO, "embedded message: \"%s\"\n", (char *) msg);
static int svq1_decode_frame_header (GetBitContext *bitbuf,MpegEncContext *s) {  int frame_size_code;  int temporal_reference;  temporal_reference = get_bits (bitbuf, 8);  /* frame type */  s->pict_type= get_bits (bitbuf, 2)+1;  if(s->pict_type==4)       return -1;        if (s->pict_type == I_TYPE) {    /* unknown fields */    if (s->f_code == 0x50 || s->f_code == 0x60) {      int csum = get_bits (bitbuf, 16);      csum = svq1_packet_checksum ((uint8_t *)bitbuf->buffer, bitbuf->size_in_bits>>3, csum);//      printf ("%s checksum (%02x) for packet data\n",//              (csum == 0) ? "correct" : "incorrect", csum);    }    if ((s->f_code ^ 0x10) >= 0x50) {      char msg[256];      svq1_parse_string (bitbuf, (char *) msg);      printf ("embedded message: \"%s\"\n", (char *) msg);    }    skip_bits (bitbuf, 2);    skip_bits (bitbuf, 2);    skip_bits1 (bitbuf);    /* load frame size */    frame_size_code = get_bits (bitbuf, 3);    if (frame_size_code == 7) {      /* load width, height (12 bits each) */      s->width = get_bits (bitbuf, 12);      s->height = get_bits (bitbuf, 12);      if (!s->width || !s->height)        return -1;    } else {      /* get width, height from table */      s->width = svq1_frame_size_table[frame_size_code].width;      s->height = svq1_frame_size_table[frame_size_code].height;    }  }  /* unknown fields */  if (get_bits (bitbuf, 1) == 1) {    skip_bits1 (bitbuf);       /* use packet checksum if (1) */    skip_bits1 (bitbuf);       /* component checksums after image data if (1) */    if (get_bits (bitbuf, 2) != 0)      return -1;  }  if (get_bits (bitbuf, 1) == 1) {    skip_bits1 (bitbuf);    skip_bits (bitbuf, 4);    skip_bits1 (bitbuf);    skip_bits (bitbuf, 2);    while (get_bits (bitbuf, 1) == 1) {      skip_bits (bitbuf, 8);    }  }    return 0;}