This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 0438966d84deb34394df1929a53ab79fee5cc8d4 Author: Andreas Rheinhardt <[email protected]> AuthorDate: Mon Mar 9 06:03:12 2026 +0100 Commit: Andreas Rheinhardt <[email protected]> CommitDate: Tue Jun 23 19:13:06 2026 +0200 avcodec: Remove FF_API_V408_CODECID Deprecated on 2024-10-12. The output of the v410enc test changes because padding bits are now filled with 1s instead of zeroes and because bits_per_coded_sample changes to 30 (from 32), see https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22455#issuecomment-46213. Signed-off-by: Andreas Rheinhardt <[email protected]> --- libavcodec/allcodecs.c | 8 --- libavcodec/codec_desc.c | 25 --------- libavcodec/codec_id.h | 9 ---- libavcodec/v308dec.c | 82 ----------------------------- libavcodec/v308enc.c | 84 ------------------------------ libavcodec/v408dec.c | 82 ----------------------------- libavcodec/v408enc.c | 83 ------------------------------ libavcodec/v410dec.c | 125 --------------------------------------------- libavcodec/v410enc.c | 88 ------------------------------- libavcodec/version.c | 2 +- libavcodec/version_major.h | 1 - libavformat/isom_tags.c | 5 -- libavformat/movenc.c | 8 +-- libavformat/riff.c | 5 -- tests/fate/video.mak | 6 +-- tests/ref/fate/v410enc | 2 +- 16 files changed, 6 insertions(+), 609 deletions(-) diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 7a0224c7d6..b165a5925d 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -354,14 +354,6 @@ extern const FFCodec ff_utvideo_decoder; extern const FFCodec ff_v210_encoder; extern const FFCodec ff_v210_decoder; extern const FFCodec ff_v210x_decoder; -#if FF_API_V408_CODECID -extern const FFCodec ff_v308_encoder; -extern const FFCodec ff_v308_decoder; -extern const FFCodec ff_v408_encoder; -extern const FFCodec ff_v408_decoder; -extern const FFCodec ff_v410_encoder; -extern const FFCodec ff_v410_decoder; -#endif extern const FFCodec ff_vb_decoder; extern const FFCodec ff_vbn_encoder; extern const FFCodec ff_vbn_decoder; diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index 7a16d002b9..81c095bea7 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1146,15 +1146,6 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Dxtory"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, -#if FF_API_V408_CODECID - { - .id = AV_CODEC_ID_V410, - .type = AVMEDIA_TYPE_VIDEO, - .name = "v410", - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"), - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, - }, -#endif { .id = AV_CODEC_ID_XWD, .type = AVMEDIA_TYPE_VIDEO, @@ -1479,22 +1470,6 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, -#if FF_API_V408_CODECID - { - .id = AV_CODEC_ID_V308, - .type = AVMEDIA_TYPE_VIDEO, - .name = "v308", - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"), - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, - }, - { - .id = AV_CODEC_ID_V408, - .type = AVMEDIA_TYPE_VIDEO, - .name = "v408", - .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"), - .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, - }, -#endif { .id = AV_CODEC_ID_YUV4, .type = AVMEDIA_TYPE_VIDEO, diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h index 1aad9ba0e9..668a068efe 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -24,8 +24,6 @@ #include "libavutil/avutil.h" #include "libavutil/samplefmt.h" -#include "version_major.h" - /** * @addtogroup lavc_core * @{ @@ -206,9 +204,6 @@ enum AVCodecID { AV_CODEC_ID_BMV_VIDEO, AV_CODEC_ID_VBLE, AV_CODEC_ID_DXTORY, -#if FF_API_V408_CODECID - AV_CODEC_ID_V410, -#endif AV_CODEC_ID_XWD, AV_CODEC_ID_CDXL, AV_CODEC_ID_XBM, @@ -256,10 +251,6 @@ enum AVCodecID { AV_CODEC_ID_012V, AV_CODEC_ID_AVUI, AV_CODEC_ID_TARGA_Y216, -#if FF_API_V408_CODECID - AV_CODEC_ID_V308, - AV_CODEC_ID_V408, -#endif AV_CODEC_ID_YUV4, AV_CODEC_ID_AVRN, AV_CODEC_ID_CPIA, diff --git a/libavcodec/v308dec.c b/libavcodec/v308dec.c deleted file mode 100644 index 64876b7e5a..0000000000 --- a/libavcodec/v308dec.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * v308 decoder - * Copyright (c) 2011 Carl Eugen Hoyos - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "avcodec.h" -#include "codec_internal.h" -#include "decode.h" - -static av_cold int v308_decode_init(AVCodecContext *avctx) -{ - avctx->pix_fmt = AV_PIX_FMT_YUV444P; - - if (avctx->width & 1) - av_log(avctx, AV_LOG_WARNING, "v308 requires width to be even.\n"); - - av_log(avctx, AV_LOG_WARNING, "This decoder is deprecated and will be removed.\n"); - - return 0; -} - -static int v308_decode_frame(AVCodecContext *avctx, AVFrame *pic, - int *got_frame, AVPacket *avpkt) -{ - const uint8_t *src = avpkt->data; - uint8_t *y, *u, *v; - int i, j, ret; - - if (avpkt->size < 3 * avctx->height * avctx->width) { - av_log(avctx, AV_LOG_ERROR, "Insufficient input data.\n"); - return AVERROR(EINVAL); - } - - if ((ret = ff_get_buffer(avctx, pic, 0)) < 0) - return ret; - - y = pic->data[0]; - u = pic->data[1]; - v = pic->data[2]; - - for (i = 0; i < avctx->height; i++) { - for (j = 0; j < avctx->width; j++) { - v[j] = *src++; - y[j] = *src++; - u[j] = *src++; - } - - y += pic->linesize[0]; - u += pic->linesize[1]; - v += pic->linesize[2]; - } - - *got_frame = 1; - - return avpkt->size; -} - -const FFCodec ff_v308_decoder = { - .p.name = "v308", - CODEC_LONG_NAME("Uncompressed packed 4:4:4"), - .p.type = AVMEDIA_TYPE_VIDEO, - .p.id = AV_CODEC_ID_V308, - .init = v308_decode_init, - FF_CODEC_DECODE_CB(v308_decode_frame), - .p.capabilities = AV_CODEC_CAP_DR1, -}; diff --git a/libavcodec/v308enc.c b/libavcodec/v308enc.c deleted file mode 100644 index 884932da44..0000000000 --- a/libavcodec/v308enc.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * v308 encoder - * - * Copyright (c) 2011 Carl Eugen Hoyos - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "libavutil/intreadwrite.h" -#include "avcodec.h" -#include "codec_internal.h" -#include "encode.h" -#include "internal.h" - -static av_cold int v308_encode_init(AVCodecContext *avctx) -{ - if (avctx->width & 1) { - av_log(avctx, AV_LOG_ERROR, "v308 requires width to be even.\n"); - return AVERROR_INVALIDDATA; - } - - av_log(avctx, AV_LOG_WARNING, "This encoder is deprecated and will be removed.\n"); - - avctx->bits_per_coded_sample = 24; - avctx->bit_rate = ff_guess_coded_bitrate(avctx); - - return 0; -} - -static int v308_encode_frame(AVCodecContext *avctx, AVPacket *pkt, - const AVFrame *pic, int *got_packet) -{ - uint8_t *dst; - const uint8_t *y, *u, *v; - int i, j, ret; - - ret = ff_get_encode_buffer(avctx, pkt, avctx->width * avctx->height * 3, 0); - if (ret < 0) - return ret; - dst = pkt->data; - - y = pic->data[0]; - u = pic->data[1]; - v = pic->data[2]; - - for (i = 0; i < avctx->height; i++) { - for (j = 0; j < avctx->width; j++) { - *dst++ = v[j]; - *dst++ = y[j]; - *dst++ = u[j]; - } - y += pic->linesize[0]; - u += pic->linesize[1]; - v += pic->linesize[2]; - } - - *got_packet = 1; - return 0; -} - -const FFCodec ff_v308_encoder = { - .p.name = "v308", - CODEC_LONG_NAME("Uncompressed packed 4:4:4"), - .p.type = AVMEDIA_TYPE_VIDEO, - .p.id = AV_CODEC_ID_V308, - .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, - .init = v308_encode_init, - FF_CODEC_ENCODE_CB(v308_encode_frame), - CODEC_PIXFMTS(AV_PIX_FMT_YUV444P), -}; diff --git a/libavcodec/v408dec.c b/libavcodec/v408dec.c deleted file mode 100644 index 4bce5c7b67..0000000000 --- a/libavcodec/v408dec.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * v408 decoder - * Copyright (c) 2012 Carl Eugen Hoyos - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "avcodec.h" -#include "codec_internal.h" -#include "decode.h" - -static av_cold int v408_decode_init(AVCodecContext *avctx) -{ - avctx->pix_fmt = AV_PIX_FMT_YUVA444P; - - av_log(avctx, AV_LOG_WARNING, "This decoder is deprecated and will be removed.\n"); - - return 0; -} - -static int v408_decode_frame(AVCodecContext *avctx, AVFrame *pic, - int *got_frame, AVPacket *avpkt) -{ - const uint8_t *src = avpkt->data; - uint8_t *y, *u, *v, *a; - int i, j, ret; - - if (avpkt->size < 4 * avctx->height * avctx->width) { - av_log(avctx, AV_LOG_ERROR, "Insufficient input data.\n"); - return AVERROR(EINVAL); - } - - if ((ret = ff_get_buffer(avctx, pic, 0)) < 0) - return ret; - - y = pic->data[0]; - u = pic->data[1]; - v = pic->data[2]; - a = pic->data[3]; - - for (i = 0; i < avctx->height; i++) { - for (j = 0; j < avctx->width; j++) { - u[j] = *src++; - y[j] = *src++; - v[j] = *src++; - a[j] = *src++; - } - - y += pic->linesize[0]; - u += pic->linesize[1]; - v += pic->linesize[2]; - a += pic->linesize[3]; - } - - *got_frame = 1; - - return avpkt->size; -} - -const FFCodec ff_v408_decoder = { - .p.name = "v408", - CODEC_LONG_NAME("Uncompressed packed QT 4:4:4:4"), - .p.type = AVMEDIA_TYPE_VIDEO, - .p.id = AV_CODEC_ID_V408, - .init = v408_decode_init, - FF_CODEC_DECODE_CB(v408_decode_frame), - .p.capabilities = AV_CODEC_CAP_DR1, -}; diff --git a/libavcodec/v408enc.c b/libavcodec/v408enc.c deleted file mode 100644 index 4b6717a1fb..0000000000 --- a/libavcodec/v408enc.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * v408 encoder - * - * Copyright (c) 2012 Carl Eugen Hoyos - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "avcodec.h" -#include "codec_internal.h" -#include "encode.h" -#include "internal.h" - -static av_cold int v408_encode_init(AVCodecContext *avctx) -{ - avctx->bits_per_coded_sample = 32; - avctx->bit_rate = ff_guess_coded_bitrate(avctx); - - av_log(avctx, AV_LOG_WARNING, "This encoder is deprecated and will be removed.\n"); - - return 0; -} - -static int v408_encode_frame(AVCodecContext *avctx, AVPacket *pkt, - const AVFrame *pic, int *got_packet) -{ - uint8_t *dst; - const uint8_t *y, *u, *v, *a; - int i, j, ret; - - ret = ff_get_encode_buffer(avctx, pkt, avctx->width * avctx->height * 4, 0); - if (ret < 0) - return ret; - dst = pkt->data; - - y = pic->data[0]; - u = pic->data[1]; - v = pic->data[2]; - a = pic->data[3]; - - for (i = 0; i < avctx->height; i++) { - for (j = 0; j < avctx->width; j++) { - *dst++ = u[j]; - *dst++ = y[j]; - *dst++ = v[j]; - *dst++ = a[j]; - } - y += pic->linesize[0]; - u += pic->linesize[1]; - v += pic->linesize[2]; - a += pic->linesize[3]; - } - - *got_packet = 1; - return 0; -} - -static const enum AVPixelFormat pix_fmt[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; - -const FFCodec ff_v408_encoder = { - .p.name = "v408", - CODEC_LONG_NAME("Uncompressed packed QT 4:4:4:4"), - .p.type = AVMEDIA_TYPE_VIDEO, - .p.id = AV_CODEC_ID_V408, - .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, - .init = v408_encode_init, - FF_CODEC_ENCODE_CB(v408_encode_frame), - CODEC_PIXFMTS_ARRAY(pix_fmt), -}; diff --git a/libavcodec/v410dec.c b/libavcodec/v410dec.c deleted file mode 100644 index d3747c18e0..0000000000 --- a/libavcodec/v410dec.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * v410 decoder - * - * Copyright (c) 2011 Derek Buitenhuis - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "libavutil/common.h" -#include "libavutil/intreadwrite.h" -#include "avcodec.h" -#include "codec_internal.h" -#include "thread.h" - -typedef struct ThreadData { - AVFrame *frame; - const uint8_t *buf; - int stride; -} ThreadData; - -static av_cold int v410_decode_init(AVCodecContext *avctx) -{ - avctx->pix_fmt = AV_PIX_FMT_YUV444P10; - avctx->bits_per_raw_sample = 10; - - if (avctx->width & 1) { - if (avctx->err_recognition & AV_EF_EXPLODE) { - av_log(avctx, AV_LOG_ERROR, "v410 requires width to be even.\n"); - return AVERROR_INVALIDDATA; - } else { - av_log(avctx, AV_LOG_WARNING, "v410 requires width to be even, continuing anyway.\n"); - } - } - - av_log(avctx, AV_LOG_WARNING, "This decoder is deprecated and will be removed.\n"); - - return 0; -} - -static int v410_decode_slice(AVCodecContext *avctx, void *arg, int jobnr, int threadnr) -{ - ThreadData *td = arg; - AVFrame *pic = td->frame; - int stride = td->stride; - int thread_count = av_clip(avctx->thread_count, 1, avctx->height/4); - int slice_start = (avctx->height * jobnr) / thread_count; - int slice_end = (avctx->height * (jobnr+1)) / thread_count; - const uint8_t *src = td->buf + stride * slice_start; - uint16_t *y, *u, *v; - uint32_t val; - int i, j; - - y = (uint16_t*)pic->data[0] + slice_start * (pic->linesize[0] >> 1); - u = (uint16_t*)pic->data[1] + slice_start * (pic->linesize[1] >> 1); - v = (uint16_t*)pic->data[2] + slice_start * (pic->linesize[2] >> 1); - - for (i = slice_start; i < slice_end; i++) { - for (j = 0; j < avctx->width; j++) { - val = AV_RL32(src); - - u[j] = (val >> 2) & 0x3FF; - y[j] = (val >> 12) & 0x3FF; - v[j] = (val >> 22); - - src += 4; - } - - y += pic->linesize[0] >> 1; - u += pic->linesize[1] >> 1; - v += pic->linesize[2] >> 1; - } - - return 0; -} - -static int v410_decode_frame(AVCodecContext *avctx, AVFrame *pic, - int *got_frame, AVPacket *avpkt) -{ - ThreadData td; - const uint8_t *src = avpkt->data; - int ret; - int thread_count = av_clip(avctx->thread_count, 1, avctx->height/4); - - td.stride = avctx->width * 4; - if (avpkt->size < 4 * avctx->height * avctx->width) { - av_log(avctx, AV_LOG_ERROR, "Insufficient input data.\n"); - return AVERROR(EINVAL); - } - - if ((ret = ff_thread_get_buffer(avctx, pic, 0)) < 0) - return ret; - - td.buf = src; - td.frame = pic; - avctx->execute2(avctx, v410_decode_slice, &td, NULL, thread_count); - - *got_frame = 1; - - return avpkt->size; -} - -const FFCodec ff_v410_decoder = { - .p.name = "v410", - CODEC_LONG_NAME("Uncompressed 4:4:4 10-bit"), - .p.type = AVMEDIA_TYPE_VIDEO, - .p.id = AV_CODEC_ID_V410, - .init = v410_decode_init, - FF_CODEC_DECODE_CB(v410_decode_frame), - .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS | - AV_CODEC_CAP_FRAME_THREADS, -}; diff --git a/libavcodec/v410enc.c b/libavcodec/v410enc.c deleted file mode 100644 index 1350acebba..0000000000 --- a/libavcodec/v410enc.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * v410 encoder - * - * Copyright (c) 2011 Derek Buitenhuis - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "libavutil/common.h" -#include "libavutil/intreadwrite.h" -#include "avcodec.h" -#include "codec_internal.h" -#include "encode.h" -#include "internal.h" - -static av_cold int v410_encode_init(AVCodecContext *avctx) -{ - if (avctx->width & 1) { - av_log(avctx, AV_LOG_ERROR, "v410 requires width to be even.\n"); - return AVERROR_INVALIDDATA; - } - - avctx->bits_per_coded_sample = 32; - avctx->bit_rate = ff_guess_coded_bitrate(avctx); - - av_log(avctx, AV_LOG_WARNING, "This encoder is deprecated and will be removed.\n"); - - return 0; -} - -static int v410_encode_frame(AVCodecContext *avctx, AVPacket *pkt, - const AVFrame *pic, int *got_packet) -{ - uint8_t *dst; - const uint16_t *y, *u, *v; - uint32_t val; - int i, j, ret; - - ret = ff_get_encode_buffer(avctx, pkt, avctx->width * avctx->height * 4, 0); - if (ret < 0) - return ret; - dst = pkt->data; - - y = (uint16_t *)pic->data[0]; - u = (uint16_t *)pic->data[1]; - v = (uint16_t *)pic->data[2]; - - for (i = 0; i < avctx->height; i++) { - for (j = 0; j < avctx->width; j++) { - val = u[j] << 2; - val |= y[j] << 12; - val |= (uint32_t) v[j] << 22; - AV_WL32(dst, val); - dst += 4; - } - y += pic->linesize[0] >> 1; - u += pic->linesize[1] >> 1; - v += pic->linesize[2] >> 1; - } - - *got_packet = 1; - return 0; -} - -const FFCodec ff_v410_encoder = { - .p.name = "v410", - CODEC_LONG_NAME("Uncompressed 4:4:4 10-bit"), - .p.type = AVMEDIA_TYPE_VIDEO, - .p.id = AV_CODEC_ID_V410, - .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, - .init = v410_encode_init, - FF_CODEC_ENCODE_CB(v410_encode_frame), - CODEC_PIXFMTS(AV_PIX_FMT_YUV444P10), -}; diff --git a/libavcodec/version.c b/libavcodec/version.c index 07e8e47e44..3243ca2df7 100644 --- a/libavcodec/version.c +++ b/libavcodec/version.c @@ -31,7 +31,7 @@ const char av_codec_ffversion[] = "FFmpeg version " FFMPEG_VERSION; unsigned avcodec_version(void) { - static_assert(AV_CODEC_ID_PRORES_RAW == 274 && + static_assert(AV_CODEC_ID_JPEGXS == 272 && AV_CODEC_ID_PCM_SGA == 65572 && AV_CODEC_ID_ADPCM_SANYO == 69685 && AV_CODEC_ID_CBD2_DPCM == 81928 && diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h index f3d5880d55..e928e5bb2e 100644 --- a/libavcodec/version_major.h +++ b/libavcodec/version_major.h @@ -39,7 +39,6 @@ #define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 63) -#define FF_API_V408_CODECID (LIBAVCODEC_VERSION_MAJOR < 63) #define FF_API_CODEC_PROPS (LIBAVCODEC_VERSION_MAJOR < 63) #define FF_API_EXR_GAMMA (LIBAVCODEC_VERSION_MAJOR < 63) #define FF_API_INTRA_DC_PRECISION (LIBAVCODEC_VERSION_MAJOR < 63) diff --git a/libavformat/isom_tags.c b/libavformat/isom_tags.c index 556f0eeea4..c0c239d393 100644 --- a/libavformat/isom_tags.c +++ b/libavformat/isom_tags.c @@ -63,11 +63,6 @@ const AVCodecTag ff_codec_movvideo_tags[] = { { AV_CODEC_ID_AVRP, MKTAG('S', 'U', 'D', 'S') }, /* Avid DS Uncompressed */ { AV_CODEC_ID_V210, MKTAG('v', '2', '1', '0') }, /* uncompressed 10-bit 4:2:2 */ { AV_CODEC_ID_V210, MKTAG('b', 'x', 'y', '2') }, /* BOXX 10-bit 4:2:2 */ -#if FF_API_V408_CODECID - { AV_CODEC_ID_V308, MKTAG('v', '3', '0', '8') }, /* uncompressed 8-bit 4:4:4 */ - { AV_CODEC_ID_V408, MKTAG('v', '4', '0', '8') }, /* uncompressed 8-bit 4:4:4:4 */ - { AV_CODEC_ID_V410, MKTAG('v', '4', '1', '0') }, /* uncompressed 10-bit 4:4:4 */ -#endif { AV_CODEC_ID_Y41P, MKTAG('Y', '4', '1', 'P') }, /* uncompressed 12-bit 4:1:1 */ { AV_CODEC_ID_YUV4, MKTAG('y', 'u', 'v', '4') }, /* libquicktime packed yuv420p */ { AV_CODEC_ID_TARGA_Y216, MKTAG('Y', '2', '1', '6') }, diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 7c9dbb29f7..d5247ad45e 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -2806,11 +2806,6 @@ static int mov_write_video_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContex || (track->par->codec_id == AV_CODEC_ID_RAWVIDEO && track->par->format == AV_PIX_FMT_VYU444) || (track->par->codec_id == AV_CODEC_ID_RAWVIDEO && track->par->format == AV_PIX_FMT_UYVA) || (track->par->codec_id == AV_CODEC_ID_RAWVIDEO && track->par->format == AV_PIX_FMT_V30XLE) -#if FF_API_V408_CODECID - || track->par->codec_id == AV_CODEC_ID_V308 - || track->par->codec_id == AV_CODEC_ID_V408 - || track->par->codec_id == AV_CODEC_ID_V410 -#endif || track->par->codec_id == AV_CODEC_ID_V210); avio_wb32(pb, 0); /* size */ @@ -2852,8 +2847,7 @@ static int mov_write_video_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContex avio_w8(pb, strlen(compressor_name)); avio_write(pb, compressor_name, 31); - if (track->mode == MODE_MOV && - (track->par->codec_id == AV_CODEC_ID_V410 || track->par->codec_id == AV_CODEC_ID_V210)) + if (track->mode == MODE_MOV && track->par->codec_id == AV_CODEC_ID_V210) avio_wb16(pb, 0x18); else if (track->mode == MODE_MOV && track->par->bits_per_coded_sample) avio_wb16(pb, track->par->bits_per_coded_sample | diff --git a/libavformat/riff.c b/libavformat/riff.c index fc79d0ac21..21de951e3a 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -309,11 +309,6 @@ const AVCodecTag ff_codec_bmp_tags[] = { { AV_CODEC_ID_R210, MKTAG('r', '2', '1', '0') }, { AV_CODEC_ID_V210, MKTAG('v', '2', '1', '0') }, { AV_CODEC_ID_V210, MKTAG('C', '2', '1', '0') }, -#if FF_API_V408_CODECID - { AV_CODEC_ID_V308, MKTAG('v', '3', '0', '8') }, - { AV_CODEC_ID_V408, MKTAG('v', '4', '0', '8') }, - { AV_CODEC_ID_V410, MKTAG('v', '4', '1', '0') }, -#endif { AV_CODEC_ID_YUV4, MKTAG('y', 'u', 'v', '4') }, { AV_CODEC_ID_INDEO3, MKTAG('I', 'V', '3', '1') }, { AV_CODEC_ID_INDEO3, MKTAG('I', 'V', '3', '2') }, diff --git a/tests/fate/video.mak b/tests/fate/video.mak index 10d1b20cd5..fa7b202052 100644 --- a/tests/fate/video.mak +++ b/tests/fate/video.mak @@ -368,12 +368,12 @@ fate-ulti: CMD = framecrc -i $(TARGET_SAMPLES)/ulti/hit12w.avi -an FATE_VIDEO-$(call FRAMECRC, AVI, V210, SCALE_FILTER) += fate-v210 fate-v210: CMD = framecrc -i $(TARGET_SAMPLES)/v210/v210_720p-partial.avi -pix_fmt yuv422p16be -an -vf scale -FATE_VIDEO-$(call FRAMECRC, MOV, V410, SCALE_FILTER) += fate-v410dec +FATE_VIDEO-$(call FRAMECRC, MOV, RAWVIDEO, SCALE_FILTER) += fate-v410dec fate-v410dec: CMD = framecrc -i $(TARGET_SAMPLES)/v410/lenav410.mov -pix_fmt yuv444p10le -vf scale -FATE_VIDEO-$(call ENCDEC, V410 PGMYUV, AVI IMAGE2, SCALE_FILTER) += fate-v410enc +FATE_VIDEO-$(call ENCDEC, RAWVIDEO PGMYUV, AVI IMAGE2, SCALE_FILTER) += fate-v410enc fate-v410enc: $(VREF) -fate-v410enc: CMD = md5 -f image2 -c:v pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -fflags +bitexact -c:v v410 -f avi -vf scale +fate-v410enc: CMD = md5 -f image2 -c:v pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -fflags +bitexact -c:v rawvideo -pix_fmt v30xle -f avi -vf scale FATE_VIDEO-$(call FRAMECRC, SIFF, VB, SCALE_FILTER) += fate-vb fate-vb: CMD = framecrc -i $(TARGET_SAMPLES)/SIFF/INTRO_B.VB -t 3 -pix_fmt rgb24 -an -vf scale diff --git a/tests/ref/fate/v410enc b/tests/ref/fate/v410enc index 9fddf5a35c..cce8cb87f5 100644 --- a/tests/ref/fate/v410enc +++ b/tests/ref/fate/v410enc @@ -1 +1 @@ -465bcc7477104a8295f47b35f1b987df +8e7fcce494f16a3d1dd62eb475bd0e4e _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
