* commit 'b6a09ef700786b4e1e871dfa0f5c386ea43bbd0a':
rawvideo: Support decoding YVYU422 FourCC
See: ab7d6cb8f7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
| @@ -53,6 +53,7 @@ const PixelFormatTag ff_raw_pix_fmt_tags[] = { | |||||
| { AV_PIX_FMT_YUYV422, MKTAG('V', '4', '2', '2') }, | { AV_PIX_FMT_YUYV422, MKTAG('V', '4', '2', '2') }, | ||||
| { AV_PIX_FMT_YUYV422, MKTAG('V', 'Y', 'U', 'Y') }, | { AV_PIX_FMT_YUYV422, MKTAG('V', 'Y', 'U', 'Y') }, | ||||
| { AV_PIX_FMT_YUYV422, MKTAG('Y', 'U', 'N', 'V') }, | { AV_PIX_FMT_YUYV422, MKTAG('Y', 'U', 'N', 'V') }, | ||||
| { AV_PIX_FMT_YVYU422, MKTAG('Y', 'V', 'Y', 'U') }, /* Philips */ | |||||
| { AV_PIX_FMT_UYVY422, MKTAG('U', 'Y', 'V', 'Y') }, | { AV_PIX_FMT_UYVY422, MKTAG('U', 'Y', 'V', 'Y') }, | ||||
| { AV_PIX_FMT_UYVY422, MKTAG('H', 'D', 'Y', 'C') }, | { AV_PIX_FMT_UYVY422, MKTAG('H', 'D', 'Y', 'C') }, | ||||
| { AV_PIX_FMT_UYVY422, MKTAG('U', 'Y', 'N', 'V') }, | { AV_PIX_FMT_UYVY422, MKTAG('U', 'Y', 'N', 'V') }, | ||||
| @@ -219,7 +220,6 @@ const PixelFormatTag ff_raw_pix_fmt_tags[] = { | |||||
| /* special */ | /* special */ | ||||
| { AV_PIX_FMT_RGB565LE,MKTAG( 3 , 0 , 0 , 0 ) }, /* flipped RGB565LE */ | { AV_PIX_FMT_RGB565LE,MKTAG( 3 , 0 , 0 , 0 ) }, /* flipped RGB565LE */ | ||||
| { AV_PIX_FMT_YUV444P, MKTAG('Y', 'V', '2', '4') }, /* YUV444P, swapped UV */ | { AV_PIX_FMT_YUV444P, MKTAG('Y', 'V', '2', '4') }, /* YUV444P, swapped UV */ | ||||
| { AV_PIX_FMT_YUYV422, MKTAG('Y', 'V', 'Y', 'U') }, /* YUYV, swapped UV */ | |||||
| { AV_PIX_FMT_NONE, 0 }, | { AV_PIX_FMT_NONE, 0 }, | ||||
| }; | }; | ||||
| @@ -373,16 +373,6 @@ static int raw_decode(AVCodecContext *avctx, void *data, int *got_frame, | |||||
| line += picture->linesize[0]; | line += picture->linesize[0]; | ||||
| } | } | ||||
| } | } | ||||
| if (avctx->codec_tag == AV_RL32("YVYU") && | |||||
| avctx->pix_fmt == AV_PIX_FMT_YUYV422) { | |||||
| int x, y; | |||||
| uint8_t *line = picture->data[0]; | |||||
| for(y = 0; y < avctx->height; y++) { | |||||
| for(x = 0; x < avctx->width - 1; x += 2) | |||||
| FFSWAP(uint8_t, line[2*x + 1], line[2*x + 3]); | |||||
| line += picture->linesize[0]; | |||||
| } | |||||
| } | |||||
| if (avctx->field_order > AV_FIELD_PROGRESSIVE) { /* we have interlaced material flagged in container */ | if (avctx->field_order > AV_FIELD_PROGRESSIVE) { /* we have interlaced material flagged in container */ | ||||
| frame->interlaced_frame = 1; | frame->interlaced_frame = 1; | ||||
| @@ -115,4 +115,4 @@ yuvj422p aa97862b57f47c5a6506156e9aaf129a | |||||
| yuvj440p ff8b9884a49d546b035f5d2ac1e673df | yuvj440p ff8b9884a49d546b035f5d2ac1e673df | ||||
| yuvj444p b8142888d80b8065c54045839e79b331 | yuvj444p b8142888d80b8065c54045839e79b331 | ||||
| yuyv422 f06a4fbbdb32807d05de825daa2c3a1b | yuyv422 f06a4fbbdb32807d05de825daa2c3a1b | ||||
| yvyu422 168d69661ced61f5f58cca8977d99cb3 | |||||
| yvyu422 0a2dff23060639f0907dc6ca9288663c | |||||
| @@ -116,4 +116,4 @@ yuvj422p aa97862b57f47c5a6506156e9aaf129a | |||||
| yuvj440p ff8b9884a49d546b035f5d2ac1e673df | yuvj440p ff8b9884a49d546b035f5d2ac1e673df | ||||
| yuvj444p b8142888d80b8065c54045839e79b331 | yuvj444p b8142888d80b8065c54045839e79b331 | ||||
| yuyv422 f06a4fbbdb32807d05de825daa2c3a1b | yuyv422 f06a4fbbdb32807d05de825daa2c3a1b | ||||
| yvyu422 168d69661ced61f5f58cca8977d99cb3 | |||||
| yvyu422 0a2dff23060639f0907dc6ca9288663c | |||||
| @@ -116,4 +116,4 @@ yuvj422p 8cec955c1c62b00b6798361ef82962b7 | |||||
| yuvj440p 7b469444994d8b52766ee461bcb795ea | yuvj440p 7b469444994d8b52766ee461bcb795ea | ||||
| yuvj444p b395162325af489c465a3e6a31fbb0e7 | yuvj444p b395162325af489c465a3e6a31fbb0e7 | ||||
| yuyv422 1efb17cd0a48d2e956fd574ea6f412e7 | yuyv422 1efb17cd0a48d2e956fd574ea6f412e7 | ||||
| yvyu422 e3f928a98fb7e67c7d77d2a6a4eb0a24 | |||||
| yvyu422 9d46d5a2ba6ebab30668ff10a755b19c | |||||
| @@ -89,4 +89,4 @@ yuvj411p 09f79c56109a13eefb68ee729d9a624b | |||||
| yuvj422p 942043a34ac7d0f65edced1f6361259c | yuvj422p 942043a34ac7d0f65edced1f6361259c | ||||
| yuvj444p 7e4758df8eb9b18ad60e1b69a913f8c8 | yuvj444p 7e4758df8eb9b18ad60e1b69a913f8c8 | ||||
| yuyv422 6b0c70d5ebf1685857b65456c547ea1c | yuyv422 6b0c70d5ebf1685857b65456c547ea1c | ||||
| yvyu422 c19796b4f14fe72bbb5bbefa3566f444 | |||||
| yvyu422 abb45a7331e682d73c5b4e6488cf5ccd | |||||
| @@ -115,4 +115,4 @@ yuvj422p d20df6138cdf62d7f3b93eb1277827d6 | |||||
| yuvj440p 17a24a86f279febaebb66d65509088e8 | yuvj440p 17a24a86f279febaebb66d65509088e8 | ||||
| yuvj444p 326bb83d1aec23d941894a1324984c56 | yuvj444p 326bb83d1aec23d941894a1324984c56 | ||||
| yuyv422 f9121733169ca5437e95e7600a7c5aea | yuyv422 f9121733169ca5437e95e7600a7c5aea | ||||
| yvyu422 d38458e602ed958a262c38d757a7e560 | |||||
| yvyu422 0aedd8607f94e10de669fa89025c4cdb | |||||
| @@ -116,4 +116,4 @@ yuvj422p aa97862b57f47c5a6506156e9aaf129a | |||||
| yuvj440p ff8b9884a49d546b035f5d2ac1e673df | yuvj440p ff8b9884a49d546b035f5d2ac1e673df | ||||
| yuvj444p b8142888d80b8065c54045839e79b331 | yuvj444p b8142888d80b8065c54045839e79b331 | ||||
| yuyv422 f06a4fbbdb32807d05de825daa2c3a1b | yuyv422 f06a4fbbdb32807d05de825daa2c3a1b | ||||
| yvyu422 168d69661ced61f5f58cca8977d99cb3 | |||||
| yvyu422 0a2dff23060639f0907dc6ca9288663c | |||||
| @@ -116,4 +116,4 @@ yuvj422p 492452e50a3fe66724840cad29be4098 | |||||
| yuvj440p 7632893e81d3f4f3ace3755f97479897 | yuvj440p 7632893e81d3f4f3ace3755f97479897 | ||||
| yuvj444p 389388dd5d623f660c30ab840807ce82 | yuvj444p 389388dd5d623f660c30ab840807ce82 | ||||
| yuyv422 518be9b5ac93c365c0962453770fbe73 | yuyv422 518be9b5ac93c365c0962453770fbe73 | ||||
| yvyu422 bd9cfd830d357321864836f1afdf2e36 | |||||
| yvyu422 1a404e09336522f789ffdbb2afa6d65a | |||||
| @@ -116,4 +116,4 @@ yuvj422p a19a89ef145305cf224ef5aa247d075a | |||||
| yuvj440p 4240c9348d28af5f3edd0e642002bd2c | yuvj440p 4240c9348d28af5f3edd0e642002bd2c | ||||
| yuvj444p 9e11298ba9c4faae0f5c81420d2123f2 | yuvj444p 9e11298ba9c4faae0f5c81420d2123f2 | ||||
| yuyv422 867fff568fa4170503779c48e5f25e6e | yuyv422 867fff568fa4170503779c48e5f25e6e | ||||
| yvyu422 074a44d1d74c4417f70290f6b31bdf2e | |||||
| yvyu422 d40049001c7171638bb285f625cff264 | |||||