vmhd.c
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #include "quicktime.h"
  2. int quicktime_vmhd_init(quicktime_vmhd_t *vmhd)
  3. {
  4. vmhd->version = 0;
  5. vmhd->flags = 1;
  6. vmhd->graphics_mode = 64;
  7. vmhd->opcolor[0] = 32768;
  8. vmhd->opcolor[1] = 32768;
  9. vmhd->opcolor[2] = 32768;
  10. }
  11. int quicktime_vmhd_init_video(quicktime_t *file, 
  12. quicktime_vmhd_t *vmhd, 
  13. int frame_w,
  14. int frame_h, 
  15. float frame_rate)
  16. {
  17. }
  18. int quicktime_vmhd_delete(quicktime_vmhd_t *vmhd)
  19. {
  20. }
  21. int quicktime_vmhd_dump(quicktime_vmhd_t *vmhd)
  22. {
  23. printf("    video media headern");
  24. printf("     version %dn", vmhd->version);
  25. printf("     flags %dn", vmhd->flags);
  26. printf("     graphics_mode %dn", vmhd->graphics_mode);
  27. printf("     opcolor %d %d %dn", vmhd->opcolor[0], vmhd->opcolor[1], vmhd->opcolor[2]);
  28. }
  29. int quicktime_read_vmhd(quicktime_t *file, quicktime_vmhd_t *vmhd)
  30. {
  31. int i;
  32. vmhd->version = quicktime_read_char(file);
  33. vmhd->flags = quicktime_read_int24(file);
  34. vmhd->graphics_mode = quicktime_read_int16(file);
  35. for(i = 0; i < 3; i++)
  36. vmhd->opcolor[i] = quicktime_read_int16(file);
  37. }
  38. int quicktime_write_vmhd(quicktime_t *file, quicktime_vmhd_t *vmhd)
  39. {
  40. quicktime_atom_t atom;
  41. int i;
  42. quicktime_atom_write_header(file, &atom, "vmhd");
  43. quicktime_write_char(file, vmhd->version);
  44. quicktime_write_int24(file, vmhd->flags);
  45. if (file->use_mp4) {
  46. quicktime_write_int64(file, (u_int64_t)0);
  47. } else {
  48. quicktime_write_int16(file, vmhd->graphics_mode);
  49. for(i = 0; i < 3; i++) {
  50. quicktime_write_int16(file, vmhd->opcolor[i]);
  51. }
  52. }
  53. quicktime_atom_write_footer(file, &atom);
  54. }