]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/qtrleenc.c
Port pred8x8l_horizontal_down_mmxext (H.264 intra prediction) from x264
[ffmpeg] / libavcodec / qtrleenc.c
index b302964b98586c4ee57263fb3c050bc10bb97668..aea0f68a6499009a31ee50551cd88c038240f3d0 100644 (file)
@@ -22,6 +22,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavcore/imgutils.h"
 #include "avcodec.h"
 #include "bytestream.h"
 
@@ -62,18 +63,21 @@ static av_cold int qtrle_encode_init(AVCodecContext *avctx)
 {
     QtrleEncContext *s = avctx->priv_data;
 
-    if (avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0) {
+    if (av_image_check_size(avctx->width, avctx->height, 0, avctx) < 0) {
         return -1;
     }
     s->avctx=avctx;
 
     switch (avctx->pix_fmt) {
-/*    case PIX_FMT_RGB555:
+    case PIX_FMT_RGB555BE:
         s->pixel_size = 2;
-        break;*/
+        break;
     case PIX_FMT_RGB24:
         s->pixel_size = 3;
         break;
+    case PIX_FMT_ARGB:
+        s->pixel_size = 4;
+        break;
     default:
         av_log(avctx, AV_LOG_ERROR, "Unsupported colorspace.\n");
         break;
@@ -101,7 +105,7 @@ static av_cold int qtrle_encode_init(AVCodecContext *avctx)
 }
 
 /**
- * Computes the best RLE sequence for a line
+ * Compute the best RLE sequence for a line
  */
 static void qtrle_encode_line(QtrleEncContext *s, AVFrame *p, int line, uint8_t **buf)
 {
@@ -232,7 +236,7 @@ static void qtrle_encode_line(QtrleEncContext *s, AVFrame *p, int line, uint8_t
     bytestream_put_byte(buf, -1); // end RLE line
 }
 
-/** Encodes frame including header */
+/** Encode frame including header */
 static int encode_frame(QtrleEncContext *s, AVFrame *p, uint8_t *buf)
 {
     int i;
@@ -319,12 +323,12 @@ static av_cold int qtrle_encode_end(AVCodecContext *avctx)
 
 AVCodec qtrle_encoder = {
     "qtrle",
-    CODEC_TYPE_VIDEO,
+    AVMEDIA_TYPE_VIDEO,
     CODEC_ID_QTRLE,
     sizeof(QtrleEncContext),
     qtrle_encode_init,
     qtrle_encode_frame,
     qtrle_encode_end,
-    .pix_fmts = (enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_NONE},
+    .pix_fmts = (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB555BE, PIX_FMT_ARGB, PIX_FMT_NONE},
     .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
 };