Revision f4a7434f

View differences:

libavutil/intreadwrite.h
422 422
    } while(0)
423 423
#endif
424 424

  
425
/*
426
 * The AV_[RW]NA macros access naturally aligned data
427
 * in a type-safe way.
428
 */
429

  
430
#define AV_RNA(s, p)    (((const av_alias##s*)(p))->u##s)
431
#define AV_WNA(s, p, v) (((av_alias##s*)(p))->u##s = (v))
432

  
433
#ifndef AV_RN16A
434
#   define AV_RN16A(p) AV_RNA(16, p)
435
#endif
436

  
437
#ifndef AV_RN32A
438
#   define AV_RN32A(p) AV_RNA(32, p)
439
#endif
440

  
441
#ifndef AV_RN64A
442
#   define AV_RN64A(p) AV_RNA(64, p)
443
#endif
444

  
445
#ifndef AV_WN16A
446
#   define AV_WN16A(p, v) AV_WNA(16, p, v)
447
#endif
448

  
449
#ifndef AV_WN32A
450
#   define AV_WN32A(p, v) AV_WNA(32, p, v)
451
#endif
452

  
453
#ifndef AV_WN64A
454
#   define AV_WN64A(p, v) AV_WNA(64, p, v)
455
#endif
456

  
425 457
/* Parameters for AV_COPY*, AV_SWAP*, AV_ZERO* must be
426 458
 * naturally aligned. They may be implemented using MMX,
427 459
 * so emms_c() must be called before using any float code

Also available in: Unified diff