[FFmpeg-devel] [PATCH 1/4] avcodec/proresdec2: change profile only if it is unknown

Michael Niedermayer michael at niedermayer.cc
Fri Dec 7 11:19:50 EET 2018


On Wed, Dec 05, 2018 at 09:22:48PM +0100, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavcodec/proresdec2.c | 51 ++++++++++++++++++++++-------------------
>  1 file changed, 27 insertions(+), 24 deletions(-)
> 
> diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c
> index 8581d797fb..80a76bbba1 100644
> --- a/libavcodec/proresdec2.c
> +++ b/libavcodec/proresdec2.c
> @@ -140,32 +140,35 @@ static av_cold int decode_init(AVCodecContext *avctx)
>@@ -140,6 +140,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
> 
>     avctx->bits_per_raw_sample = 10;
> 
>+    if (avctx->profile == FF_PROFILE_UNKNOWN) {
>         switch (avctx->codec_tag) {
>         case MKTAG('a','p','c','o'):
>             avctx->profile = FF_PROFILE_PRORES_PROXY;
>@@ -155,16 +156,18 @@ static av_cold int decode_init(AVCodecContext *avctx)
>             break;
>         case MKTAG('a','p','4','h'):
>             avctx->profile = FF_PROFILE_PRORES_4444;
>-        avctx->bits_per_raw_sample = 12;
>             break;
>         case MKTAG('a','p','4','x'):
>             avctx->profile = FF_PROFILE_PRORES_XQ;
>-        avctx->bits_per_raw_sample = 12;
>             break;
>         default:
>-        avctx->profile = FF_PROFILE_UNKNOWN;
>             av_log(avctx, AV_LOG_WARNING, "Unknown prores profile %d\n", avctx->codec_tag);
>         }
>+    }
>+
>+    if (avctx->profile == FF_PROFILE_PRORES_XQ ||
>+        avctx->profile == FF_PROFILE_PRORES_4444)
>+        avctx->bits_per_raw_sample = 12;

with this it would be possible to have 12bit output while the profile
is set to one having 10bits and vice versa ?

maybe the profile should only be left if it is compatible with the
decoder output

         
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

During times of universal deceit, telling the truth becomes a
revolutionary act. -- George Orwell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20181207/a36a911f/attachment.sig>


More information about the ffmpeg-devel mailing list