37                         int x, 
int y, 
int c, 
int w,
 
   38                         int read_pal_component)
 
   42     int depth = comp.
depth;
 
   43     int mask  = (1 << depth) - 1;
 
   49         int skip = x * step + comp.
offset;
 
   51         int shift = 8 - depth - (skip & 7);
 
   55             if (read_pal_component)
 
   56                 val = data[1][4*val + 
c];
 
   65         int is_8bit = shift + depth <= 8;
 
   71             int val = is_8bit ? *p :
 
   73             val = (val >> 
shift) & mask;
 
   74             if (read_pal_component)
 
   75                 val = data[1][4 * val + 
c];
 
   85                          int x, 
int y, 
int c, 
int w)
 
   89     int depth = comp.
depth;
 
   94         int skip = x * step + comp.
offset;
 
   96         int shift = 8 - depth - (skip & 7);
 
   99             *p |= *src++ << 
shift;
 
  109         if (shift + depth <= 8) {
 
  112                 *p |= (*src++ << 
shift);
 
  130 #if FF_API_PLUS1_MINUS1 
  140             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  141             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  142             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  152             { 0, 2, 0, 0, 8, 1, 7, 1 },        
 
  153             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  154             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  163             { 0, 2, 0, 0, 8, 1, 7, 1 },        
 
  164             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  165             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  174             { 0, 3, 0, 0, 8, 2, 7, 1 },        
 
  175             { 0, 3, 1, 0, 8, 2, 7, 2 },        
 
  176             { 0, 3, 2, 0, 8, 2, 7, 3 },        
 
  186             { 0, 3, 2, 0, 8, 2, 7, 3 },        
 
  187             { 0, 3, 1, 0, 8, 2, 7, 2 },        
 
  188             { 0, 3, 0, 0, 8, 2, 7, 1 },        
 
  198             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  199             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  200             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  210             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  211             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  212             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  222             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  223             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  224             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  234             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  235             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  236             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  246             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  247             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  248             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  258             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  269             { 0, 1, 0, 0, 1, 0, 0, 1 },        
 
  279             { 0, 1, 0, 7, 1, 0, 0, 1 },        
 
  289             { 0, 1, 0, 0, 8, 0, 7, 1 },
 
  299             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  300             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  301             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  311             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  312             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  313             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  323             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  324             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  325             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  351             { 0, 2, 1, 0, 8, 1, 7, 2 },        
 
  352             { 0, 4, 0, 0, 8, 3, 7, 1 },        
 
  353             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  362             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  363             { 0, 6, 0, 0, 8, 5, 7, 1 },        
 
  364             { 0, 6, 3, 0, 8, 5, 7, 4 },        
 
  373             { 0, 1, 0, 0, 3, 0, 2, 1 },        
 
  374             { 0, 1, 0, 3, 3, 0, 2, 1 },        
 
  375             { 0, 1, 0, 6, 2, 0, 1, 1 },        
 
  385             { 0, 4, 3, 0, 1, 3, 0, 4 },        
 
  386             { 0, 4, 1, 0, 2, 3, 1, 2 },        
 
  387             { 0, 4, 0, 0, 1, 3, 0, 1 },        
 
  397             { 0, 1, 0, 0, 1, 0, 0, 1 },        
 
  398             { 0, 1, 0, 1, 2, 0, 1, 1 },        
 
  399             { 0, 1, 0, 3, 1, 0, 0, 1 },        
 
  409             { 0, 1, 0, 6, 2, 0, 1, 1 },        
 
  410             { 0, 1, 0, 3, 3, 0, 2, 1 },        
 
  411             { 0, 1, 0, 0, 3, 0, 2, 1 },        
 
  421             { 0, 4, 0, 0, 1, 3, 0, 1 },        
 
  422             { 0, 4, 1, 0, 2, 3, 1, 2 },        
 
  423             { 0, 4, 3, 0, 1, 3, 0, 4 },        
 
  433             { 0, 1, 0, 3, 1, 0, 0, 1 },        
 
  434             { 0, 1, 0, 1, 2, 0, 1, 1 },        
 
  435             { 0, 1, 0, 0, 1, 0, 0, 1 },        
 
  445             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  446             { 1, 2, 0, 0, 8, 1, 7, 1 },        
 
  447             { 1, 2, 1, 0, 8, 1, 7, 2 },        
 
  457             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  458             { 1, 2, 1, 0, 8, 1, 7, 2 },        
 
  459             { 1, 2, 0, 0, 8, 1, 7, 1 },        
 
  469             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  470             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  471             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  472             { 0, 4, 0, 0, 8, 3, 7, 1 },        
 
  482             { 0, 4, 0, 0, 8, 3, 7, 1 },        
 
  483             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  484             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  485             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  495             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  496             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  497             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  498             { 0, 4, 0, 0, 8, 3, 7, 1 },        
 
  508             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  509             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  510             { 0, 4, 0, 0, 8, 3, 7, 1 },        
 
  511             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  521             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  522             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  523             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  533             { 0, 4, 0, 0, 8, 3, 7, 1 },        
 
  534             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  535             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  545             { 0, 4, 3, 0, 8, 3, 7, 4 },        
 
  546             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  547             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  557             { 0, 4, 2, 0, 8, 3, 7, 3 },        
 
  558             { 0, 4, 1, 0, 8, 3, 7, 2 },        
 
  559             { 0, 4, 0, 0, 8, 3, 7, 1 },        
 
  569             { 0, 2, 0, 0, 9, 1, 8, 1 },       
 
  580             { 0, 2, 0, 0, 9, 1, 8, 1 },       
 
  590             { 0, 2, 0, 0, 10, 1, 9, 1 },       
 
  601             { 0, 2, 0, 0, 10, 1, 9, 1 },       
 
  611             { 0, 2, 0, 0, 12, 1, 11, 1 },       
 
  622             { 0, 2, 0, 0, 12, 1, 11, 1 },       
 
  632             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
  643             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
  653             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  654             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  655             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  665             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  666             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  667             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  672         .name = 
"yuv440p10le",
 
  677             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  678             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  679             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  684         .name = 
"yuv440p10be",
 
  689             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  690             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  691             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  696         .name = 
"yuv440p12le",
 
  701             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
  702             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
  703             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
  708         .name = 
"yuv440p12be",
 
  713             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
  714             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
  715             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
  725             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  726             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  727             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  728             { 3, 1, 0, 0, 8, 0, 7, 1 },        
 
  738             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  739             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  740             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  741             { 3, 1, 0, 0, 8, 0, 7, 1 },        
 
  751             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
  752             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
  753             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
  754             { 3, 1, 0, 0, 8, 0, 7, 1 },        
 
  759         .name = 
"yuva420p9be",
 
  764             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
  765             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
  766             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
  767             { 3, 2, 0, 0, 9, 1, 8, 1 },        
 
  772         .name = 
"yuva420p9le",
 
  777             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
  778             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
  779             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
  780             { 3, 2, 0, 0, 9, 1, 8, 1 },        
 
  785         .name = 
"yuva422p9be",
 
  790             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
  791             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
  792             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
  793             { 3, 2, 0, 0, 9, 1, 8, 1 },        
 
  798         .name = 
"yuva422p9le",
 
  803             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
  804             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
  805             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
  806             { 3, 2, 0, 0, 9, 1, 8, 1 },        
 
  811         .name = 
"yuva444p9be",
 
  816             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
  817             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
  818             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
  819             { 3, 2, 0, 0, 9, 1, 8, 1 },        
 
  824         .name = 
"yuva444p9le",
 
  829             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
  830             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
  831             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
  832             { 3, 2, 0, 0, 9, 1, 8, 1 },        
 
  837         .name = 
"yuva420p10be",
 
  842             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  843             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  844             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  845             { 3, 2, 0, 0, 10, 1, 9, 1 },        
 
  850         .name = 
"yuva420p10le",
 
  855             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  856             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  857             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  858             { 3, 2, 0, 0, 10, 1, 9, 1 },        
 
  863         .name = 
"yuva422p10be",
 
  868             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  869             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  870             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  871             { 3, 2, 0, 0, 10, 1, 9, 1 },        
 
  876         .name = 
"yuva422p10le",
 
  881             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  882             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  883             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  884             { 3, 2, 0, 0, 10, 1, 9, 1 },        
 
  889         .name = 
"yuva444p10be",
 
  894             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  895             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  896             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  897             { 3, 2, 0, 0, 10, 1, 9, 1 },        
 
  902         .name = 
"yuva444p10le",
 
  907             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
  908             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
  909             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
  910             { 3, 2, 0, 0, 10, 1, 9, 1 },        
 
  915         .name = 
"yuva420p16be",
 
  920             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
  921             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
  922             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
  923             { 3, 2, 0, 0, 16, 1, 15, 1 },        
 
  928         .name = 
"yuva420p16le",
 
  933             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
  934             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
  935             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
  936             { 3, 2, 0, 0, 16, 1, 15, 1 },        
 
  941         .name = 
"yuva422p16be",
 
  946             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
  947             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
  948             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
  949             { 3, 2, 0, 0, 16, 1, 15, 1 },        
 
  954         .name = 
"yuva422p16le",
 
  959             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
  960             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
  961             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
  962             { 3, 2, 0, 0, 16, 1, 15, 1 },        
 
  967         .name = 
"yuva444p16be",
 
  972             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
  973             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
  974             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
  975             { 3, 2, 0, 0, 16, 1, 15, 1 },        
 
  980         .name = 
"yuva444p16le",
 
  985             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
  986             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
  987             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
  988             { 3, 2, 0, 0, 16, 1, 15, 1 },        
 
  994         .name = 
"vdpau_h264",
 
 1000         .name = 
"vdpau_mpeg1",
 
 1006         .name = 
"vdpau_mpeg2",
 
 1012         .name = 
"vdpau_wmv3",
 
 1018         .name = 
"vdpau_vc1",
 
 1024         .name = 
"vdpau_mpeg4",
 
 1036             { 0, 6, 0, 0, 16, 5, 15, 1 },       
 
 1037             { 0, 6, 2, 0, 16, 5, 15, 3 },       
 
 1038             { 0, 6, 4, 0, 16, 5, 15, 5 },       
 
 1048             { 0, 6, 0, 0, 16, 5, 15, 1 },       
 
 1049             { 0, 6, 2, 0, 16, 5, 15, 3 },       
 
 1050             { 0, 6, 4, 0, 16, 5, 15, 5 },       
 
 1060             { 0, 8, 0, 0, 16, 7, 15, 1 },       
 
 1061             { 0, 8, 2, 0, 16, 7, 15, 3 },       
 
 1062             { 0, 8, 4, 0, 16, 7, 15, 5 },       
 
 1063             { 0, 8, 6, 0, 16, 7, 15, 7 },       
 
 1073             { 0, 8, 0, 0, 16, 7, 15, 1 },       
 
 1074             { 0, 8, 2, 0, 16, 7, 15, 3 },       
 
 1075             { 0, 8, 4, 0, 16, 7, 15, 5 },       
 
 1076             { 0, 8, 6, 0, 16, 7, 15, 7 },       
 
 1086             { 0, 2, -1, 3, 5, 1, 4, 0 },        
 
 1087             { 0, 2,  0, 5, 6, 1, 5, 1 },        
 
 1088             { 0, 2,  0, 0, 5, 1, 4, 1 },        
 
 1098             { 0, 2, 1, 3, 5, 1, 4, 2 },        
 
 1099             { 0, 2, 0, 5, 6, 1, 5, 1 },        
 
 1100             { 0, 2, 0, 0, 5, 1, 4, 1 },        
 
 1110             { 0, 2, -1, 2, 5, 1, 4, 0 },        
 
 1111             { 0, 2,  0, 5, 5, 1, 4, 1 },        
 
 1112             { 0, 2,  0, 0, 5, 1, 4, 1 },        
 
 1122             { 0, 2, 1, 2, 5, 1, 4, 2 },        
 
 1123             { 0, 2, 0, 5, 5, 1, 4, 1 },        
 
 1124             { 0, 2, 0, 0, 5, 1, 4, 1 },        
 
 1134             { 0, 2, -1, 0, 4, 1, 3, 0 },        
 
 1135             { 0, 2,  0, 4, 4, 1, 3, 1 },        
 
 1136             { 0, 2,  0, 0, 4, 1, 3, 1 },        
 
 1146             { 0, 2, 1, 0, 4, 1, 3, 2 },        
 
 1147             { 0, 2, 0, 4, 4, 1, 3, 1 },        
 
 1148             { 0, 2, 0, 0, 4, 1, 3, 1 },        
 
 1158             { 0, 6, 4, 0, 16, 5, 15, 5 },       
 
 1159             { 0, 6, 2, 0, 16, 5, 15, 3 },       
 
 1160             { 0, 6, 0, 0, 16, 5, 15, 1 },       
 
 1170             { 0, 6, 4, 0, 16, 5, 15, 5 },       
 
 1171             { 0, 6, 2, 0, 16, 5, 15, 3 },       
 
 1172             { 0, 6, 0, 0, 16, 5, 15, 1 },       
 
 1182             { 0, 8, 4, 0, 16, 7, 15, 5 },       
 
 1183             { 0, 8, 2, 0, 16, 7, 15, 3 },       
 
 1184             { 0, 8, 0, 0, 16, 7, 15, 1 },       
 
 1185             { 0, 8, 6, 0, 16, 7, 15, 7 },       
 
 1195             { 0, 8, 4, 0, 16, 7, 15, 5 },       
 
 1196             { 0, 8, 2, 0, 16, 7, 15, 3 },       
 
 1197             { 0, 8, 0, 0, 16, 7, 15, 1 },       
 
 1198             { 0, 8, 6, 0, 16, 7, 15, 7 },       
 
 1208             { 0, 2,  0, 0, 5, 1, 4, 1 },        
 
 1209             { 0, 2,  0, 5, 6, 1, 5, 1 },        
 
 1210             { 0, 2, -1, 3, 5, 1, 4, 0 },        
 
 1220             { 0, 2, 0, 0, 5, 1, 4, 1 },        
 
 1221             { 0, 2, 0, 5, 6, 1, 5, 1 },        
 
 1222             { 0, 2, 1, 3, 5, 1, 4, 2 },        
 
 1232             { 0, 2,  0, 0, 5, 1, 4, 1 },       
 
 1233             { 0, 2,  0, 5, 5, 1, 4, 1 },       
 
 1234             { 0, 2, -1, 2, 5, 1, 4, 0 },       
 
 1244             { 0, 2, 0, 0, 5, 1, 4, 1 },        
 
 1245             { 0, 2, 0, 5, 5, 1, 4, 1 },        
 
 1246             { 0, 2, 1, 2, 5, 1, 4, 2 },        
 
 1256             { 0, 2,  0, 0, 4, 1, 3, 1 },       
 
 1257             { 0, 2,  0, 4, 4, 1, 3, 1 },       
 
 1258             { 0, 2, -1, 0, 4, 1, 3, 0 },       
 
 1268             { 0, 2, 0, 0, 4, 1, 3, 1 },        
 
 1269             { 0, 2, 0, 4, 4, 1, 3, 1 },        
 
 1270             { 0, 2, 1, 0, 4, 1, 3, 2 },        
 
 1276         .name = 
"vaapi_moco",
 
 1282         .name = 
"vaapi_idct",
 
 1288         .name = 
"vaapi_vld",
 
 1302         .name = 
"yuv420p9le",
 
 1307             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1308             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1309             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1314         .name = 
"yuv420p9be",
 
 1319             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1320             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1321             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1326         .name = 
"yuv420p10le",
 
 1331             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1332             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1333             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1338         .name = 
"yuv420p10be",
 
 1343             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1344             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1345             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1350         .name = 
"yuv420p12le",
 
 1355             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1356             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1357             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1362         .name = 
"yuv420p12be",
 
 1367             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1368             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1369             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1374         .name = 
"yuv420p14le",
 
 1379             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1380             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1381             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1386         .name = 
"yuv420p14be",
 
 1391             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1392             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1393             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1398         .name = 
"yuv420p16le",
 
 1403             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
 1404             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
 1405             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
 1410         .name = 
"yuv420p16be",
 
 1415             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
 1416             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
 1417             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
 1422         .name = 
"yuv422p9le",
 
 1427             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1428             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1429             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1434         .name = 
"yuv422p9be",
 
 1439             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1440             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1441             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1446         .name = 
"yuv422p10le",
 
 1451             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1452             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1453             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1458         .name = 
"yuv422p10be",
 
 1463             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1464             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1465             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1470         .name = 
"yuv422p12le",
 
 1475             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1476             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1477             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1482         .name = 
"yuv422p12be",
 
 1487             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1488             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1489             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1494         .name = 
"yuv422p14le",
 
 1499             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1500             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1501             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1506         .name = 
"yuv422p14be",
 
 1511             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1512             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1513             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1518         .name = 
"yuv422p16le",
 
 1523             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
 1524             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
 1525             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
 1530         .name = 
"yuv422p16be",
 
 1535             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
 1536             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
 1537             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
 1542         .name = 
"yuv444p16le",
 
 1547             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
 1548             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
 1549             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
 1554         .name = 
"yuv444p16be",
 
 1559             { 0, 2, 0, 0, 16, 1, 15, 1 },        
 
 1560             { 1, 2, 0, 0, 16, 1, 15, 1 },        
 
 1561             { 2, 2, 0, 0, 16, 1, 15, 1 },        
 
 1566         .name = 
"yuv444p10le",
 
 1571             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1572             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1573             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1578         .name = 
"yuv444p10be",
 
 1583             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1584             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1585             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1590         .name = 
"yuv444p9le",
 
 1595             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1596             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1597             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1602         .name = 
"yuv444p9be",
 
 1607             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1608             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1609             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1614         .name = 
"yuv444p12le",
 
 1619             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1620             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1621             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1626         .name = 
"yuv444p12be",
 
 1631             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1632             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1633             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1638         .name = 
"yuv444p14le",
 
 1643             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1644             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1645             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1650         .name = 
"yuv444p14be",
 
 1655             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1656             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1657             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1662         .name = 
"d3d11va_vld",
 
 1668         .name = 
"dxva2_vld",
 
 1683             { 0, 2, 0, 0, 8, 1, 7, 1 },        
 
 1684             { 0, 2, 1, 0, 8, 1, 7, 2 },        
 
 1693             { 0, 4, 0, 0, 16, 3, 15, 1 },        
 
 1694             { 0, 4, 2, 0, 16, 3, 15, 3 },        
 
 1702             { 0, 4, 0, 0, 16, 3, 15, 1 },        
 
 1703             { 0, 4, 2, 0, 16, 3, 15, 3 },        
 
 1708         .name = 
"videotoolbox_vld",
 
 1717             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
 1718             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
 1719             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
 1729             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1730             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1731             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1741             { 2, 2, 0, 0, 9, 1, 8, 1 },        
 
 1742             { 0, 2, 0, 0, 9, 1, 8, 1 },        
 
 1743             { 1, 2, 0, 0, 9, 1, 8, 1 },        
 
 1753             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1754             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1755             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1765             { 2, 2, 0, 0, 10, 1, 9, 1 },        
 
 1766             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 1767             { 1, 2, 0, 0, 10, 1, 9, 1 },        
 
 1777             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1778             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1779             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1789             { 2, 2, 0, 0, 12, 1, 11, 1 },        
 
 1790             { 0, 2, 0, 0, 12, 1, 11, 1 },        
 
 1791             { 1, 2, 0, 0, 12, 1, 11, 1 },        
 
 1801             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1802             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1803             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1813             { 2, 2, 0, 0, 14, 1, 13, 1 },        
 
 1814             { 0, 2, 0, 0, 14, 1, 13, 1 },        
 
 1815             { 1, 2, 0, 0, 14, 1, 13, 1 },        
 
 1825             { 2, 2, 0, 0, 16, 1, 15, 1 },       
 
 1826             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
 1827             { 1, 2, 0, 0, 16, 1, 15, 1 },       
 
 1837             { 2, 2, 0, 0, 16, 1, 15, 1 },       
 
 1838             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
 1839             { 1, 2, 0, 0, 16, 1, 15, 1 },       
 
 1849             { 2, 1, 0, 0, 8, 0, 7, 1 },        
 
 1850             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
 1851             { 1, 1, 0, 0, 8, 0, 7, 1 },        
 
 1852             { 3, 1, 0, 0, 8, 0, 7, 1 },        
 
 1858         .name = 
"gbrap16le",
 
 1863             { 2, 2, 0, 0, 16, 1, 15, 1 },       
 
 1864             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
 1865             { 1, 2, 0, 0, 16, 1, 15, 1 },       
 
 1866             { 3, 2, 0, 0, 16, 1, 15, 1 },       
 
 1872         .name = 
"gbrap16be",
 
 1877             { 2, 2, 0, 0, 16, 1, 15, 1 },       
 
 1878             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
 1879             { 1, 2, 0, 0, 16, 1, 15, 1 },       
 
 1880             { 3, 2, 0, 0, 16, 1, 15, 1 },       
 
 1897             { 0, 6, 0, 4, 12, 5, 11, 1 },       
 
 1898             { 0, 6, 2, 4, 12, 5, 11, 3 },       
 
 1899             { 0, 6, 4, 4, 12, 5, 11, 5 },       
 
 1909             { 0, 6, 0, 4, 12, 5, 11, 1 },       
 
 1910             { 0, 6, 2, 4, 12, 5, 11, 3 },       
 
 1911             { 0, 6, 4, 4, 12, 5, 11, 5 },       
 
 1916 #define BAYER8_DESC_COMMON \ 
 1917         .nb_components= 3, \ 
 1918         .log2_chroma_w= 0, \ 
 1919         .log2_chroma_h= 0, \ 
 1926 #define BAYER16_DESC_COMMON \ 
 1927         .nb_components= 3, \ 
 1928         .log2_chroma_w= 0, \ 
 1929         .log2_chroma_h= 0, \ 
 1937         .name = 
"bayer_bggr8",
 
 1942         .name = 
"bayer_bggr16le",
 
 1947         .name = 
"bayer_bggr16be",
 
 1952         .name = 
"bayer_rggb8",
 
 1957         .name = 
"bayer_rggb16le",
 
 1962         .name = 
"bayer_rggb16be",
 
 1967         .name = 
"bayer_gbrg8",
 
 1972         .name = 
"bayer_gbrg16le",
 
 1977         .name = 
"bayer_gbrg16be",
 
 1982         .name = 
"bayer_grbg8",
 
 1987         .name = 
"bayer_grbg16le",
 
 1992         .name = 
"bayer_grbg16be",
 
 2002             { 0, 1, 0, 0, 8, 0, 7, 1 },        
 
 2003             { 1, 2, 0, 0, 8, 1, 7, 1 },        
 
 2004             { 1, 2, 1, 0, 8, 1, 7, 2 },        
 
 2014             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 2015             { 1, 4, 0, 0, 10, 3, 9, 1 },        
 
 2016             { 1, 4, 2, 0, 10, 3, 9, 3 },        
 
 2026             { 0, 2, 0, 0, 10, 1, 9, 1 },        
 
 2027             { 1, 4, 0, 0, 10, 3, 9, 1 },        
 
 2028             { 1, 4, 2, 0, 10, 3, 9, 3 },        
 
 2041         .name = 
"mediacodec",
 
 2058             { 0, 8, 2, 0, 16, 7, 15, 3 },        
 
 2059             { 0, 8, 4, 0, 16, 7, 15, 5 },        
 
 2060             { 0, 8, 6, 0, 16, 7, 15, 7 },        
 
 2061             { 0, 8, 0, 0, 16, 7, 15, 1 },        
 
 2071             { 0, 8, 2, 0, 16, 7, 15, 3 },        
 
 2072             { 0, 8, 4, 0, 16, 7, 15, 5 },        
 
 2073             { 0, 8, 6, 0, 16, 7, 15, 7 },        
 
 2074             { 0, 8, 0, 0, 16, 7, 15, 1 },        
 
 2084             { 0, 2, 0, 6, 10, 1, 9, 1 },        
 
 2085             { 1, 4, 0, 6, 10, 3, 9, 1 },        
 
 2086             { 1, 4, 2, 6, 10, 3, 9, 3 },        
 
 2096             { 0, 2, 0, 6, 10, 1, 9, 1 },        
 
 2097             { 1, 4, 0, 6, 10, 3, 9, 1 },        
 
 2098             { 1, 4, 2, 6, 10, 3, 9, 3 },        
 
 2108             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
 2109             { 1, 4, 0, 0, 16, 3, 15, 1 },       
 
 2110             { 1, 4, 2, 0, 16, 3, 15, 3 },       
 
 2120             { 0, 2, 0, 0, 16, 1, 15, 1 },       
 
 2121             { 1, 4, 0, 0, 16, 3, 15, 1 },       
 
 2122             { 1, 4, 2, 0, 16, 3, 15, 3 },       
 
 2127         .name = 
"gbrap12le",
 
 2132             { 2, 2, 0, 0, 12, 1, 11, 1 },       
 
 2133             { 0, 2, 0, 0, 12, 1, 11, 1 },       
 
 2134             { 1, 2, 0, 0, 12, 1, 11, 1 },       
 
 2135             { 3, 2, 0, 0, 12, 1, 11, 1 },       
 
 2141         .name = 
"gbrap12be",
 
 2146             { 2, 2, 0, 0, 12, 1, 11, 1 },       
 
 2147             { 0, 2, 0, 0, 12, 1, 11, 1 },       
 
 2148             { 1, 2, 0, 0, 12, 1, 11, 1 },       
 
 2149             { 3, 2, 0, 0, 12, 1, 11, 1 },       
 
 2155         .name = 
"gbrap10le",
 
 2160             { 2, 2, 0, 0, 10, 1, 9, 1 },       
 
 2161             { 0, 2, 0, 0, 10, 1, 9, 1 },       
 
 2162             { 1, 2, 0, 0, 10, 1, 9, 1 },       
 
 2163             { 3, 2, 0, 0, 10, 1, 9, 1 },       
 
 2169         .name = 
"gbrap10be",
 
 2174             { 2, 2, 0, 0, 10, 1, 9, 1 },       
 
 2175             { 0, 2, 0, 0, 10, 1, 9, 1 },       
 
 2176             { 1, 2, 0, 0, 10, 1, 9, 1 },       
 
 2177             { 3, 2, 0, 0, 10, 1, 9, 1 },       
 
 2187         .name = 
"gbrpf32be",
 
 2192             { 2, 4, 0, 0, 32, 3, 31, 1 },        
 
 2193             { 0, 4, 0, 0, 32, 3, 31, 1 },        
 
 2194             { 1, 4, 0, 0, 32, 3, 31, 1 },        
 
 2200         .name = 
"gbrpf32le",
 
 2205             { 2, 4, 0, 0, 32, 3, 31, 1 },        
 
 2206             { 0, 4, 0, 0, 32, 3, 31, 1 },        
 
 2207             { 1, 4, 0, 0, 32, 3, 31, 1 },        
 
 2212         .name = 
"gbrapf32be",
 
 2217             { 2, 4, 0, 0, 32, 3, 31, 1 },        
 
 2218             { 0, 4, 0, 0, 32, 3, 31, 1 },        
 
 2219             { 1, 4, 0, 0, 32, 3, 31, 1 },        
 
 2220             { 3, 4, 0, 0, 32, 3, 31, 1 },        
 
 2227         .name = 
"gbrapf32le",
 
 2232             { 2, 4, 0, 0, 32, 3, 31, 1 },        
 
 2233             { 0, 4, 0, 0, 32, 3, 31, 1 },        
 
 2234             { 1, 4, 0, 0, 32, 3, 31, 1 },        
 
 2235             { 3, 4, 0, 0, 32, 3, 31, 1 },        
 
 2241         .name = 
"drm_prime",
 
 2245 #if FF_API_PLUS1_MINUS1 
 2327         if (av_pix_fmt_descriptors[pix_fmt].name &&
 
 2328             (!strcmp(av_pix_fmt_descriptors[pix_fmt].name, name) ||
 
 2329              av_match_name(name, av_pix_fmt_descriptors[pix_fmt].alias)))
 
 2342 #   define X_NE(be, le) be 
 2344 #   define X_NE(be, le) le 
 2351     if (!strcmp(name, 
"rgb32"))
 
 2352         name = 
X_NE(
"argb", 
"bgra");
 
 2353     else if (!strcmp(name, 
"bgr32"))
 
 2354         name = 
X_NE(
"abgr", 
"rgba");
 
 2360         snprintf(name2, 
sizeof(name2), 
"%s%s", name, 
X_NE(
"be", 
"le"));
 
 2377         int s = c == 1 || c == 2 ? 0 : log2_pixels;
 
 2381     return bits >> log2_pixels;
 
 2392         int s = c == 1 || c == 2 ? 0 : log2_pixels;
 
 2395     for (c = 0; c < 4; c++)
 
 2401     return bits >> log2_pixels;
 
 2409        snprintf (buf, buf_size, 
"name" " nb_components" " nb_bits");
 
 2412         snprintf(buf, buf_size, 
"%-11s %7d %10d", pixdesc->
name,
 
 2423     return &av_pix_fmt_descriptors[
pix_fmt];
 
 2429         return &av_pix_fmt_descriptors[0];
 
 2430     while (prev - av_pix_fmt_descriptors < 
FF_ARRAY_ELEMS(av_pix_fmt_descriptors) - 1) {
 
 2440     if (desc < av_pix_fmt_descriptors ||
 
 2441         desc >= av_pix_fmt_descriptors + 
FF_ARRAY_ELEMS(av_pix_fmt_descriptors))
 
 2448                                      int *h_shift, 
int *v_shift)
 
 2462     int i, planes[4] = { 0 }, ret = 0;
 
 2479         uint8_t fill[4][8+6+3] = {{0}};
 
 2480         uint8_t *
data[4] = {fill[0], fill[1], fill[2], fill[3]};
 
 2481         int linesize[4] = {0,0,0,0};
 
 2509             tmp[0] = tmp[1] = (1<<c->
depth) - 1;
 
 2522     if (!desc || strlen(desc->
name) < 2)
 
 2525     i = strlen(name) - 2;
 
 2526     if (strcmp(name + i, 
"be") && strcmp(name + i, 
"le"))
 
 2529     name[i] ^= 
'b' ^ 
'l';
 
 2534 #define FF_COLOR_NA      -1 
 2535 #define FF_COLOR_RGB      0  
 2536 #define FF_COLOR_GRAY     1  
 2537 #define FF_COLOR_YUV      2  
 2538 #define FF_COLOR_YUV_JPEG 3  
 2539 #define FF_COLOR_XYZ      4 
 2541 #define pixdesc_has_alpha(pixdesc) \ 
 2542     ((pixdesc)->nb_components == 2 || (pixdesc)->nb_components == 4 || (pixdesc)->flags & AV_PIX_FMT_FLAG_PAL) 
 2552     if(desc->
name && !strncmp(desc->
name, 
"yuvj", 4))
 
 2555     if(desc->
name && !strncmp(desc->
name, 
"xyz", 3))
 
 2577     *min = INT_MAX, *max = -INT_MAX;
 
 2587                               unsigned *lossp, 
unsigned consider)
 
 2591     int src_color, dst_color;
 
 2592     int src_min_depth, src_max_depth, dst_min_depth, dst_max_depth;
 
 2593     int ret, loss, i, nb_components;
 
 2594     int score = INT_MAX - 1;
 
 2596     if (!src_desc || !dst_desc)
 
 2601         if (dst_pix_fmt == src_pix_fmt)
 
 2610     if (dst_pix_fmt == src_pix_fmt)
 
 2625     for (i = 0; i < nb_components; i++) {
 
 2629             score -= 65536 >> depth_minus1;
 
 2672         if (src_color != dst_color)
 
 2676     if(loss & FF_LOSS_COLORSPACE)
 
 2710                                              enum AVPixelFormat src_pix_fmt, 
int has_alpha, 
int *loss_ptr)
 
 2713     int loss1, loss2, loss_mask;
 
 2719         dst_pix_fmt = dst_pix_fmt2;
 
 2720     } 
else if (!desc2) {
 
 2721         dst_pix_fmt = dst_pix_fmt1;
 
 2723         loss_mask= loss_ptr?~*loss_ptr:~0; 
 
 2730         if (score1 == score2) {
 
 2737             dst_pix_fmt = score1 < score2 ? dst_pix_fmt2 : dst_pix_fmt1;
 
#define AV_PIX_FMT_FLAG_PAL
Pixel format has a palette in data[1], values are indexes in this palette. 
ITU-R BT2020 for 12-bit system. 
also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B 
packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1 
planar GBR 4:4:4:4 40bpp, little-endian 
int plane
Which of the 4 planes contains the component. 
HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_r...
planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian 
const char const char void * val
planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian 
planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian 
static enum AVPixelFormat pix_fmt
static int shift(int a, int b)
planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian 
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
MPEG-2/4 4:2:0, H.264 default for 4:2:0. 
ptrdiff_t const GLvoid * data
"Linear transfer characteristics" 
planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian 
planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian 
8 bits gray, 8 bits alpha 
packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is st...
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples) 
MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstr...
#define FF_LOSS_ALPHA
loss of alpha bits 
int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt)
packed RGB 8:8:8, 24bpp, RGBRGB... 
packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in ...
hardware decoding through Videotoolbox 
planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian 
#define FF_LOSS_CHROMA
loss of chroma (e.g. 
int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
Return the number of bits per pixel used by the pixel format described by pixdesc. 
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601 ...
char * av_get_pix_fmt_string(char *buf, int buf_size, enum AVPixelFormat pix_fmt)
Print in buf the string corresponding to the pixel format with number pix_fmt, or a header if pix_fmt...
planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian 
bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples */ 
SMPTE ST 432-1 (2010) / P3 D65 / Display P3. 
bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples */ 
packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is st...
packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined ...
bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian */ 
HW decoding through VA API, Picture.data[3] contains a VASurfaceID. 
planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian) 
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC 
static const char *const chroma_location_names[]
packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian 
planar GBR 4:4:4 36bpp, little-endian 
SMPTE ST 431-2 (2011) / DCI P3. 
The following 12 formats have the disadvantage of needing 1 format for each bit depth. 
packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), big-endian, X=unused/undefined 
packed BGR 8:8:8, 32bpp, XBGRXBGR... X=unused/undefined 
bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples */ 
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_WB32 unsigned int_TMPL AV_WB24 unsigned int_TMPL AV_RB16
Y , 12bpp, little-endian. 
enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt)
Utility function to swap the endianness of a pixel format. 
planar GBR 4:4:4 36bpp, big-endian 
planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian 
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_RL16
order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB) 
uint8_t log2_chroma_w
Amount to shift the luma width right to find the chroma width. 
AVColorTransferCharacteristic
Color Transfer Characteristic. 
packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in ...
functionally identical to above 
const char * av_color_space_name(enum AVColorSpace space)
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian 
packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb) 
planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), little-endian ...
#define av_assert0(cond)
assert() equivalent, that is always enabled. 
planar GBRA 4:4:4:4 64bpp, big-endian 
planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian) 
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples) 
AVComponentDescriptor comp[4]
Parameters that describe how pixels are packed. 
#define AV_PIX_FMT_FLAG_ALPHA
The pixel format has an alpha channel. 
#define av_assert2(cond)
assert() equivalent, that does lie in speed critical code. 
#define BAYER16_DESC_COMMON
packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined 
8 bits with AV_PIX_FMT_RGB32 palette 
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as lit...
int av_color_range_from_name(const char *name)
AVColorSpace
YUV colorspace type. 
bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian */ 
const char * av_color_range_name(enum AVColorRange range)
#define AV_PIX_FMT_FLAG_FLOAT
The pixel format contains IEEE-754 floating point values. 
bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian */ 
Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16. 
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM 
packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), little-endian, X=unused/undefined ...
planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian 
void av_write_image_line(const uint16_t *src, uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w)
Write the values from src to the pixel format component c of an image line. 
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian 
packed ABGR 8:8:8:8, 32bpp, ABGRABGR... 
planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian) 
planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian 
planar GBR 4:4:4 48bpp, big-endian 
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range...
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian) 
MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstr...
WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstrea...
Y , 10bpp, little-endian. 
AVColorRange
MPEG vs JPEG YUV range. 
planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian 
AVColorPrimaries
Chromaticity coordinates of the source primaries. 
bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian */ 
int av_color_transfer_from_name(const char *name)
planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian 
planar GBR 4:4:4 27bpp, big-endian 
planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian 
const char * av_chroma_location_name(enum AVChromaLocation location)
also FCC Title 47 Code of Federal Regulations 73.682 (a)(20) 
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples) 
16 bits gray, 16 bits alpha (big-endian) 
ITU-R BT1361 Extended Colour Gamut. 
uint8_t log2_chroma_h
Amount to shift the luma height right to find the chroma height. 
static const uint16_t mask[17]
like NV12, with 16bpp per component, big-endian 
planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian 
#define AV_PIX_FMT_FLAG_RGB
The pixel format contains RGB-like data (as opposed to YUV/grayscale). 
static const char *const color_space_names[]
int av_chroma_location_from_name(const char *name)
int av_pix_fmt_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor. 
packed BGRA 8:8:8:8, 32bpp, BGRABGRA... 
int av_get_padded_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
Return the number of bits per pixel for the pixel format described by pixdesc, including any padding ...
#define FF_LOSS_DEPTH
loss due to color depth change 
planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), big-endian 
planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian 
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B 
#define AV_PIX_FMT_FLAG_HWACCEL
Pixel format is an HW accelerated format. 
simple assert() macros that are a bit more flexible than ISO C assert(). 
planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian 
XVideo Motion Acceleration via common packet passing. 
like NV12, with 16bpp per component, little-endian 
SMPTE ST 428-1 (CIE 1931 XYZ) 
int av_match_name(const char *name, const char *names)
Match instances of a name in a comma-separated list of names. 
planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian 
like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian 
Libavutil version macros. 
HW acceleration through VDA, data[3] contains a CVPixelBufferRef. 
planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), little-endian 
packed ARGB 8:8:8:8, 32bpp, ARGBARGB... 
size_t av_strlcpy(char *dst, const char *src, size_t size)
Copy the string src to dst, but no more than size - 1 bytes, and null-terminate dst. 
packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as lit...
packed RGBA 8:8:8:8, 32bpp, RGBARGBA... 
const char * av_color_primaries_name(enum AVColorPrimaries primaries)
planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian) 
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) 
static const char *const color_transfer_names[]
common internal API header 
uint64_t flags
Combination of AV_PIX_FMT_FLAG_... 
as above, but U and V bytes are swapped 
planar GBR 4:4:4:4 48bpp, big-endian 
enum AVPixelFormat av_pix_fmt_desc_get_id(const AVPixFmtDescriptor *desc)
uint8_t nb_components
The number of components each pixel has, (1-4) 
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems. 
#define BAYER8_DESC_COMMON
planar GBR 4:4:4:4 40bpp, big-endian 
IEEE-754 single precision planar GBR 4:4:4, 96bpp, little-endian. 
packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb) 
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
colour filters using Illuminant C 
#define FF_COLOR_YUV_JPEG
YUV color space. 
ITU-R BT2020 non-constant luminance system. 
ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2. 
#define AV_PIX_FMT_FLAG_PSEUDOPAL
The pixel format is "pseudo-paletted". 
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM 
planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian) 
packed YUV 4:2:2, 16bpp, Y0 Cr Y1 Cb 
planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), big-endian 
packed RGB 8:8:8, 24bpp, BGRBGR... 
planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian 
packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big...
planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian 
interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian ...
like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian 
static int get_color_type(const AVPixFmtDescriptor *desc)
#define pixdesc_has_alpha(pixdesc)
#define AV_PIX_FMT_FLAG_BAYER
The pixel format is following a Bayer pattern. 
planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian 
packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big...
HW acceleration through CUDA. 
packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian 
FCC Title 47 Code of Federal Regulations 73.682 (a)(20) 
#define FF_ARRAY_ELEMS(a)
the normal 2^n-1 "JPEG" YUV ranges 
HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state str...
static void comp(unsigned char *dst, ptrdiff_t dst_stride, unsigned char *src, ptrdiff_t src_stride, int add)
planar GBR 4:4:4:4 48bpp, little-endian 
packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb) 
planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian 
also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC 
functionally identical to above 
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples) 
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
Chromaticity-derived constant luminance system. 
bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian */ 
planar GBR 4:4:4 30bpp, big-endian 
int av_color_primaries_from_name(const char *name)
bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian */ 
planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian) 
static int get_pix_fmt_score(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, unsigned *lossp, unsigned consider)
#define FF_COLOR_YUV
YUV color space. 
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr 
planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian 
planar GBR 4:4:4 42bpp, little-endian 
MPEG-4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstr...
H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstre...
static FF_DISABLE_DEPRECATION_WARNINGS const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB]
Chromaticity-derived non-constant luminance system. 
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples) 
planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian) 
planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian) 
IEEE-754 single precision planar GBR 4:4:4, 96bpp, big-endian. 
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface. 
static enum AVPixelFormat get_pix_fmt_internal(const char *name)
DRM-managed buffers exposed through PRIME buffer sharing. 
"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)" 
planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian 
int av_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
Compute what kind of losses will occur when converting from one specific pixel format to another...
HW acceleration through QSV, data[3] contains a pointer to the mfxFrameSurface1 structure. 
packed BGR 8:8:8, 32bpp, BGRXBGRX... X=unused/undefined 
planar GBR 4:4:4 42bpp, big-endian 
static int get_pix_fmt_depth(int *min, int *max, enum AVPixelFormat pix_fmt)
planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian 
packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), little-endian, X=unused/undefined ...
bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian */ 
#define AV_PIX_FMT_FLAG_BITSTREAM
All values of a component are bit-wise packed end to end. 
HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer. ...
int shift
Number of least significant bits that must be shifted away to get the value. 
void av_read_image_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component)
Read a line from an image, and write the values of the pixel format component c to dst...
int offset
Number of elements before the component of the first pixel. 
hardware decoding through MediaCodec 
planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian) 
packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined 
bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian */ 
#define FF_COLOR_RGB
RGB color space. 
packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), big-endian, X=unused/undefined 
planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian 
planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian 
Hardware surfaces for Direct3D11. 
the normal 219*2^(n-8) "MPEG" YUV ranges 
static FF_ENABLE_DEPRECATION_WARNINGS const char *const color_range_names[]
ITU-R BT2020 constant luminance system. 
VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstrea...
#define FF_LOSS_COLORSPACE
loss due to color space conversion 
hardware decoding through VDA 
Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb...
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) 
planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian 
IEC 61966-2-1 (sRGB or sYCC) 
#define FF_DISABLE_DEPRECATION_WARNINGS
common internal and external API header 
Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb...
planar GBRA 4:4:4:4 32bpp 
IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, little-endian. 
planar GBR 4:4:4 27bpp, little-endian 
const char * av_color_transfer_name(enum AVColorTransferCharacteristic transfer)
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian 
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples */ 
packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb) 
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) 
interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) 
static const char *const color_primaries_names[AVCOL_PRI_NB]
enum AVPixelFormat av_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
Compute what kind of losses will occur when converting from one specific pixel format to another...
planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian) 
#define AV_PIX_FMT_FLAG_BE
Pixel format is big-endian. 
ARIB STD-B67, known as "Hybrid log-gamma". 
#define FF_LOSS_RESOLUTION
loss due to resolution change 
IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, big-endian. 
packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as lit...
packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), big-endian 
#define FF_ENABLE_DEPRECATION_WARNINGS
planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian 
Y , 16bpp, little-endian. 
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor ...
16 bits gray, 16 bits alpha (little-endian) 
planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian) 
ITU-R BT2020 for 10-bit system. 
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC 
packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), big-endian , X=unused/undefined 
number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of...
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples) 
#define FF_LOSS_COLORQUANT
loss due to color quantization 
AVChromaLocation
Location of chroma samples. 
HW decoding through Direct3D11 via old API, Picture.data[3] contains a ID3D11VideoDecoderOutputView p...
planar GBR 4:4:4 48bpp, little-endian 
void ff_check_pixfmt_descriptors(void)
MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0. 
packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), little-endian, X=unused/undefined ...
enum AVPixelFormat av_get_pix_fmt(const char *name)
Return the pixel format corresponding to name. 
const char * av_get_pix_fmt_name(enum AVPixelFormat pix_fmt)
Return the short name for a pixel format, NULL in case pix_fmt is unknown. 
planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), little-endian 
int depth
Number of bits in the component. 
interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian ...
HW acceleration though MMAL, data[3] contains a pointer to the MMAL_BUFFER_HEADER_T structure...
planar GBRA 4:4:4:4 64bpp, little-endian 
packed RGB 8:8:8, 32bpp, XRGBXRGB... X=unused/undefined 
packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3 
int av_color_space_from_name(const char *name)
AVPixelFormat
Pixel format. 
#define AV_PIX_FMT_FLAG_PLANAR
At least one pixel component is not in the first data plane. 
planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian 
planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian 
planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian 
planar GBR 4:4:4 30bpp, little-endian 
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
int step
Number of elements between 2 horizontally consecutive pixels. 
packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), little-endian 
const AVPixFmtDescriptor * av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)
Iterate over all pixel format descriptors known to libavutil. 
"Logarithmic transfer characteristic (100:1 range)" 
#define FF_COLOR_GRAY
gray color space 
planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian