[FFmpeg-devel] [PATCH 2/2] avcodec/libaomdec: export chroma sample location
James Almer
jamrial at gmail.com
Tue Sep 18 02:11:54 EEST 2018
On 9/17/2018 7:52 PM, Mark Thompson wrote:
> On 16/09/18 19:29, James Almer wrote:
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>> libavcodec/libaomdec.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c
>> index 2530c9f76b..a21cace164 100644
>> --- a/libavcodec/libaomdec.c
>> +++ b/libavcodec/libaomdec.c
>> @@ -89,7 +89,11 @@ static int set_pix_fmt(AVCodecContext *avctx, struct aom_image *img)
>> static const enum AVColorRange color_ranges[] = {
>> AVCOL_RANGE_MPEG, AVCOL_RANGE_JPEG
>> };
>> + static const enum AVColorRange chroma_locations[] = {
>> + AVCHROMA_LOC_UNSPECIFIED, AVCHROMA_LOC_LEFT, AVCHROMA_LOC_TOPLEFT, AVCHROMA_LOC_UNSPECIFIED
>> + };
>> avctx->color_range = color_ranges[img->range];
>> + avctx->chroma_sample_location = chroma_locations[img->csp];
>
> I would suggest for future compatibility that it probably shouldn't invoke undefined behaviour if the value is not in the range 0-3?
>
> (While I assume the limited choice of locations here was deliberate, the fact that you can't encode a sequence of JPEGs without resampling seems slightly crazy to me so more being added in future would not be a surprise.)
It's unlikely they'll ever implement anything like that. Even assigning
something for the value 3 (like center as you said), which is currently
reserved, might require a new version of the bitstream defining new
profiles. Not to mention adding even more values, which would require
changing the Sequence Header to make the field wider than two bits.
I personally don't really see that happening, but I'll add a img->csp <=
AOM_CSP_COLOCATED check anyway.
>
>> avctx->color_primaries = img->cp;
>> avctx->colorspace = img->mc;
>> avctx->color_trc = img->tc;
>>
>
> LGTM otherwise.
>
> Thanks,
>
> - Mark
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
More information about the ffmpeg-devel
mailing list