

u32 SSP_StartJpegEncoder(const void* src, u8 *dst, u32 limit, u8 *wrk, u32 width, u32 height, u32 quality, u32 sampling, u32 option);
| src | エンコードする画像データ (RGB555 もしくは YUV422)。4バイトアライメントでなければなりません。 |
| dst | エンコード結果を格納するバッファ |
| limit | dstのサイズ このサイズを超えるとエンコードに失敗します。 |
| wrk | 作業用バッファ。4バイトアライメントでなければなりません。SSP_GetJpegEncoderBufferSize()で必要なサイズが計算できます。 |
| width | エンコードする画像の横幅(pixel) |
| height | エンコードする画像の縦幅(pixel) |
| quality | エンコードのクオリティ 1〜100 まで指定可能であり、100 に近づくほど高画質になりサイズが大きくなります。 |
| sampling | 主画像の出力形式 (SSP_JPEG_OUTPUT_YUV444 / SSP_JPEG_OUTPUT_YUV420 / SSP_JPEG_OUTPUT_YUV422) |
| option | エンコードオプション (SSP_JPEG_RGB555 / SSP_JPEG_YUV422 / SSP_JPEG_THUMBNAIL) |
成功ならば、生成されたJPEGファイルのサイズが返ってくる。
失敗した場合は 0 が返る。
画像データをJPEGファイルにエンコードします。
エンコードする画像データは RGB555、YUV422 が使用できます。YUV422 の画像データを src に指定した場合は、必ず option に SSP_JPEG_YUV422 を指定するようにしてください。
サムネイル付きのエンコードを行いたい場合は、SSP_JPEG_THUMBNAIL を option に指定する必要があります。
そのため、YUV422 の画像をサムネイル付きでエンコードする場合は、SSP_JPEG_YUV422|SSP_JPEG_THUMBNAIL を option に指定します。
本関数でエンコードできる画像の縦横サイズは sampling の値によって変わります。
SSP_JPEG_OUTPUT_YUV444 を指定した場合は、縦横サイズがそれぞれ8の倍数である必要があります。
SSP_JPEG_OUTPUT_YUV420 を指定した場合は、縦横サイズがそれぞれ16の倍数である必要があります。
SSP_JPEG_OUTPUT_YUV422 を指定した場合は、縦サイズが8の倍数、横サイズが16の倍数である必要があります。
注意:
本関数は完了後にエンコードの成功、失敗問わず、SSP_SetJpegEncoderDateTime(),SSP_SetJpegEncoderDateTimeNow(),SSP_SetJpegEncoderMakerNote(),SSP_SetJpegEncoderMakerNoteEx() で設定した値はクリアされます。
また、本関数は事前に SSP_SetJpegEncoderDateTime() もしくは SSP_SetJpegEncoderDateTimeNow() を呼び出していない場合、内部で SSP_GetDateTime() が呼ばれます。
SSP_SetJpegEncoderDateTime,
SSP_SetJpegEncoderDateTimeNow,
SSP_SetJpegEncoderMakerNote,
SSP_SetJpegEncoderMakerNoteEx,
SSP_GetDateTime,
SSP_GetJpegEncoderBufferSize
2009/07/16 関数の内部動作にあった説明に変更
2009/04/28 アライメントの制限について追記
2008/11/04 関数の完了後にクリアされる値について追記
2008/10/15 エンコードできる画像の縦横サイズの制限について追記
2008/10/09 RSFファイルの設定について追記
2008/09/15 初版