[FFmpeg-devel] [PATCH] lavu/stereo3d: add serialization and deserialization functions

James Almer jamrial at gmail.com
Tue Oct 27 17:24:44 CET 2015


On 10/27/2015 5:35 AM, Rodger Combs wrote:
> 
>> On Oct 26, 2015, at 15:01, James Almer <jamrial at gmail.com> wrote:
>>
>> On 10/26/2015 4:45 PM, Rodger Combs wrote:
>>> diff --git a/libavutil/stereo3d.h b/libavutil/stereo3d.h
>>> index 1135dc9..8b8aced 100644
>>> --- a/libavutil/stereo3d.h
>>> +++ b/libavutil/stereo3d.h
>>> @@ -149,4 +149,51 @@ AVStereo3D *av_stereo3d_alloc(void);
>>>  */
>>> AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame);
>>>
>>> +/**
>>> + * Parse a string to an AVStereo3D struct.
>>> + *
>>> + * @param stereo3d struct to fill
>>> + * @param name name to parse, in the format returned by av_bprint_stereo3d() with
>>> + *             humanize = 0
>>> + * @return 0 on success; negative AVERROR code on error.
>>> + */
>>> +int av_get_stereo3d(AVStereo3D *stereo3d, const char *name);
>>> +
>>> +/**
>>> + * Return a description of an AVStereo3D.
>>> + *
>>> + * @param buf buffer to write into
>>> + * @param buf_size size in bytes of the buffer
>>> + * @param stereo3d the struct to describe
>>> + * @param humanize if non-zero, returns a human-readable string; see av_bprint_stereo3d()
>>> + */
>>> +void av_get_stereo3d_string(char *buf, int buf_size, AVStereo3D *stereo3d, int humanize);
>>> +
>>> +struct AVBPrint;
>>> +/**
>>> + * Append a description of an AVStereo3D to a bprint buffer.
>>> + *
>>> + * @param bp buffer to write into
>>> + * @param stereo3d the struct to describe
>>> + * @param humanize if non-zero, append a human-readable string. Otherwise, append a
>>> +                   machine-readable string that can be parsed with av_get_stereo3d().
>>> + */
>>> +void av_bprint_stereo3d(struct AVBPrint *bp, const AVStereo3D *stereo3d, int humanize);
>>
>> Shouldn't the exported symbols be all av_stereo3d_*?
>>
>> Something like av_stereo3d_init(), av_stereo3d_get_string() and av_stereo3d_set_string()
>> would be better.
>>
> 
> How about av_stereo3d_parse_string and av_stereo3d_set_string?

Sure.

> 
> Do you think it should be av_bprint_stereo3d or av_stereo3d_bprint?
> There's not a lot of precedent for this stuff; I based most of the names on channel_layout APIs.

Since there's a precedent then the former should be ok.

> 
>>> +
>>> +/**
>>> + * Get the name of a given AVStereo3DType.
>>> + *
>>> + * @return type name on success, NULL on error.
>>> + */
>>> +const char *av_stereo3d_type_get_name(enum AVStereo3DType type);
>>> +
>>> +/**
>>> + * Get the description of a given AVStereo3DType.
>>> + *
>>> + * @return type description on success, NULL on error.
>>> + */
>>> +const char *av_stereo3d_type_get_description(enum AVStereo3DType type);
>>> +
>>> +
>>> +
>>> #endif /* AVUTIL_STEREO3D_H */
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 



More information about the ffmpeg-devel mailing list