diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-05-20 15:12:10 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-05-21 12:56:11 +0200 |
commit | a90baa63c33fbba3d79f5c119fd4c7fad722d701 (patch) | |
tree | 106906571fe44a7d67356ec5fa0cd51e2f967d05 | |
parent | 1d8b1f0e51106c1a24cee565cd29ea469a1d83f8 (diff) | |
download | ffmpeg-a90baa63c33fbba3d79f5c119fd4c7fad722d701.tar.gz |
add YUVJ411P
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/utils.c | 1 | ||||
-rw-r--r-- | libavutil/pixdesc.c | 12 | ||||
-rw-r--r-- | libavutil/pixfmt.h | 1 | ||||
-rw-r--r-- | libswscale/utils.c | 4 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixdesc | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-copy | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-field | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-hflip | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-il | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-null | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-pad | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-scale | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-swapuv | 1 | ||||
-rw-r--r-- | tests/ref/fate/filter-pixfmts-vflip | 1 |
14 files changed, 28 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index c6442bb404..aa6d800f9c 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -263,6 +263,7 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, h_align = 16 * 2; // interlaced needs 2 macroblocks height break; case AV_PIX_FMT_YUV411P: + case AV_PIX_FMT_YUVJ411P: case AV_PIX_FMT_UYYVYY411: w_align = 32; h_align = 8; diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index 8ec6c53083..17f7e27af7 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -225,6 +225,18 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { }, .flags = AV_PIX_FMT_FLAG_PLANAR, }, + [AV_PIX_FMT_YUVJ411P] = { + .name = "yuvj411p", + .nb_components = 3, + .log2_chroma_w = 2, + .log2_chroma_h = 0, + .comp = { + { 0, 0, 1, 0, 7 }, /* Y */ + { 1, 0, 1, 0, 7 }, /* U */ + { 2, 0, 1, 0, 7 }, /* V */ + }, + .flags = AV_PIX_FMT_FLAG_PLANAR, + }, [AV_PIX_FMT_GRAY8] = { .name = "gray", .nb_components = 1, diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 1760ab14e1..b063251714 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -237,6 +237,7 @@ enum AVPixelFormat { AV_PIX_FMT_GBRAP, ///< planar GBRA 4:4:4:4 32bpp AV_PIX_FMT_GBRAP16BE, ///< planar GBRA 4:4:4:4 64bpp, big-endian AV_PIX_FMT_GBRAP16LE, ///< planar GBRA 4:4:4:4 64bpp, little-endian + AV_PIX_FMT_YUVJ411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) AV_PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions #if FF_API_PIX_FMT diff --git a/libswscale/utils.c b/libswscale/utils.c index 6bcd22600b..6324bc8f96 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -91,6 +91,7 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = { [AV_PIX_FMT_MONOBLACK] = { 1, 1 }, [AV_PIX_FMT_PAL8] = { 1, 0 }, [AV_PIX_FMT_YUVJ420P] = { 1, 1 }, + [AV_PIX_FMT_YUVJ411P] = { 1, 1 }, [AV_PIX_FMT_YUVJ422P] = { 1, 1 }, [AV_PIX_FMT_YUVJ444P] = { 1, 1 }, [AV_PIX_FMT_UYVY422] = { 1, 1 }, @@ -999,6 +1000,9 @@ static int handle_jpeg(enum AVPixelFormat *format) case AV_PIX_FMT_YUVJ420P: *format = AV_PIX_FMT_YUV420P; return 1; + case AV_PIX_FMT_YUVJ411P: + *format = AV_PIX_FMT_YUV411P; + return 1; case AV_PIX_FMT_YUVJ422P: *format = AV_PIX_FMT_YUV422P; return 1; diff --git a/tests/ref/fate/filter-pixdesc b/tests/ref/fate/filter-pixdesc index d0d2890f6c..c5d9d82960 100644 --- a/tests/ref/fate/filter-pixdesc +++ b/tests/ref/fate/filter-pixdesc @@ -105,6 +105,7 @@ yuva444p16be 52a9591ec0d5059e49b1b2803f8582aa yuva444p16le a9272ac197e4a4195662ce90f533976c yuva444p9be f72f646ef07cdab613420585aba041ac yuva444p9le 6d431b0a27bf4f86ea44ef5f14247a01 +yuvj411p 037accc8e48ac9928a580cddf444f129 yuvj420p 73661456012f20cda81207b14bb0c0a5 yuvj422p aa97862b57f47c5a6506156e9aaf129a yuvj440p ff8b9884a49d546b035f5d2ac1e673df diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy index 284ba78cee..7883b10ba9 100644 --- a/tests/ref/fate/filter-pixfmts-copy +++ b/tests/ref/fate/filter-pixfmts-copy @@ -108,6 +108,7 @@ yuva444p16be 52a9591ec0d5059e49b1b2803f8582aa yuva444p16le a9272ac197e4a4195662ce90f533976c yuva444p9be f72f646ef07cdab613420585aba041ac yuva444p9le 6d431b0a27bf4f86ea44ef5f14247a01 +yuvj411p 037accc8e48ac9928a580cddf444f129 yuvj420p 73661456012f20cda81207b14bb0c0a5 yuvj422p aa97862b57f47c5a6506156e9aaf129a yuvj440p ff8b9884a49d546b035f5d2ac1e673df diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field index a1b6c53e78..edf7abdb78 100644 --- a/tests/ref/fate/filter-pixfmts-field +++ b/tests/ref/fate/filter-pixfmts-field @@ -108,6 +108,7 @@ yuva444p16be ac5c17adeb0ef6730a0de1dbd1d14a1a yuva444p16le 41f1a82eb686d7191bdb00206f723247 yuva444p9be 413d01385a8b008031b2ab3ef0b9eff4 yuva444p9le 33ede0bd20bfd85489d266ac81d035d6 +yuvj411p dbcc5e7ef64335ad30b8b9717bfa63d9 yuvj420p 762dc6a157d0bee72da3e3d852668aef yuvj422p 8cec955c1c62b00b6798361ef82962b7 yuvj440p 7b469444994d8b52766ee461bcb795ea diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip index 83dc3f4488..a4036d452c 100644 --- a/tests/ref/fate/filter-pixfmts-hflip +++ b/tests/ref/fate/filter-pixfmts-hflip @@ -105,6 +105,7 @@ yuva444p16be 2dd545e4ddb0f134322eee1c1de4c2ff yuva444p16le 1e144cc9ea16429c1655c67e2f12f5c9 yuva444p9be e37fa0743bf720fbe31605714d7f7ad6 yuva444p9le 9bd4083c1384a55e91f02630161dc4c3 +yuvj411p 042671398bc17a5f52aa9d791b361c5c yuvj420p 86370b945c5d19d809ee92386d476a53 yuvj422p d3bda08bd4b92a256a8ec8432c4767d1 yuvj440p dbae7083c82f20a38fc55e6f8bc374bc diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il index b45ad5369b..8057ea8f55 100644 --- a/tests/ref/fate/filter-pixfmts-il +++ b/tests/ref/fate/filter-pixfmts-il @@ -107,6 +107,7 @@ yuva444p16be 45ec67a0828aedf18f1ed54fcfb0ff83 yuva444p16le 7b8e5963f19e6fe7fd409b34af014489 yuva444p9be 6d2905a9e61ce4ff5b3d7b972a7333eb yuva444p9le e2ffdb1d867a1b78f3bd38d600b17193 +yuvj411p 840bb5fc87ba0d3101d5c25b3f480923 yuvj420p d1a8d9cf6b4035ac5d6439ab2754b09d yuvj422p d20df6138cdf62d7f3b93eb1277827d6 yuvj440p 17a24a86f279febaebb66d65509088e8 diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null index 284ba78cee..7883b10ba9 100644 --- a/tests/ref/fate/filter-pixfmts-null +++ b/tests/ref/fate/filter-pixfmts-null @@ -108,6 +108,7 @@ yuva444p16be 52a9591ec0d5059e49b1b2803f8582aa yuva444p16le a9272ac197e4a4195662ce90f533976c yuva444p9be f72f646ef07cdab613420585aba041ac yuva444p9le 6d431b0a27bf4f86ea44ef5f14247a01 +yuvj411p 037accc8e48ac9928a580cddf444f129 yuvj420p 73661456012f20cda81207b14bb0c0a5 yuvj422p aa97862b57f47c5a6506156e9aaf129a yuvj440p ff8b9884a49d546b035f5d2ac1e673df diff --git a/tests/ref/fate/filter-pixfmts-pad b/tests/ref/fate/filter-pixfmts-pad index f8f8dd42cc..78858d2f2d 100644 --- a/tests/ref/fate/filter-pixfmts-pad +++ b/tests/ref/fate/filter-pixfmts-pad @@ -20,6 +20,7 @@ yuv444p 248bdf9747d5c3718580dc2279e2e273 yuva420p b5bdefbb0c5b302b6d18ee4df7c1d7c7 yuva422p 8b56b36d9eb3c382d2a5a695107e759d yuva444p 389cf95e98bf24684a42d5d67b913e16 +yuvj411p 5f10066e6a85d4785064ccdbb7259775 yuvj420p d182ac937d312e4894c1bc548883bf1c yuvj422p 26ac91b5daf6f2f1f3c22be489e994a3 yuvj440p 63e2b94f81e0a6f2868055a4c8258b63 diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale index dd3e9fadda..3079a74e3f 100644 --- a/tests/ref/fate/filter-pixfmts-scale +++ b/tests/ref/fate/filter-pixfmts-scale @@ -108,6 +108,7 @@ yuva444p16be 36a8797545163c24fc0d73f669c3108c yuva444p16le c017c229aacb832a12c2297fb080a7a0 yuva444p9be 8bfb5decfc8b71478b090a5b48c316c3 yuva444p9le 2c7bfb90f7db9faab6862537801e1143 +yuvj411p 4e37fb8600e001c387bc67cd8cf8ce33 yuvj420p 31386dce60a2dcc493da5d0ed9d880df yuvj422p 492452e50a3fe66724840cad29be4098 yuvj440p 7632893e81d3f4f3ace3755f97479897 diff --git a/tests/ref/fate/filter-pixfmts-swapuv b/tests/ref/fate/filter-pixfmts-swapuv index 2474171509..7bc3e3d3f4 100644 --- a/tests/ref/fate/filter-pixfmts-swapuv +++ b/tests/ref/fate/filter-pixfmts-swapuv @@ -55,6 +55,7 @@ yuva444p16be 5722e1a5b09b3808e5bbd9a7db1add49 yuva444p16le 342725e837355d66019ec05ffa5b6c4c yuva444p9be bcea6ad30ced293dbba9d7a6780d52ec yuva444p9le bbd56cf86dadd7db8625d3679c6acc45 +yuvj411p 8c6457a0ec6d796884e88f88ae17c9e3 yuvj420p 06d3226d86dbd01cd359d8a1507d0e6b yuvj422p 8f87a2f4261297545b53b3f237c5bf1a yuvj440p 92c7d84f41d703878ae53911d03d23c9 diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip index 1c2c8e6ba8..2b7545a365 100644 --- a/tests/ref/fate/filter-pixfmts-vflip +++ b/tests/ref/fate/filter-pixfmts-vflip @@ -108,6 +108,7 @@ yuva444p16be 4699a802e8ea3e74e968122980c0b0b0 yuva444p16le 6f54a8cff38c54a235b92a0f1314e0aa yuva444p9be 7472bb4b0c774d5d741035086d5e4330 yuva444p9le ae11ddd5a3e8d69a36989f6f2a8897a1 +yuvj411p be518349f35aa67e048b854ff2da60c4 yuvj420p 200b0332de9944e76c94d2e0699a5a2d yuvj422p a19a89ef145305cf224ef5aa247d075a yuvj440p 4240c9348d28af5f3edd0e642002bd2c |