

Objects with flags
===
√ AVCodec.capabilities
√ AVCodecDescriptor.props
√ AVCodecContext.flags and flags2
AVOutputFormat.flags



Thoughts
===

- Having both individual properties AND the flags objects is kinda nice.
- I want lowercase flag/enum names, but to also work with the upper ones for b/c.


Option: av.enum flags.
    - context.flags2 & 'EXPORT_MVS'
    - context.flags2 |= 'EXPORT_MVS'
    - new APIs:
        - 'export_mvs' in context.flags2
        - context.flags2.export_mvs = True
        - context.flags2['export_mvs'] = True

Option: object which represents all flags, but can't work with integer values
    - context.flags merges flags and flags2
    - this is really only handy on AVCodecContext, so... fuckit?

Option: all exposed as individual properties
    - context.export_mvs

    - This polutes the attribute space a lot.
    - This feels the most "pythonic".
    - If you can set multiple in constructors, then NBD if you want to do many.
    - I don't like how I have to pick names.





How to name
===

If a prefix is required, one of:
    - is
    - has
    - can
    - use
    - do


