|
|
|
@ -205,14 +205,14 @@ static inline int ff_get_fourcc(const char *s){ |
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* \def GET_UTF8(val, GET_BYTE, ERROR) |
|
|
|
|
* converts a utf-8 character (up to 4 bytes long) to its 32-bit ucs-4 encoded form |
|
|
|
|
* converts a UTF-8 character (up to 4 bytes long) to its 32-bit UCS-4 encoded form |
|
|
|
|
* \param val is the output and should be of type uint32_t. It holds the converted |
|
|
|
|
* ucs-4 character and should be a left value. |
|
|
|
|
* \param GET_BYTE gets utf-8 encoded bytes from any proper source. It can be |
|
|
|
|
* UCS-4 character and should be a left value. |
|
|
|
|
* \param GET_BYTE gets UTF-8 encoded bytes from any proper source. It can be |
|
|
|
|
* a function or a statement whose return value or evaluated value is of type |
|
|
|
|
* uint8_t. It will be executed up to 4 times for values in the valid utf-8 range, |
|
|
|
|
* uint8_t. It will be executed up to 4 times for values in the valid UTF-8 range, |
|
|
|
|
* and up to 7 times in the general case. |
|
|
|
|
* \param ERROR action that should be taken when an invalid utf-8 byte is returned |
|
|
|
|
* \param ERROR action that should be taken when an invalid UTF-8 byte is returned |
|
|
|
|
* from GET_BYTE. It should be a statement that jumps out of the macro, |
|
|
|
|
* like exit(), goto, return, break, or continue. |
|
|
|
|
*/ |
|
|
|
@ -233,17 +233,17 @@ static inline int ff_get_fourcc(const char *s){ |
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* \def PUT_UTF8(val, tmp, PUT_BYTE) |
|
|
|
|
* converts a 32-bit unicode character to its utf-8 encoded form (up to 4 bytes long). |
|
|
|
|
* converts a 32-bit unicode character to its UTF-8 encoded form (up to 4 bytes long). |
|
|
|
|
* \param val is an input only argument and should be of type uint32_t. It holds |
|
|
|
|
* a ucs4 encoded unicode character that is to be converted to utf-8. If |
|
|
|
|
* a ucs4 encoded unicode character that is to be converted to UTF-8. If |
|
|
|
|
* val is given as a function it's executed only once. |
|
|
|
|
* \param tmp is a temporary variable and should be of type uint8_t. It |
|
|
|
|
* represents an intermediate value during conversion that is to be |
|
|
|
|
* outputted by PUT_BYTE. |
|
|
|
|
* \param PUT_BYTE writes the converted utf-8 bytes to any proper destination. |
|
|
|
|
* \param PUT_BYTE writes the converted UTF-8 bytes to any proper destination. |
|
|
|
|
* It could be a function or a statement, and uses tmp as the input byte. |
|
|
|
|
* For example, PUT_BYTE could be "*output++ = tmp;" PUT_BYTE will be |
|
|
|
|
* executed up to 4 times for values in the valid utf-8 range and up to |
|
|
|
|
* executed up to 4 times for values in the valid UTF-8 range and up to |
|
|
|
|
* 7 times in the general case, depending on the length of the converted |
|
|
|
|
* unicode character. |
|
|
|
|
*/ |
|
|
|
|